现代操作系统:多处理机系统

多处理机系统

人们对更强计算力的追求促进着计算机的发展,而所有的一切都需要更多的CPU周期(又称机器周期,CPU周期定义为从内存读取一条指令字的最短时间。一个指令周期常由若干CPU周期构成。

时钟解决方案

过去的解决方案是使时钟走得更快,而现在遇到了对时钟速度的限制,即电子信号的速度不可能超过光速,这个速度在铜线或光纤中约为20cm/ns,意味着10GHZ的时钟信号的传送距离不会超过2cm,对于1THZ的时钟,传送距离不足100um,这在一个时钟周期内正好让信号从一端到另一端并返回。

而让计算机变小是可能的,但是散热却是不可能的。因此从1MHZ到1GHZ需要更好的芯片工艺,而1GHZ到1THZ需要完全不同的方法

并行计算机

大规模使用并行计算机,每个CPU都以正常的速度运行,但是整体上会有比单个CPU强大的多的计算能力。高强度的数据处理中经常采用高度并行计算机。

互联网的发展使得将全世界的计算机连接起来变得方便快捷也促使了并行计算机的使用。

1563695889828

对上图的三个模型进行简单介绍:

  • 在电子(光学)部件间的所有通信,归根结底是在它们之间发送消息–良好定义的协议,其差别在于所涉及的时间范围、距离范围和逻辑组织。以共享存储器多处理机为例,系统中有2到1000个CPU通过一个共享存储器通信,每个CPU可同样访问存储器,使用LOAD和Stroe读写单个的字,访问一个存储器字需要1-10ns。
    • 模型较为简略,但是实现并不简单,通常涉及底层大量的消息传递
  • 许多CPU-存储器通过某种高速互联网连接在一起,称为消息传递多计算机,每个存储器局部对应一个CPU,且只能被该CPU访问,CPU通过互联发送多字消息通信,存在良好连接时,一条短消息可以在10-50us发出。
    • 其比前一个模型容易构建,但是编程困难,是紧密耦合系统
  • 所有计算机通过一个广域网连接起来,如因特网,构成一个分布式系统,每台计算机有自己的存储器,通过消息传递进行通信
    • 本模型使用了完整的计算机而且消息传递通常需要10-100ms,是一种松散耦合系统

三者的通信延迟有3个数量级的差别

多处理机

共享存储器多处理机:两个或更多的CPU全部共享访问一个公用的RAM,运行在任何一个CPU上的程序都看到一个普通的虚拟地址空间

性质:

  • CPU可以对存储器的某个字写入某个值,然后读回该字,并得到一个不同的值(因为另一个CPU改写了它)。在进行恰当的组织后,这种性质是CPU间通信的基础,一个CPU写入,另一个CPU读取
  • 在进程同步、资源管理以及调度方面也有一些独特的性质。

多处理机硬件

所有的多处理机都具有每个CPU可以访问全部存储器的性质,还有一些多处理机拥有其他的性质。

  • UMA:统一存储器访问,读出每个存储器字的速度是一样快的
  • NUMA:非一致存储器访问,没有上面的性质

基于总线的UMA多处理机体系结构

使用交叉开关的UMA多处理机

使用多级交换网络的UMA多处理机

NUMA多处理机

多核芯片

众核芯片

异构多核

在多核上编程

多处理机操作系统类型

多处理机同步

多处理机调度

多计算机

多计算机硬件

低层通信软件

用户层通信软件

远程过程调用

分布式共享存储器

多计算机调度

负载均衡

分布式系统

网络硬件

网络服务和协议

基于对象的中间件

基于协作的中间件

参考