- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
并行算法与并行程序设计第02章 并行算法.ppt
* MIMD算法根据其同步性可分为同步MIMD和异步MIMD。 * while |u-l|e do { d = (u-l)/(n+1); for all Pi i=1…n do y[i] = f( l+i*d ); i = 0; while( y[i]与y[i+1]同号 ) { l += d; i++; } u = l+d; y[n+1] = y[i+1]; } z = (l+u)/2; * for all Pi i=0...n-1 do { k=0; for (j=0; jn; j++) { if(x[i]==x[j]) k++; else if(x[i]==x[j] ij) k++; } T[k] = x[i]; } * 理想情况下,计算时间为: t(n) = ( n + n/2 + n/4 + … + n/(p/2) ) + n/p + 2*( n/2p ) + 4*( n/4p ) + … + ((n/2)/p)*( n/(n/2) ) = n*( 2( 1 – 1/p ) + ( logn – logp )/p ) 工作量:p*t(n) = O( np + nlogn ),当p远小于logn时,接近工作量有效。 * 分治的关键在于问题的分解和子问题解的归并,尤其是解的归并。 * 采用每个处理单元(进程)负责剔出一个数的倍数的方法并不高效的,1994年Quinn指出这种方法的加速比的上限大约是2.83。 一种改进方法是用每个处理单元(进程)负责易出一定范围内的倍数。 十六、递归的并行随机消元法 递归消元 可见,在递归消元过程中,被消去元的前缀值累积到了后面的元素上;在递归返回时,回收的元素从前面的元素中获得了尚未被累积的前缀值。因此保证了在递归结束时,每个元素都获得了其前面的所有元素的前缀累积值。 并行消元时的两条原则保证了消元过程中不会出现冲突,且消元和回收都可以在O(1)时间内完成。 十六、递归的并行随机消元法 选择待消元的方法 在两条消元原则下,消去尽量多的元素,且耗费时间尽量少,最好是O(1)。因此可以采用随机消元法。方法如下: (1) 各处理器从所分管的元素中挑选一个未消去的元素作为候选元素; (2) 随机地(抛硬币)决定是否给该元素打一个标记; (3) 如果元素被标记,而元素next未标记,则消去该元素,否则不消去该元素; 十六、递归的并行随机消元法 算法分析 在每一个递归步中,每个处理器以至少1/4的概率消去一个元素,对p个处理器,每个处理器分管n/p个元素,因此在高概率下,消元的期望时间为O(n/p)。则总工作量为O(n)。 十七、确定性破对称技术 基本概念 破对称:打破并行操作的对称性,即避免两个处理器同时被分派对同一个单元进行处理或同时不被分派进行处理。前面的随机消元中的抛硬币方法就是一种不确定的破对称技术。 确定性破对称技术:利用处理器的编号来打破对称性。例如前面的例子中,通过让下标较小的处理器先访问来打破对称性。 十七、确定性破对称技术 确定性破对称算法 要求从静态链表中选出一部分元素,这部分元素在链表中两两不相邻,且数目是链表中元素总数的常分数倍。 n个处理器和O(log*n)的计算时间,其中log*n定义为: log*x = min{ i | log(i)x=1, i=0 }; log(i)x定义为: 对1≤n≤265536,有0≤log*n≤5,因此对一般的实际应用,log*n是一个小常数。 十七、确定性破对称技术 确定性破对称算法 确定性破对称算法分为两个部分: 第一部分:在O(log*n)时间内给出链表的“6-着色”。 第二部分:将6-着色转化为表的一个“极大独立集”,该极大独立集将至少包含链表中的n/3个元素,且这些元素中任何两个元素在链表中不相邻。 十七、确定性破对称技术 无向图着色与极大独立集 无向图G=(V, E)的一个着色是一个映射C:V?N,使得对所有u, v∈V,如果C(u)=C(v),则(u, v)不属于E,即相邻点不同色。 在链表上进行6-着色,可用的颜色号为{0, 1, 2, 3, 4, 5 },且相邻元素不同色。 虽然可以用O(logn)的时间并行地对链表进行2-着色,将奇、偶元素分别着以不同的颜色,但通常只要有一种O(1)的着色就可以了。 下面的算法在O(log*n)的时间对n个元素的链表进行6-着色。 十七、确定性破对称技术 无向图着色与极大独立集 G=(V, E)的一个独立集是其顶点集V的一个子集V’,使得E中的每条边最多只与V’中的一个顶点相关联。极大独立集是一个不能再并入其他任何顶点的独立集。最大独立集是图G的一个规模最大的独立集。求极大独立集是一个易解的问题,求最大独立集却是一个NP-完全问题。
文档评论(0)