2.3. openMosix 实践:一个例子

openMosix 集群可以呈现多种形式。 为了演示这一点,让我们假设你是一名学生,与一位富有的计算机科学专业的同学合住一间宿舍,你们将电脑连接起来形成了一个 openMosix 集群。 让我们还假设你目前正在将 CD 中的音乐文件转换为 Ogg Vorbis 格式供个人使用,这在你的国家是合法的。 你的室友正在做一个 C++ 项目,他说这个项目将带来世界和平。 然而,就在此刻,他正在浴室里做一些不可描述的事情,他的电脑处于空闲状态。

因此,当你启动像 bladeenc 这样的程序将巴赫的音乐从 .wav 格式转换为 .ogg 格式时,你机器上的 openMosix 例程会比较两个节点上的负载,并判断如果将该进程从你的奔腾 233 发送到他的 Athlon XP,事情会更快。 这会自动发生:你只需像在独立机器上一样键入或单击命令即可。 你所注意到的只是,当你再启动两个编码运行时,速度会快得多,并且响应时间不会下降。

现在,当你还在输入时...... 你的室友回来了,嘴里嘟囔着关于食堂食物中的红辣椒。 他继续进行测试,使用一个名为 'pmake' 的程序,它是为并行执行优化的 'make' 版本。 不管他在做什么,它都占用了大量的 CPU 时间,以至于 openMosix 甚至开始将子进程发送到你的机器以平衡负载。

这种设置被称为 *单池*:所有计算机都用作一个单独的集群。 这种设置的优点/缺点是你的计算机是池的一部分:你的东西将在其他计算机上运行,但他们的东西也将在你的计算机上运行。