并行计算:从计算机到大脑的奥秘探索
1. 并行计算基础
在处理复杂问题时,我们常常可以借助多个处理器同时计算任务的不同部分,以此加快计算速度,这种方式被称为并行计算,与每次仅执行一个操作的顺序计算形成鲜明对比。并非所有问题都能通过并行计算加速,这一现象在制造业中十分常见。例如,生产由多个组件构成的产品时,可独立生产各组件,再快速组装成最终产品;但建造房屋时,必须按顺序先打地基、建一楼,最后盖屋顶。
以自然数 $N$ 的因式分解问题为例,这是一个适合并行化的数学问题。最基本的算法是尝试用小于等于 $\sqrt{N}$ 的所有数去除 $N$,该算法可轻松拆分为独立任务。比如,将区间 $[1, \sqrt{N}]$ 按处理器数量划分成若干段,让每个处理器处理其对应段内的数字。更复杂、快速的算法也具备此特性。互联网在解决大规模问题上的首个显著应用,便是对 RSA - 129 数字进行因式分解。这个 129 位的合数由 Rivest、Shamir 和 Adleman 于 1977 年提出,旨在测试其密码系统在该长度密钥下的安全性。1988 年夏天,Arjen Lenstra 发起项目,利用联网计算机分解此数,次年四月宣布完成,期间超 600 人参与了任务拆分后的部分计算。此后,计算机速度大幅提升,新算法不断涌现,旧算法也得到改进。2005 年,通过多台计算机并行计算,耗时一年半分解了 200 位的 RSA 200 数字,据估算,单台机器完成此任务约需 55 年。2009 年,又成功分解了 232 位的数字。
2. 理想并行计算机
在许多情况下,将计算时间缩短一半都可能具有重要意义。例如,气象预报中的计算极为耗时,有时在所需预报时间过后计算才完成。在理论研究中,我们更
超级会员免费看
订阅专栏 解锁全文

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



