您可以通过以下三种方法的任意一种来创建一个集群:完全迁移到一个单一的平台,部分迁移,或者是以混合的方式创建。在本文中,将学习如何通过集群代理实现最后一种方法,并了解如何将 coLinux 和 openMosix 结合起来为异构环境提供高性能集群中间件。在这个异构的环境中,Linux™ 将提供稳定性和性能,而且 Windows® 用户可以继续使用他们的应用程序,根本不用关心其中的区别。
从九十年代早期起,集群计算已经取得了长足的发展。随着对 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。LTSP(Linux Thin Server Project)也可以归类于此策略。其基本思想是将节点临时转换为 Linux 系统,然后作为集群的成员连接到主节点。
我们并没有将从 Windows 到 Linux 的部分或完全迁移作为解决方案来研究,因为我们希望在本文中集中关注第三种方法。我们没有研究向 Linux 的完全或者部分迁移,而是希望研究那些不需要关注完全迁移就可以将 Window 和 Linux 加入集群的机制和好处。不过,这并不表示完全迁移是错误的解决方案。
我们选择集群代理方法作为解决方案,因为它具有以下优势:
- Windows 用户能够继续在熟悉的环境中工作,使用办公套件、绘图或者执行其他任务。用户可以让集群代理以低优先级运行,或者在启动屏幕保护程序时运行。Seti@home 项目使用了此类策略,非常有效。
- 由于避免了双引导,不需要进行重新分区(为了安装 Linux)。您可以在 Windows 文件系统之上安装 Linux (比如 ZipSlack),但这样会要求您必须退出 Windows。
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)TAG标签: 构建 使用 内核 集群 我们 coLinux Linux 可以 一个 运行
注册
个人空间
