真的没有免费的午餐了吗?多核系统的可扩展性:系列白皮书之第一篇 4

majiajun_no_5 2008-09-23 01:54:31
除了这些标准教科书上提出的考虑因素外,现实中的情形可能会更糟:阿姆达尔的理想表达式中忽略了线程创建开销、同步和通信带来的性能下降,因此在这些图表中即使达到了兆级扩展也无法实现理想的“执行”。因此,我们只能寄希望于并行应用,尤其是在数量庞大的内核上高效执行并行应用。

2.2 再评阿姆达尔定律(小心隐性假设)
早在 1998 年,John Gustafson 便指出了阿姆达尔定律的主要缺陷:它假定问题大小增加时,计算工作负载或者串行和并行比例扩展是固定不变的。

替代方案,通常称为 Scaled Speedup,不再考虑一定时间段内问题大小的增加,其表达式如下:





换言之,一定数量处理器 p 的加速值是该数值 p 加上串行运行 s 上消耗的并行代码部分(1-p)。这与阿姆达尔定律有细微区别:s 表示应用在 p 处理器上运行时的串行工作。

开发人员从查看特定案例的扩展数值中得到了启发。假设一个应用在 64 枚内核上运行,时间经测量为 220 秒,其中 11 秒定义(如通过设置文件)专门用于串行执行。在 Scaled Speedup 公式中代入这些数值,得出:



这就是说,应用在 64 枚内核上运行时加速值接近 61。如果将相同的串行时间值 0.05 套入阿姆达尔定律,该等式预测的应用在 64 枚内核上的加速值仅为 15。

尽管与阿姆达尔定律一样理想化,但 Scaled Speedup 模式戏剧性地揭露了一个有关可扩展性的更乐观的前景。

...全文
143 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
laxila 2008-09-30
  • 打赏
  • 举报
回复
非常好,学习过了,谢谢楼主呀!!!
majiajun_no_2 2008-09-29
  • 打赏
  • 举报
回复
我同意 支持一下
majiajun_no_13 2008-09-28
  • 打赏
  • 举报
回复
潜水多年,今日上岸,继续学习
formajia8 2008-09-26
  • 打赏
  • 举报
回复
发现这帖子里有n多牛人,先留个记号!


majiajun_no_9 2008-09-25
  • 打赏
  • 举报
回复
拜访楼主
converf 2008-09-25
  • 打赏
  • 举报
回复
很有道理值得学习
lehedele 2008-09-24
  • 打赏
  • 举报
回复
N多高人牛人....此帖让我受益匪浅,值得收藏! 继续关注....
zhsj64 2008-09-23
  • 打赏
  • 举报
回复
恩,不错,值得义学

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧