使用coLinux与openMosix构建异构集群(1)


从九十年代早期起,集群计算已经取得了长足的发展。随着对 GNU/Linux 使用的日益增加,以可接受的预算使用 PC 集群来获得超级计算速度正日趋主流。容易获得的廉价硬件处理器、内存、硬盘、以太网卡等),再加上开放源代码软件,这些都促使人们采用基于 Linux 的 Beowulf 集群。“Beowulf”指的是基于 PC 的集群领域中最早的研究者 Dr. Donald Becker 和 Dr. Thomas Sterling 为他们最初的集群所起的名字;很多人使用这个名字来代表一种类似的技术,即基于 PC 的集群。)

术语的这一模糊性带来了这样的问题:“希望构建集群的人是否必须使用 Linux?”或许,那个问题的中心,也是更为实际的一点,是“我们有很多使用 Windows 的空闲 PC。仅仅为了借用 CPU 周期,我们是否需要将它们全部迁移到 Linux?”)

正是这些问题促使我们去试验如何构建混合式集群hybrid cluster),即由异构操作系统构成的集群。本文使用的是 Windows 和 Linux,为了简化起见,没有考虑其他操作系统。

为什么创建混合式集群?

当前,局域网和校园网都是由使用不同操作系统的 PC 所构成。有的使用 Windows,有的使用 Linux,还有的使用 BSD,等等。一个局域网中 PC 的平均数目在 100 到 300 之间,这表明其中有巨大的潜在计算能力,特别是如果您正在规划一个主要目的是获得最高速度的高性能计算集群HPC)。

这种类型的集群所面临的挑战是:在大部分情况下,我们不能让每台 PC 百分之百地致力于集群的工作。传统的集群在全天候的运行期间内都完全致力于运行需要大量运算的程序,与之相比,这种混合式的集群主要适用于扩展现有 Linux 集群的节点。实现这一目标有两种策略:

在每一台 Windows PC 上安装集群代理cluster agent)。您可以认为这个代理是在系统中运行的一个小应用程序,或者是一个 Windows 服务。它以自动的方式工作,其操作由主节点使用 Linux)完全控制。

使用双引导安装,或者使用 Linux LiveCD。LTSPLinux Thin Server Project)也可以归类于此策略。其基本思想是将节点临时转换为 Linux 系统,然后作为集群的成员连接到主节点。

我们并没有将从 Windows 到 Linux 的部分或完全迁移作为解决方案来研究,因为我们希望在本文中集中关注第三种方法。我们没有研究向 Linux 的完全或者部分迁移,而是希望研究那些不需要关注完全迁移就可以将 Window 和 Linux 加入集群的机制和好处。不过,这并不表示完全迁移是错误的解决方案。

我们选择集群代理方法作为解决方案,因为它具有以下优势:

Windows 用户能够继续在熟悉的环境中工作,使用办公套件、绘图或者执行其他任务。用户可以让集群代理以低优先级运行,或者在启动屏幕保护程序时运行。

由于避免了双引导,不需要进行重新分区为了安装 Linux)。您可以在 Windows 文件系统之上安装 Linux 比如 ZipSlack),但这样会要求您必须退出 Windows。

使用集群代理的方法,您只需要在 FAT32 或者 NTFS 文件系统中留出一些空间来存放 Linux 代理二进制程序。


相关内容

    暂无相关文章