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

majiajun_no_5 2008-09-23 01:45:23
2.预测可扩展性
术语“可扩展性”在 Werner Vogels 的博客中给出了详尽而准确的定义:

当我们增加系统资源时,系统性能会成比例提升的一项可扩展服务。

该概念的适用范围非常广泛。可扩展性是数据中心的重点考虑因素,例如预测添加更多服务器或执行虚拟化带来的影响等。本文中,我们仅狭义地关注 CPU 内核资源的增加,并讨论内容限制的线程执行模式。

Sutter 还提醒我们:“内核”不仅是执行资源,还可以当作内存资源。鉴于当前所有软件设计中都有本地高速缓存,我们将在第三章阐述内核在这两个方面的扩展考虑因素。

2.1 形势严峻(阿姆达尔是一位乐观主义者)
说到可扩展性,几乎每次都必然要从“阿姆定律”说起。下列等式表明:串行代码不是并行代码(或反之),您不能通过添加更多内核的方式来加速串行代码。该等式的常见表达式为:



加速值作为处理单元数量函数 p,取决于代码串行部分 s 的值以及可并行部分 (1-s) 的值。例如,假设一个代码 90% 可并行(则 s = 0.1),在 8 枚内核上运行(则 p = 8),那么加速值为 4.7。该数值就是在此情形中可以实现的最大可能的加速值。图 1 以图表的形式形象说明了该结果以及串行比例更大的代码的结果。图中,蓝色斜线表示完美的可扩展,s = 0,其它情形中加速值都要略低。

图 1-1 中结果反映了中等系统(多达 8 核)的可扩展预测趋势。那么多核系统又将怎样呢,我们能否采用一个更有利的代码可并行部分呢?请参阅图 1-2 (摘自 Wikipedia),图中显示的情况并不乐观:无论内核数量多寡,即使代码 95% 实现并行,加速值也无法超出 20。
...全文
118 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
majiajun_no_5 2008-09-30
  • 打赏
  • 举报
回复
获益匪浅
milex 2008-09-30
  • 打赏
  • 举报
回复
牛人没我帅 帅的没我牛 呵呵
tomato_potato 2008-09-28
  • 打赏
  • 举报
回复
 留爪时间学习
majiajun_no_6 2008-09-27
  • 打赏
  • 举报
回复
学习
converf 2008-09-25
  • 打赏
  • 举报
回复
很有道理值得学习
lehedele 2008-09-24
  • 打赏
  • 举报
回复
N多高人牛人....此帖让我受益匪浅,值得收藏! 继续关注....
zhsj64 2008-09-23
  • 打赏
  • 举报
回复
顶下

567

社区成员

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

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