存储 频道

存储那点事:Scale Out存储器介绍

  采用Scale out体系架构的MPP分支的思路分析

  我们前文说过,为了能够让更多的处理器协同工作,计算机工业提出了SMP体系架构,进而发展到cc-numa体系架构,这两种体系架构从本质上来讲有一个共同的特点,即各个处理器上缓存是统一编址的(从编程的角度来看,这么多处理器组成的服务器的内存是一个连续的内存空间,非常有利于编程人员设计程序),当然SMP的特点是所有的处理器访问缓存的延迟是固定的,而cc-numa架构就会出现缓存访问延迟不一致的情况,当然cc-numa带来的额外的好处就是整个系统的扩展能力会进一步加强。

  当然还有另外一种情况是有些业务系统不需要统一缓存编址,比如象渲染,一个泰坦尼克大片,这么多画面需要渲染,没有必要放在一个大机器里面做,而可以把任务分解成多个小任务单独做,做好以后再收集在一起合成就可以了,这种情况下就没有必要采用numa架构和SMP架构的大机器了(节约成本),而可以采用将多个服务器节点组成一个大型的cluster。这些服务器之间通过专用快速网络连接起来形成一个虚拟的整体,当然在这种情况下每个节点的服务器内存空间是各自独立管理而不是统一编址了。

  下图是采用MPP体系架构的计算机示意图:

 Scale out体系架构MPP分支思路分析

  MPP体系结构示意图

  MPP体系架构的计算机的特点:

  由数百个乃至数千个计算结点和I/O结点组成,这些结点由局部网卡(NIC)通过高性能互联网络相互联接。

  每个结点相对独立,并拥有一个或多个微处理器(P/C)。这些微处理器均配备有局部Cache,并通过局部总线或互联网络与局部内存模块和I/O设备相联接。

  MPP的各个结点均拥有不同的操作系统映像。一般情况下,用户可以将作业提交给作业管理系统,由它负责调度当前最空闲、最有效的计算结点来执行该作业。但是,MPP也允许用户登录到某个特定的结点,或在某些特定的结点上运行作业。

  各个结点间的内存模块相互独立,且不存在全局内存单元的统一硬件编址。一般情形下,各个结点只能直接访问自身的局部内存模块,如果要求直接访问其他结点的局部内存模块,则必须有操作系统的特殊软件支持。

  从上述表述中,我们可以看到,MPP体系架构的计算机本质上就是我们日常生活中经常提到的cluster集群计算机,通过高速网络把多台独立的计算机互连起来。

  早期由于以太网网络速度不快(当时以100Mb/sec为主),且需要较多的资源处理TCP/IP协议堆栈,因此会出现不少专用高速网络用做处理器之间的互连,然而随着技术的发展,千兆网络和高性能网卡的出现,用专用千兆网把多个节点互连也成为了当今采用MPP体系架构服务器的首选(在超算集群中我们经常可以看到此种部署)。

  当然如果你确实有很多钞票,在坚持MPP架构的前提下还想追求极限性能,而已可以采用Infiniband技术做高速互连,Oracle的超级数据库机Exadata-2就是个典型的例子。

0
相关文章