meili 发表于 2022-10-27 12:47:24

【阿姆达定律主要用于平衡计算机的什么方向指标?】

<p>问题:【阿姆达定律主要用于平衡计算机的什么方向指标?】
<p>答案:↓↓↓<p class="nav-title mt10" style="border-top:1px solid #ccc;padding-top: 10px;">田尊华的回答:<div class="content-b">网友采纳  阿姆达定律讲的是这么一件事:一个程序存在两部分,只能串行计算的部分S,和能够并行计算地部分P.两部分之和是整个程序,因此S+P=1.这个程序如果在一个具有N个核心的处理器上运行,那么和它在一个单核处理器上运行相比,速度的提升是1/(S+P/N).当N趋近于无穷大时(即假设我们有无穷多个核心),速度提升的上限是1/S,即速度提升的上限取决于程序不能被并行计算的部分.  这个定律的结果就是,即便我们能够有效地并行计算一个程序的95%,剩下5%只能串行计算的部分限制了这个程序的运行速度最多能提升1/5%=20倍.而现有的程序中很少能够做到95%以上部分的并行计算.下面这张图显示了对于4种不同类型的程序(分别有50%,75%,90%,95%的部分能够并行处理)的速度提升相对于处理器核心数量的关系,纵轴是相对于单核处理器速度提升的倍数,横轴是处理器核心的数量.可以看到4条曲线随着处理器核心数量的增加逐渐趋于平坦.
页: [1]
查看完整版本: 【阿姆达定律主要用于平衡计算机的什么方向指标?】