服务器 频道

哪种集群适合您

科学群集

    某些并行群集系统可以达到如此高的带宽和低延迟,其原因是它们通常绕过使用网络协议,如 TCP/IP。虽然网际协议对于广域网很重要,但它包含了太多的开销,而这些开销在节点相互已知的封闭网络群集中是不必要的。其实,那些系统中有一部分可以在节点之间使用直接内存访问 (DMA),它类似于图形卡和其它外围设备在一台机器中的工作方式。因此横跨群集,可以通过任何节点上的任何处理器直接访问一种形式的分布式共享内存。它们也可以使用低开销的消息传递系统,在节点之间进行通信。

    消息传递接口 (MPI) 是并行群集系统间消息传递层的最常见实现。MPI 存在几种衍生版本,但在所有情况下,它为开发者访问并行应用程序提供了一个公共 API,这样开发者就不必手工解决如何在群集的节点之间分发代码段。其中一个,Beowulf 系统首先将 MPI 用作公共编程接口。

    很难决定使用哪种高性能集群包。许多都提供类似服务,但计算的具体要求才是决定性因素。很多情况下,在那些系统中的研究工作只是解决需求的一半,而且使用那些软件需要集群包开发者的特殊帮助和合作。

Beowulf

    当谈到 Linux 集群时,许多人的第一反映是 Beowulf。那是最著名的 Linux 科学软件集群系统。没有一个包叫做 Beowulf。实际上,它是一个术语,适用于在 Linux 内核上运行的一组公共软件工具。其中包括流行的软件消息传递 API,如“消息传送接口”(MPI) 或“并行虚拟机”(PVM),对 Linux 内核的修改,以允许结合几个以太网接口、高性能网络驱动器,对虚拟内存管理器的更改,以及分布式进程间通信 (DIPC) 服务。公共全局进程标识空间允许使用 DIPC 机制从任何节点访问任何进程。Beowulf 还在节点间支持一系列硬件连通性选件。

    Beowulf 可能是考虑 Linux 时注意到的第一个高性能集群系统,这只是因为它的广泛使用和支持。关于这个主题,有许多文档和书籍。Beowulf 与以下一些科学集群系统之间的差异可以是实际的,或者只是在产品名称中有差异。例如,尽管名称不同,Alta Technologies 的 AltaCluster 就是一个 Beowulf 系统。某些供应商,如 ParTec AG,一家德国公司,提供了 Beowulf 模型的衍生版本,以包括其它管理接口和通信协议。

Giganet cLAN

    Giganet 提供了一种定制的基于硬件的解决方案,它使用非 IP 协议在一个科学群集的节点间进行通信。如前所述,“虚拟接口”协议通过除去不少协议的开销,如 IP,以支持服务器间更快的通信。另外,硬件系统可按千兆比特速度运行,并且延迟很短,使它非常适合构建最多达 256 个节点的科学群集。该供应商支持 MPI,这样许多并行应用程序就可以在类似的系统(如 Beowulf)上运行。

    它也有 Beowulf 的缺点,即不能用作网络负载共享系统,除非想要编写应用程序来监控和分发在服务器间传送的网络包。

Legion

    Legion 试图构建一个真正的多计算机系统。这是一个群集,其中每个节点都是一个独立系统,但在用户看来,整个系统只是一台计算机。Legion 设计成支持一台世界范围的计算机,由上百万个主机以及数以万亿计的软件对象组成。在 Legion 中,用户可以创立他们自己的合作小组。

    Legion 提供了高性能并行、负载均衡、分布式数据管理和容错性。

    Legion 提供了高性能并行、负载均衡、分布式数据管理和容错性。它通过其容错管理和成员节点间的动态重新配置来支持高可用性。它还有一个可扩充核心,该核心可以在出现新的改进和进展时动态替换或升级。系统并不是只接受单一控制,而是可以由任意数量的组织管理,而每个组织都支持整体的自治部分。Legion API 通过其内置的并行性提供了高性能计算。

    Legion 需要使用特别编写的软件,以使它可以使用其 API 库。它位于用户计算机操作系统之上,协调本地资源和分布式资源。它自动处理资源调度和安全性,还管理上下文空间以描述和访问整个系统中上亿种可能之外的对象。然而,在每个节点上运行时,不需要使用系统管理员特权,并且可以使用无特权的用户帐号进行工作。这将增加加入 Legion 的节点和用户的灵活性。

Cplant

    Sandia National Lab 中的 Computational Plant 是一个大规模整体并行群集,用于实现 TeraFLOP(万亿次浮点运算)计算并构建在商业组件上。整个系统由“可伸缩单元”组成,这些“可伸缩单元”可以划分成适合不同目的(计算、磁盘 I/O、网络 I/O、服务管理)。群集中的每个节点都是一个 Linux 系统,带有专门开发的、提供分区服务的内核级模块。每个分区的功能可以通过装入和卸载内核级模块来修改。

    项目分三个阶段完成,开始阶段是原型,有 128 个基于 433-MHz DEC Alpha 21164 的系统,其中每个都有 192 MB RAM 和 2 GB 驱动器,相互之间用 Myrinet 网卡和 8-端口的 SAN 交换机连接。第 1 阶段将它扩充为 400 个基于 21164 的工作站,这些工作站的运行速度为 500 MHz,有 192 MB RAM,没有存储器,用 16-端口的 SAN 交换机以超立方体结构连接起来,并且运行 Red Hat 5.1。当前的第 2 阶段有 592 台基于 DEC 21264 的机器,它们的运行速度为 500 MHz,有 256 MB RAM,没有驱动器。每个节点都使用 64-位,33-MHz PCI Myrinet 网卡,并且仍使用 16-端口交换机以超立方体结构连接。

    在 Cplant 上运行的应用程序包括解决稀疏线性系统、流体力学和结构力学中计算系统的优化、分子力学的模拟、线性结构力学的有限元分析,以及并行应用程序的动态负载均衡库。

JESSICA 2

    香港大学的系统研究小组有一个基于 Java 的群集,叫做支持 Java 的单系统映像计算体系结构 (JESSICA),它作为一个中间件层以完成单系统映像的幻想。该层是每个使用分布式共享内存 (DSM) 系统进行通信的节点上运行的所有线程的一个全局线程空间。该项目使用 ThreadMark DSM,但最终将用他们自己创建的 JiaJia Using Migrating-home Protocol (JUMP)。他们使用定制的基于 Java 的 ClusterProbe 软件来管理群集的 50 个节点。

0
相关文章