查看这些结果,您会观察到单台 PC 完成那个工作需要多长时间。Amun 比 Ipc256 稍快一些,但是同时使用两台 PC 获得的效率绝对是最高的。假如不但是一台而是很多 Windows PC 加入到集群,这个效率可能还会更高。
使用下面的公式计算开销:
Overhead = tb/ta tb/ti - 1
在该例中,我们的试验所产生的开销是 2.01%,接近理论最优值。
通过这一基准,我们能够得出这样的结论:要最大限度地受益于此类集群,最好的方法就是划分作业或应用程式。使用参数化调用(parameterized invocation) 是更常见的一个策略,使用不同的参数派生同一个程式的多个实例。
POV-Ray 的渲染工厂(renderfarm)是参数化调用的一个示例。渲染程式的每一个实例都取得一部分场景并构建出一个完成的帧。重复此过程,直到任何场景都被取完。
展望
对于预算充足的用户而言,采用 VMWare
等商业化的仿真器或许是使用开放源代码的基于 Linux 的 SSI 来实现混合式 Windows-Linux
集群的安全方法,但是,对那些寻求可接受的解决方案的用户而言,他们希望每一分投入都能获得最大的价值,而 coLinux 是理想的选择。
这一解决方案的优势很明显。无需进行大规模的从 Windows 到 Linux 的迁移 —— 只需继续使用您所熟知的 Linux 环境。这样将会缩短部署的时间,而且还能让基于 Windows 的用户如往常相同工作。Windows PC 的空闲能力能够用来帮助 Linux 机器运行很消耗 CPU 的程式。
基于现在基础的改进
今后能够得到改进的方面有很多,包括
- 编写宿主内核和客户内核之间的内核到内核的网络数据包注入(injection)。 当前,这些数据包必须从宿主驱动程式开始,经过 TAP32 驱动程式、colinux-net 后台进程、coLinux 后台进程,最后到达 colinux 内核驱动程式。绕开这些步骤并将其替换为直接的内核驱动程式/colinux 驱动程式连接,这样就能够减少通信延迟,从而提高集群的性能。
- 创建更先进的集群代理软件包。有一些让我们能够立即部署的特别的 coLinux 发行版本(下一节中提到的 CosMos 就是个例子)。创建这样的软件包需要大家的一起帮助,最好让他拥有一个易用的配置管理器,使得用户或管理员只需要点击几次鼠标就能够进行定制配置。
- 将 coLinux 移植到 2.6 版本的 Linux 内核。我们撰写本文时,已有用于 2.6 内核的 coLinux 内核补丁的研发发布版(development release)。2.6 版本的 Linux 内核具备很多能够在内核方面提高集群性能的特性,比如 O(1) 调度器和 I/O 调度器。
- 增强 coLinux 内核驱动程式和 Windos 2000 和 XP 的兼容性。 勿需多言,coLinux 和 Windows 内核之间还存在一些兼容性问题。(注意:coLinux 不支持 Windows 95/98/ME,这也是个问题。)
- 令 coLinux 使用宿主机器的 IP。到现在为止,coLinux 实例使用的是他自己的 IP 地址。这样,在大规模的集群中会浪费大量 IP 地址。IPSec 隧道会有所帮助,他能够将全部客户网络数据封装到一个单独的 IPSec 流中(同样,如 CosMos 的用法),但是 IPSec 本身增加了大量的延迟。另一个解决方案应该是 IP-over-IP 隧道,这样能够避免加密的时间消耗,但是其实现需要付出更多努力。
相关项目
CosMos 是 Ian Latter
所研发的一个项目,他的目标是提供一个具备紧凑文档系统的直接可用的 coLinux/openMosix 二进制程式。CosMos
的一个很好的特性是,他使用 IPSec 隧道来在集群节点间创建安全的端到端通信。(您能够通过 Ian.Latter@mq.edu.au 和
Ian 联系。)
另一个项目(主要由 Christian Kauhaus 研发)的目标并不是 HPC,而是类似于著名的 Condor 项目,设计用于高吞吐率计算集群。和 CosMos 的共通之处是,其目标也是创建一个立即可用的程式包,但是在其他方面有所不同,比如:
- 网络通信;出于性能原因,他没有使用 IPSec 隧道。
- 配置服务器(Configuration Server);他的任务是管理配置,连同集群中非专用节点的加入和离开。
此项目仍处于早期 alpha 阶段 —— 观察他的发展应该会很有趣。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




