分离式阵列计算机的制作方法

文档序号:13742400阅读:166来源:国知局
分离式阵列计算机的制作方法

本发明总体涉及计算机架构,尤其涉及一种分级式阵列计算机。



背景技术:

在21世纪早期出现的专用计算机阵列被称作刀片服务器,其常见于用于处理基于网页的数据(例如email)的服务器群组中,如美国专利no.6,411,506中描述地。刀片服务器中的刀片是被集合在公共机架(其被称作刀片壳体)中的相对小的服务器计算机。在通常的刀片壳体中,刀片共用公共电源和数据总线,所述数据总线提供使得刀片接收和发送数据与命令的装置。如美国专利no.7,209,347中描述地,在刀片壳体中还包括交换服务器,有时将其称作管理模块,该交换服务器用作刀片的工作控制器。

在图1中示出了刀片服务器的示例。刀片机架100包括可移除服务器刀片101a-n。刀片101共用公共的背板102和共用的通信总线104,该公共的背板102从电源103提供刀片电力,该共用的通信总线104常常是以太网总线。所有的外部命令和数据通过内部通信总线104共用。一个或多个管理模块105协调服务器刀片操作。通信总线的外部连接106为刀片提供对于公共的存储器源107、例如nas(网络附加存储装置)存储装置的访问。

刀片101a-n通常具有它们自己的私有存储器108a-n用于其本地处理。

对于服务器刀片管理模块的改型随后被添加至刀片壳体,并且其被添加以允许服务器刀片访问例如usb存储器设备的usb设备共用组,如在美国专利no.7,412,544中描述地。在所引用的专利中,提供了用于通过刀片服务器管理模块将每个刀片与多个外部usb设备端口连接的装置,其中刀片服务器管理模块用作刀片和服务器刀片壳体usb主端口之间的桥梁。由于诸如键盘、鼠标、cd-rom和usb条的多种类型的usb设备,因此刀片服务器能够利用许多额外的功能。图2示出了刀片服务器中外部usb设备的这种使用的简化图。图2的额外的i/o网络110加上刀片服务器管理模块105中的额外的硬件允许usb设备112a-m与服务器刀片101a-n通信。

虽然刀片服务器可以被视为计算机阵列,但它们不被认为是通常表示在硬件和软件执行方面被紧密连接在一起的一组计算机的“阵列计算机”,如在“adecadeofrcs”proc.ieeeconf.ondesign,automationandtestineurope(2001)中讨论地那样。阵列计算机的主要区别是描述组成阵列的不同计算节点之间的互连路径的阵列的“架构”。

参考文献4中的阵列计算机架构的综述论文介绍了与过去的阵列处理解决方案相关联的大范围的复杂硬件和软件实现。实际阵列处理计算机的一个好的示例是1990年左右由jurgensauermann(尤尔根索尔曼)构建的平行apl机,“aparallelaplmachine”1990can089791-371。图3示出了索尔曼机的简化框图。索尔曼机300具有阵列计算机的所有元件,其中主处理器301经由公共的通信网络303以及在主计算机和从处理器之间共用的双端口存储器302紧密耦接到从处理器阵列304。从处理器还连接到执行数学计算的fpga阵列的网络305。索尔曼机专注于处理以计算机脚本语言apl编写的程序的具体任务。德国邮政局(germanpostoffice)已构建并且成功地使用了一些索尔曼机。

尽管索尔曼机是一个成功的项目,但索尔曼机的架构不易适用于其它应用。其专用的硬件和软件是典型的阵列处理。已经提及因为本发明源自于对于索尔曼机的目标应用的兴趣,使得尝试提出可以在软件和硬件角度被广泛地使用的阵列处理架构,同时提供高度适应于计算机硬件和软件的未来发展的架构。

除了以大型连接阵列布置计算元件外,更新的方法是构建包括多个cpu核的单个集成处理器,如bryanschauer在“multicoreprocessors-anecessity”(csa-discoveryguides-multicorereview,9-2008)中所描述地。多核处理器(例如从intel和amd可获得的多核处理器)能够显著地提高计算速度。但它们需要专用的硬件和软件来利用多核设计。另外,它们遇到的一个主要缺点是增加了编程的复杂度且使得计算变慢;即所有核对外部存储装置的访问都是通过单个物理通道进行的。

阵列计算机的主要目标是采用单个计算机的处理能力,并通过n个计算机形成处理速度比单个计算机快n倍的机器。这个简单的目标带来了多种多样的软件和硬件解决方案,其通常导致复杂的和/或昂贵的解决方案。

本发明提供一种用于创建被容纳在刀片服务器类型壳体中的阵列计算机的装置,其通过使用具有分离的计算节点和新颖的分布式存储结构的分级式计算机架构,通过额外的计算节点实现处理能力的线性增益,同时提供用于阵列处理的简单编程模型。



技术实现要素:

一种分级式阵列计算机架构包括具有大的分段存储器的主计算机,所述大的分段存储器是使用分离的高速数据通道被分段的,而所述高速数据通道将主计算机连接到存储段直接连接至其的计算节点阵列。所述主计算机将所述存储段映射为大容量存储块阵列,其中每个存储段被独占地映射到所述主存储器或者所述存储段直接连接至其的计算节点。

所述计算节点用作等待来自它们的客户端主计算机的命令的服务器,并且用于根据来自所述主计算机的命令,处理位于其相关联的共用存储段中的数据。

所述架构也能够视为分布式存储装置,其中所述存储装置的每个存储段可由主计算机或者计算节点阵列中的仅一个成员独占地访问。位于计算节点阵列中的多个存储器控制器提供独特的的存储器访问速度和容易扩展的存储阵列。

附图说明

图1:现有技术-通常的刀片服务器壳体。

图2:现有技术-提供对于服务器刀片的usb端口访问的刀片服务器。

图3:现有技术-索尔曼平行apl机。

图4:示出主计算机和节点计算机之间的连接的dac计算机架构。

图5a:连接到存储段阵列的dac主计算机。

图5b:连接到计算节点阵列的dac主计算机。

图6:两级dac计算机的优选实施方式,其中1级主计算机和每个2级节点计算机之间的单一usb多配件通道提供了主计算机和其连接节点处理器之间的存储链路和通信链路。

具体实施方式

本发明总体涉及计算机架构,特别地,本发明涉及一种分级式阵列计算机。介绍下面的描述能够使本领域普通技术人员制造和使用本发明,其是在专利申请及其要求的情形下提供的。这里描述的对于优选实施方式的变型和一般原理与特征对于本领域技术人员而言是明显的。因而,本发明不意欲限制于所示出的实施方式,而是被赋予与这里描述的原理和特征一致的最宽泛的范围。

将使用短的首字母缩写词“dac”来描述本发明。该名称来自短语“分离式阵列计算机(disjointarraycomputer)”,这是因为dac计算机是其中使用不共用公共总线的高速数据通道将计算节点阵列与主计算机相连接的平行阵列计算机。即,所述计算节点是分离的。图4示出了分级式两级dac计算机400的实施例。

在图4中,高速数据路径402a-n提供双重功能:(a)主计算机和每个节点计算机403a-n之间的通信通道,和(b)向主计算机提供n个大容量存储装置存储段404a-n。每个存储段404a-n仅能够由主计算机401寻址,或者可替换地,能够由各个计算机节点403a-n寻址。通过使用通信通道402a-n,主计算机和将进行该级别计算的节点将唯一访问大容量存储装置存储段404a-n。图4的dac计算机400提供独特的存储器映射结构,其中它允许针对1级主计算机401创建大的分段存储器,由此使用连接到计算节点403a-n的高速分离数据通道402a-n来访问存储段。

图5a示出了当主计算机唯一访问所有n个存储段时、共用存储器是如何呈现给主计算机的。图5b显示当所有节点都具有对于存储段的唯一访问时,主计算机如何看待2级节点的阵列。

本实施方式提供了通过允许将许多多存储块(每个都具有它自己的控制器)视作受到一个存储器管理器控制的大的分布式存储器装置来创建分布式大容量存储装置架构的手段。因而,dac存储器结构通过使用相对小的存储块增长,提供了具有线性扩展能力的存储器装置。例如,如果图4的dac计算机具有32个节点,每个节点具有1tb的ssd闪存驱动器并且使用4tb的ssd驱动器来替换这些闪存驱动器,则1级dac计算机得到的总存储量从32tb增加到256tb。

这种每个存储段都具有其自己的控制器的分布式存储装置架构的主要益处是与位于一个大的存储设备中的相同数量的存储装置被单个存储器控制器访问相比,每个存储段能够更快地被访问。

第二个主要益处是所述计算节点紧密耦合至被分配要对其进行处理的数据,并且这种耦合排除了与任何其它节点或所述主计算机的任何冲突。

被主计算机或可替换地被隔离的计算节点完全拥有的各个存储段的双重性是dac设计的重要要素。它允许主计算机和节点计算机两者中的软件程序完全拥有它们正在访问的存储器,并且不必处理通常与多端口存储器关联的交互问题。

上面描述的以及在图4和图5a、5b中显示的架构是我们称之为使用分离存储器的分离计算。

因为图4的dac共用存储器的相同区域不应同时被主计算机401和计算节点404之一访问,因此必须在所述主计算机和任意给定计算节点之间提供允许主计算机协调对于共用存储器的独占访问的装置。

图6显示dac计算机架构的图4的优选实施方式的版本,其中1级计算机600和2级节点603之间的高速数据通道是usb串行通道602。在这个实施方式中,计算节点usb设备端口604被连接到主计算机usb主端口601。节点usb设备端口驱动器支持3路usb多配件架构,其允许主计算机将其usb主端口601视为连接到三个不同的usb配件;即存储器存储块i/o设备604b、以太网端口604a和tty端口604c。在这个特定实施例中,usb块i/o设备604b被映射到计算节点606的物理存储驱动器。usb配件虚拟以太网端口604a能够用作主计算机和计算节点之间的命令通道。usb配件tty端口604c能够被主计算机使用以识别和初始化计算节点。

虽然在上面的实施例中使用usb连接来将主计算机连接到计算节点,但是可以使用具有支持软件驱动器的其它物理总线、以上面描述的类似方式将主计算机连接到节点计算机,包括使用连接到所述主计算机和所述节点计算机上的相应pcie总线的定制fpga。

网络刀片服务器常常用于处理高速网络流量。之前讨论的刀片服务器架构类似于图4所示的dac计算机的优选实施方式。这两个实现通常都被设计成适于标准的服务器机架。两者都使用公共电源以向各个处理节点供电。并且两者都具有管理器来控制处理节点。

然而,在标准的网络刀片服务器和这里的dac计算机的优选实施方式之间存在较大差异。刀片服务器的用于数据传输的主通信通道是连接到包括刀片管理模块的所有刀片的高速总线。可替换地,dac计算机使用位于其主计算机和计算机节点之间的隔离数据通道。另外,dac计算机的存储器结构是新颖的存储器装置(storagememory),用于向dac主计算机提供大的分段存储器和可替换地为dac计算节点提供较小的主存储段。最后,dac节点不具有对于dac计算机壳体外部的外部存储器的直接访问,而网络服务器刀片通过例如以太网的网络连接直接对外部存储器寻址。

通过保持dac主计算机和dac计算节点之间的存储器和通信的完全正交,分级式dac计算机架构在硬件和软件设计中实现了不可比拟的简单性。

另外,所述计算节点处的分段存储器装置的物理布置允许极其大型的存储器容易地由许多存储器控制器控制。

虽然已经根据所示实施方式对本发明进行了描述,但是本领域技术人员容易地认识到所述实施方式存在改型,并且这些改型落在本发明的精神和保护范围内。因此,在不脱离所附权利要求的精神和范围的情况下,本领域技术人员可以做出许多改型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1