数学研发论坛

 找回密码
 欢迎注册
查看: 1465|回复: 4

[转载] Gentoo架设OpenMosix集群

[复制链接]
发表于 2008-7-13 11:13:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x

论坛总有人希望有用巨型机的机会
有条件的看下文
呵呵,只要有100台普通的菜羊
就能构建一个千亿次机器拉


http://man.ddvip.com/linux/gentoo/openmosix/index.html
原文更新:2003年11月20日
内容简介:这个HOWTO会帮助你使用 gentoo 创建 openMosix 集群

1. 介绍



关于本 HOWTO

       这个 HOWTO 会帮助你建立一个 openMosix 集群。它基于 Gentoo Linux d发布。我有意使文档尽可能的友好,迎合 Linux 新手的需要。当一个有经验的用户可以轻松的把 openMosix,无盘节点和网络方面的 HOWTO 扎在一起的时候,我还在这个 HOWTO 上有各种我希望能够缓解的困难。

注释: 如果你计划使用无盘节点来建立你的 openMosix 集群,你要阅读下面内核部分,来学习如何编译 openMosix 支持的内核,然后阅读我们的 无盘 HOWTO,再回来这里,继续进行实际的内核安装。

关于 openMosix

       openMosix 是一个Linux内核补丁,允许多个主机充当单系统镜像(SSI)。这使得多个主机看起来像是一个多处理器的大主机。写作本文档的时候,我正在用最新的 openMosix 内核补丁,版本 2.4.20,openMosix 用户工具版本 0.2.4-r4。在 http://openmosix.sourceforge.net 有非常广泛的关于 openMosix 的信息。当我尝试集群不同版本修补过的内核源码时曾有过困难,并且发现补丁并不向后兼容。当执行a.out或ELF格式二进制,或者重量级进程 fork时, OpenMosix 明确的迁移重量级进程。它不能迁移多线程的进程,或是使用共享内存的重量级进程。

       要得到更多关于openMosix的信息访问他们的 主页.

关于集群

       我们的集群由共享运算资源的独立计算机(节点)组成,以增进全部节点的运算能力。并不需要所有节点的构架相同,不过那将会使组建集群的任务更加容易。

开始之前

       你应当已经在你的主节点上安装了 Gentoo,并且上面有足够的空间存放要host从节点的文件系统。 另外,你应当有 openMosix 内核源码,已经由 Gentoo 方便的补丁过的。

       要得到源码,简单的使用 emerge,键入:

代码 1.1: 获得补丁过的内核源码

# emerge openmosix-sources

2. 配置内核



关于内核

       内核是处在你的硬件和你在机器上加载的所有其他软件之间的软件,本质上说内核是操作系统的基本。当你的计算机启动,BIOS 执行在硬盘引导空间找到的指令。这些指令一般就是加载你内核的引导程序。当你的内核被加载后,所有的进程都将由内核处理(管理)。

       要得到更多内核与内核配置的信息,可以查看这个很有帮助的 HOWTO, http://www.tldp.org/HOWTO/Kernel-HOWTO.html.

配置内核

       内核可以如你所想的大和定制,但是有一些内核选项不能选。

重要: 像下边这样,把 /usr/src/linux 链接到 openmosix-sources 目录是极其重要的。

代码 2.1: 链接 /usr/src/linux 到 openmosix

# cd /usr/src
# rm linux
# ln -s linux-2.4.22-openmosix linux

       然后进入你的内核配置过程:

代码 2.2: 编辑内核配置

# cd /usr/src/linux
# make menuconfig

       你会见到一个灰头土脸的 GUI,提供一个比手工修改 /usr/src/linux/.config 文件更安全的选择。如果你的内核已经工作良好,你可能要退出 GUI,保存当前的配置文件。键入:

代码 2.3: 备份主节点内核配置

# cp .config .config_working

       在 GUI 中,最顶上的菜单项应当是 openMosix ---。如果不是的话,你需要 emerge 带有 openMosix 补丁的内核源码。 (code listing 1.1)。进入下面的子菜单,确保下列项目选为内建而不是模块。

代码 2.4: Menuconfig options

openMosix --->
   
  • openMosix process migration support
        [ ] Support clusters with a complex network topology
       
  • Stricter security on openMosix ports
        (1) Level of process-identity disclosure (0-3)
       
  • openMosix File-System
        [ ] Poll/Select exceptions on pipes
        [ ] Disable OOM Killer
        [ ] Load Limit

    Code maturity level options  --->
       
  • Prompt for development and/or incomplete code/drivers

    Networking options --->
        <*> Packet socket
        [ ]   Packet socket: mmapped IO
        < > Netlink device emulation
        [ ] Network packet filtering (replaces ipchains)
        [ ] Socket Filtering
        <*> Unix domain sockets
       
  • TCP/IP networking
       
  •    IP: multicasting

    File systems --->
       
  • /proc file system support
       
  • /dev file system support (EXPERIMENTAL)
       
  •    Automatically mount at boot

    注释: 这些内核配置只是应当附加在你的系统特定配置上,而不是完全取代那些选项。

           当你重新配置主节点内核之后,重新编译:

    代码 2.5: 重编译内核和模块

    # make dep
    # make clean bzImage modules modules_install(确保 /boot 在复制前已经加载)
    # cp arch/i386/boot/bzImage /boot/bzImage-openmosix

           要为你的新内核增加项目到你的 lilo.conf 或者 grub.conf (取决于你使用哪种启动引导器)并使新内核成为缺省。现在新的 bzImage 已经复制到你的 /boot 目录,你需要做的就是重新启动。

    缺少选项

           如果你的内核配置缺少某些选项,确定你选中了下面的:

        * Code maturity level options ---
              o Prompt for development and/or incomplete code/drivers

    3. openMosix 节点的配置



    安装 openMosix 用户工具

           为了使集群能够迁移进程,需要安装一些用户方程序。另外,需要启动 openMosix 服务来使一个节点加入集群,并且应用 openMosix 所有能力。要得到这些程序和文件,使用 emerge:

    代码 3.1: 安装 openMosix 用户方实用工具

    # emerge openmosix-user

    配置 openMosix 节点

           编辑或创建 /etc/openmosix.map 已经不需要了。新版本的用户方实用程序有自动搜索守护进程,可以自动的探测你网络中的所有节点。

           在所有节点上创建 /mfs 目录并且如果你要使用 openMosix 文件系统的话加载它(强烈建议),允许你访问你的所有节点。

    代码 3.2: mkdir /mfs

    # mkdir /mfs

    代码 3.3: /etc/fstab 中的示例项

    none                    /mfs            mfs             noauto,dfsa=1          0 0

    注释: 不需要所有的节点都运行来使 openMosix 功能正常。

    启动 openMosix

           启动 openMosix 真的很简单。下面的命令会启动你内核中 openMosix 的功能,并启动自动搜索守护进程,保持跟踪所有可用节点。

    代码 3.4: 启动 openMosix

    # /etc/init.d/openmosix start

    4. openMosix 用户方实用工具



    命令行实用工具

           openMosix-user 在你的系统上安装了几个有用的工具。介绍几个:

        * mosmon - openMosix 监视器。允许你查看你所有节点的状态,包括cpu使用,安装内存,使用内存等。
        * mtop - top 增强版,显示在节点上实际运行的进程。
        * mps - ps 增强版。还显示节点号。
        * mosctl whois - 这像 mosmon 一样非常有用,其它工具只能告诉你节点号。 通过 mosctl whois nodenumber 你能发现节点的 ip 或主机名。

           openmosix 压力测试可以测试如果你集群中的所有都运转的话,在负载下它会怎样表现。这个软件包叫做 openmosixtest:

    代码 4.1: Emerge openmosixtest

    # emerge openmosixtest

           ebuild 会告诉你如何运行测试。

    图形化实用工具

           要得到你的集群的图形化概观,查看被迁移的进程,你可以使用 openmosixview.

    代码 4.2: Emerge openmosixview

    # emerge openmosixview

           要运行这个奇妙的应用只需键入 openmosixview:

    代码 4.3: 开始 openmosixview

    # openmosixview

    5. 资源



    openMosix

        * http://openmosix.sf.net

    openMosix add-ons (ebuilds 可用)

        * openMosixview
        * openMosix stress test
        * general openMosix daemon


    本文档内容按照Creative Commons - Attribution / Share Alike协议发布。
  • 毋因群疑而阻独见  毋任己意而废人言
    毋私小惠而伤大体  毋借公论以快私情
    发表于 2008-7-14 10:10:21 | 显示全部楼层
    高射炮打蚊子,复杂了点。如果能解决平台间的函数调度,注意不是进程调度,那这台高射炮就真的NB了。近来做格点计算颇有心得,不过难度不小,改了几个版本才出一个原型。
    毋因群疑而阻独见  毋任己意而废人言
    毋私小惠而伤大体  毋借公论以快私情
     楼主| 发表于 2008-7-14 10:51:44 | 显示全部楼层
    是基于不同机器间的线程自由分配的
    就是说一个程序的多个线程可不同机器运行
    毋因群疑而阻独见  毋任己意而废人言
    毋私小惠而伤大体  毋借公论以快私情
    发表于 2008-7-14 13:00:26 | 显示全部楼层
    还是达不到要求。
    毋因群疑而阻独见  毋任己意而废人言
    毋私小惠而伤大体  毋借公论以快私情
     楼主| 发表于 2008-7-14 14:17:40 | 显示全部楼层
    那,你就考虑小型机去
    毋因群疑而阻独见  毋任己意而废人言
    毋私小惠而伤大体  毋借公论以快私情
    您需要登录后才可以回帖 登录 | 欢迎注册

    本版积分规则

    小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

    GMT+8, 2020-1-22 15:20 , Processed in 0.065564 second(s), 16 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表