1、多处理器编程:原理与实践

多处理器编程核心解析

多处理器编程:原理与实践

1. 计算机行业的变革

计算机行业正在经历一场重大变革。主要的芯片制造商暂时放弃了让处理器运行更快的尝试。虽然摩尔定律未被打破,每年能在相同空间容纳更多晶体管,但因过热问题无法提高时钟速度。于是,制造商转向“多核”架构,多个处理器(核心)通过共享硬件缓存直接通信。多处理器芯片通过利用并行性,让多个处理器处理同一任务,使计算更高效。

这种变革对软件开发产生了深远影响。过去,技术进步意味着时钟速度提升,软件会自动“加速”。如今,技术进步带来的是并行性增加而非时钟速度提升,利用并行性成为现代计算机科学的重大挑战。

2. 多处理器编程的挑战

多处理器编程面临诸多挑战,因为现代计算机系统本质上是异步的。活动可能因中断、抢占、缓存未命中、故障等事件毫无预兆地暂停或延迟,且这些延迟不可预测,规模差异巨大。例如,缓存未命中可能使处理器延迟不到十条指令的执行时间,页面错误可能延迟数百万条指令,操作系统抢占则可能延迟数亿条指令。

多处理器编程从两个互补方向展开:原理和实践。

3. 原理方向:可计算性与程序正确性
  • 可计算性 :在异步并发环境中,要弄清楚哪些是可以计算的。采用理想化计算模型,多个并发线程操作一组共享对象,线程对对象的操作序列构成并发程序或算法,这与 Java、C# 或 C++ 线程包的模型本质相同。令人惊讶的是,有些易于指定的共享对象无法通过任何并发算法实现。因此,在编写多处理器程序前,了解哪些不可行很重要。许多让多处理器程序员陷入困境的问题,源于计算模型的基本限制,所以理解并发共享内存可计算性是必要步骤。相关内容会带领大家
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值