40、使用多维求解器实现最优数据分区

使用多维求解器实现最优数据分区

在动态环境或可用处理器及其性能特征可能发生变化的任何其他环境中,数据分区算法对于优化计算资源的利用至关重要。本文将介绍传统的数据分区算法,并提出一种基于多维求解器的新算法,同时展示其在动态负载平衡中的应用。

1. 传统分段线性近似与几何数据分区算法

1.1 处理器速度的函数表示

处理器的速度可以用关于问题规模的正连续函数来表示。设 (p) 个处理器的速度分别由函数 (s_1(x), \cdots, s_p(x)) 表示,其中 (s_i(x) = \frac{x}{t_i(x)}),(t_i(x)) 是处理器 (i) 处理 (x) 个元素的执行时间。速度函数定义在区间 ([0, n]) 上,(n) 是要分区的问题规模。

当所有处理器同时完成工作时,可实现最优数据分区,即 (t_1(x_1) \approx \cdots \approx t_p(x_p)),可表示为 (\frac{x_1}{s_1(x_1)} = \cdots = \frac{x_p}{s_p(x_p)}),且 (x_1 + x_2 + \cdots + x_p = n)。

1.2 基于几何解的数据分区算法

该算法基于上述问题的几何解,假设任何过坐标系原点的直线与速度函数仅相交一次。算法步骤如下:
1. 选择解空间的两个外边界作为算法的起点。上边界线表示某个问题规模 (n_u < n) 的最优数据分布 (d_1^u, \cdots, d_p^u),下边界线表示问题规模 (n_l > n) 的解 (d_1^l, \cdots, d_p^l)。
2. 迭代地对两条线之间的区域进行二分。在第

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值