高能物理中并行计算的发展
1. 引言
高能物理(HEP)对计算能力的需求始终远超单台机器的供给。自上世纪六十年代初第一台大型主机问世以来,HEP 就在不断挑战计算机的性能极限,充分利用每一个 CPU 周期、每一点内存和磁盘空间来运行数据采集、模拟、重建和分析程序。
在这样的背景下,利用一组 CPU 或计算机并行运行,以增加程序可用的 CPU、内存和磁盘资源,是很自然的想法。而且,HEP 中的数据处理事件(即探测器记录的粒子碰撞)相互独立,可轻松并行处理。这种能大规模并行的问题被称为“极度并行问题”,大多数 HEP 处理都属于此类。然而,理论上在多台机器上运行极度并行程序看似简单,但实际操作却复杂得多。
2. 阿姆达尔定律
阿姆达尔定律由计算机架构师吉恩·阿姆达尔提出,它描述了算法并行实现相对于串行算法的预期加速比之间的关系。例如,若一个算法的并行实现能让 15% 的操作任意快速执行,而其余 85% 的操作无法并行,那么该并行版本的最大加速比为:
[
Speedup = \frac{1}{1 - 0.15} = 1.18
]
即比非并行版本快 1.18 倍。这可以写成通用公式:
[
Speedup = \frac{1}{1 - P}
]
其中,若代码完全无法并行(P = 0),则加速比为 1(无加速);若代码完全并行(P = 1),理论上加速比趋于无穷大;若 50% 的代码可并行,最大加速比为 2,即代码运行速度翻倍。
在并行化情况下,若 P 是程序中可并行部分的比例,(1 - P) = S 是不可并行(串行)部分的比例,那么使用 N 个处理器可实现的最大加速比为:
超级会员免费看
订阅专栏 解锁全文

42

被折叠的 条评论
为什么被折叠?



