The openMosix HOWTO

Live free() or die()亅free()偱偁傝懕偗傞偐丄偦傟偲傕 die()偐

Kris Buytaert

buytaert@x-tend.be

and Others

Revision History                                                       
Revision v1.0                         11 may 2003                      
偮偄偵姰惉                                                             
Revision v1.0 RC 1                    07 may 2003                      
戝暆側惔彂                                                             
Revision v0.95                        04 april 2003                    
ClumpOS 傪 PlumpOS 偵抲偒姺偊                                          
Revision v0.94                        25 february 2003                 
Mirko Caserta 巵偵傛傞僷僢僠揔梡                                       
Revision v0.93                        16 february 2003                 
捛壛婡擻偲廋惓                                                         
Revision v0.92                        21 january 2003                  
Revision v0.91                        27 september 2002                
Revision v0.90                        03 september 2002                
Revision v0.71                        26 August 2002                   
僗儁儖偺廋惓                                                           
Revision v0.70                        22 August 2002                   
枹婰嵹晹暘傪攔彍丅Mosixview 傪 openMosixView 偵抲偒姺偊                
Revision v0.50                        6 July 2002                      
openMosix HOWTO 戞堦斉                                                 
Revision v0.20                        5 July 2002                      
Mosix HOWTO 偲偟偰偼嵟屻(崱偺偲偙傠)                                   
Revision v0.17                        28 June 2002                     
Revision v0.15                        13 March 2002                    
Revision v0.13                        18 Feb 2002                      
Revision ALPHA 0.03                   09 October 2001                  

"偁傞壽戣偵惛捠偡傞偵偼丄偦傟偵偮偄偰杮傪彂偔偙偲丅偦傟偑儀僗僩偱偡"
(Benjamin Disraeli)

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table of Contents
I. 偼偠傔偵
   
    1. 偼偠傔偵
    2. openMosix 偲偼壗偐
   
II. openMosix 偺僀儞僗僩乕儖
   
    3. 梫審偲寁夋
    4. 僨傿僗僩儕價儏乕僔儑儞暿僀儞僗僩乕儖
    5. 帺摦扵嶕(Autodiscovery)
    6. 僋儔僗僞偺僀儞僗僩乕儖
   
III. openMosix 偺娗棟
   
    7. openMosix 偺娗棟
    8. Mosix 偺僠儏乕僯儞僌
    9. openMosixview
    10. openMosix 娭楢偺偦偺懠偺僾儘僌儔儉
    11. 嫟捠偺栤戣
    12. 僸儞僩偲 TIPS 廤
    13. 僀儞僗僩乕儖嵪傒 openMosix偺(晧壸)僥僗僩
   
IV. openMosix 偱傾僾儕働乕僔儑儞傪摦偐偡
   
    14. 僐儞僷僀儖偺惈擻傪忋偘傞偵偼
    15. openMosix 傪棙梡偟偨夋憸張棟
    16. 僶僀僆僀儞僼僅儅僥僢僋僗偲 openMosix
   
V. openMosix 偺奐敪
   
    17. openMosix 偺撪晹傪尒傞
   
A. 峏偵忣曬偑昁梫側応崌
   
    A.1. IRC
    A.2. 偝傜偵抦傞偵偼
    A.3. 東栿
    A.4. 儕儞僋
    A.5. 儊乕儕儞僌儕僗僩
    A.6. 擔杮岅斉幱帿
   
B. 僋儗僕僢僩
C. GNU Free Documentation License
   
    0. PREAMBLE
    1. APPLICABILITY AND DEFINITIONS
    2. VERBATIM COPYING
    3. COPYING IN QUANTITY
    4. MODIFICATIONS
    5. COMBINING DOCUMENTS
    6. COLLECTIONS OF DOCUMENTS
    7. AGGREGATION WITH INDEPENDENT WORKS
    8. TRANSLATION
    9. TERMINATION
    10. FUTURE REVISIONS OF THIS LICENSE
    How to use this License for your documents
   
嶕堷

List of Tables
2-1. openMosix 偺挿強
2-2. openMosix 偺抁強
4-1. 偦偺懠偺僨傿儗僋僩儕
7-1. /proc/hpc 僷儔儊僞偺曄峏
7-2. /proc/hpc/admin/
7-3. /proc/hpc/decay/ 偵偁傞僼傽僀儖偵 1 傪彂偒崬傓
7-4. 偦偺懠偺僲乕僪偵偮偄偰偺忣曬
7-5. 儘乕僇儖僾儘僙僗偵偮偄偰偺捛壛忣曬
7-6. 徻嵶
7-7. mosrun 偺捛壛僆僾僔儑儞
9-1. 婲摦曽朄

I. 偼偠傔偵

Table of Contents
1. 偼偠傔偵
   
    1.1. openMosix HOWTO
    1.2. 偼偠傔偵
    1.3. 偍偙偲傢傝
    1.4. 攝晍婯掕
    1.5. 偙偺僪僉儏儊儞僩偺嵟怴斉
    1.6. 僼傿乕僪僶僢僋
   
2. openMosix 偲偼壗偐
   
    2.1. 僋儔僗僞儕儞僌偵偮偄偰亅偪傚偭偲偟偨愢柧
    2.2. 偙傟傑偱偺偙偲
    2.3. 壱摦拞偺 openMosix 偺椺
    2.4. 峔惉
    2.5. openMosix 傪帋偟偵摦偐偡
    2.6. openMosix 偺挿強
    2.7. openMosix 偺庛揰
   
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 1. 偼偠傔偵

1.1. openMosix HOWTO

弶傔偵 Mosix 偑丄偦傟偐傜 openMosix 偑搊応偟傑偟偨丅偙傟偼偲偰傕嫽枴怺
偄僾儘僕僃僋僩偩偲巚偄傑偡丅媄弍揑側柺偩偗偱偼側偔丄儔僀僙儞僗偑岲傑偟
偄偲偄偆揰偐傜傕偱偡丅偙偺 HOWTO 偱偼 Mosix 偱偼側偔丄openMosix 偵徟揰
傪摉偰傞偙偲偵寛傔傑偟偨丅偦偺庡側棟桼偼 openMosix 偑儐乕僓悢偱彑偭偰偄
傞偐傜偱偡丅(Moshe Bar 巵偵傛傟偽丄媽 Mosix 僐儈儏僯僥傿偺偍傛偦 97 %
偑 openMosix 偵堏峴偟偨丄偲偟偰偄傑偡)(2002 擭 7 寧 5 擔)丅忋婰偺棟桼偱
丄忣曬偺懡偔偼 Mosix 偲 openMosix 椉儐乕僓偵栶棫偮偲巚偄傑偡丅巹偼
HOWTO 傪暘偗傛偆偲寛傔傑偟偨丅Mosix HOWTO 偺嵟怴斉偼 Mosix 偲 OpenMosix
椉幰偵偮偄偰怗傟傜傟偰偄偰丄0.20 偵側偭偰偄傑偡丅openMosix 偵徟揰傪摉偰
傞偙偲偑栚揑偱偡偑丄Mosix 儐乕僓傪寉帇偡傞偮傕傝偼偁傝傑偣傫丅徻偟偄偙
偲偼 http://howto.ipng.be/Mosix-HOWTO/ 偵偁傝傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

1.2. 偼偠傔偵

  偙偺僪僉儏儊儞僩偼丄openMosix 偲偄偆僜僼僩僂僃傾僷僢働乕僕偺奣梫偺夝
愢偱丄 openMosix 偼僱僢僩儚乕僋偱宷偑偭偰偄傞暋悢偺 GNU/Linux 僐儞僺儏
乕僞傪 1 偮偺僐儞僺儏乕僞僋儔僗僞偵曄恎偝偣傑偡丅夝愢拞偱偼 openMosix
偺婡擻傪僼儖偵巊偭偨僾儘僌儔儉傪摫擖偡傞偺偵摉偨偭偰偺娙扨側愢柧傪偡傞
偲偲傕偵丄暲楍張棟偺攚宨偵偮偄偰傕愢柧偟傑偡丅偙偺 HOWTO 偱偼丄攚宨偲側
傞忣曬傪採嫙偡傞僪僉儏儊儞僩偵偮偄偰偝傜偵徻偟偔弎傋丄條乆側僨傿僗僩儕
價儏乕僔儑儞偑帩偮暼偵偮偄偰傕榑偠傑偡丅

Mosix 僠乕儉偺壗恖偐偑 openMosix 傪奐敪偟(徻偟偔偼屻掱)丄偙偺 HOWTO 傪
嶌惉偟傑偟偨丅偟偨偑偭偰偼偠傔偺偙傠偼 openMosix 傕 Mosix 傕榑偠偰偄傑
偟偨丅忣曬偺懡偔偑 Mosix丄openMosix 儐乕僓偳偪傜偵傕栶棫偮偵傕偐偐傢傜
偢丄HOWTO 傪暘偗傞偙偲偵偟傑偟偨丅Mosix HOWTO 偺嵟怴斉偼 Mosix 偲
OpenMosix 椉幰偵偮偄偰怗傟傜傟偰偄偰丄0.20 偵側傝傑偡丅 http://
howto.ipng.be/Mosix-HOWTO/Mosix-HOWTO/ 偵偁傝傑偡丅

Scot Stevenson 巵偑僪僉儏儊儞僩嶌惉傪扤偐戙傢傝偵偡傞恖偑偄側偄偐偲扵偟
偰偄偨帪丄Kris Buytaert 偑娭傢傝傪帩偮偙偲偵側傝傑偟偨丅偦傟偼 2002 擭
偺 2 寧偱偟偨丅摉弶偼 Mosix 偲 openMosix 椉幰傪榑偠偰偄傑偟偨偑丄偙偺斉
偺 HOWTO 偱偼庡偵 openMosix 傪埖偄傑偡丅偨偩拲堄偟偰梸偟偄偺偼丄偙偺僪
僉儏儊儞僩偵偼 openMosix 偲偡傋偒側偺偵傕偐偐傢傜偢丄傑偩 Mosix 偵尵媦
偟偰偄傞偲偙傠偑偁傞揰偱偡丅

  杮棃傑偠傔偱偁傞傋偒尒弌偟偑丄偦偆側偭偰偄側偄傕偺偑偁傞偺偵婥晅偐傟
傞偱偟傚偆丅Scot 巵偼 HOWTO 傪寉偄挷巕偱彂偙偆偲偟偰偄傑偟偨丅偦傟偼悽
娫 (僎僢僾傪偟偰偄傞儁儞僊儞偑儅僗僐僢僩偵側偭偰偄傞傛偆側奅孏偱偝偊)偑
偆傫偞傝偡傞傛偆側媄弍暥專偱偁傆傟偰偄傞偐傜偱偡丅偦傫側傢偗偱丄僐儊儞
僩偑偁傞晹暘偑傑偩偁傝傑偡丅

   

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

1.3. 偍偙偲傢傝

 偙偺僪僉儏儊儞僩偵婰弎偝傟偰偄傞忣曬偼丄帺屓愑擟偱棙梡偟偰偔偩偝偄丅巹
偼偙偺僪僉儏儊儞僩偺撪梕偵偮偄偰愑擟傪帩偪傑偣傫丅峫偊曽丄椺傪娷傓傕傠
傕傠偺僪僉儏儊儞僩偺撪梕偼丄昁偢帺屓愑擟偱棙梡偟偰偔偩偝偄丅

 偡傋偰偺挊嶌尃偼丄摿偵抐傝偑柍偄尷傝偦傟偧傟偺強桳幰偑曐帩偟偰偄傑偡丅
偙偺僪僉儏儊儞僩偵娷傑傟傞梡岅偼丄偳偺僩儗乕僪儅乕僋傗僒乕價僗儅乕僋偑
帩偮崌朄惈偵塭嬁傪偁偨偊傞傕偺偲偼傒側偝傟傑偣傫丅openMosix 偼 Moshe
Bar 巵偑挊嶌尃傪曐帩偟偰偄傑偡丅Mosix 偼 Amnon Barak 巵偑挊嶌尃傪曐帩偟
偰偄傑偡丅 Linux 偼 Linus Torvalds 巵偑 Registered Trademark 傪曐帩偟偰
偄傑偡丅 openMosix 偼 Free Software Foundation 偑敪峴偟偰偄傞 GNU
General Public License 偺戞擇斉偵婎偯偄偰偄傑偡丅

 摿掕偺惢昳傗僽儔儞僪柤偼彸擣偝傟偨偲傒側偝傟傑偣傫丅 

 僀儞僗僩乕儖傪偡傞慜偵僶僢僋傾僢僾傪庢傝丄偐偮掕婜揑偵僶僢僋傾僢僾傪偲
傞偙偲傪嫮偔悇彠偟傑偡丅  

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

1.4. 攝晍婯掕

 Copyright (c) 2002 by Kris Buytaert and Scot W. Stevenson. This
document may be distributed under the terms of the GNU Free
Documentation License, Version 1.1 or any later version published by
the Free Software Foundation; with no Invariant Sections, with no
Front-Cover Texts, and with no Back-Cover Texts. A copy of the license
is included in the appendix entitled "GNU Free Documentation License".

亂栿拹丗攝晍婯掕偵偮偄偰偼丄尨暥傪偦偺傑傑嵹偣傑偡丅GNU Free
Documentation License 偵偮偄偰偼丄擔杮岅栿偱偁傞 GNU 僼儕乕暥彂棙梡嫋戻
宊栺彂 <http://www.gnu.org/licenses/licenses.ja.html#FDL> 傪嶲徠偟偰偔
偩偝偄亃

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

1.5. 偙偺僪僉儏儊儞僩偺嵟怴斉

 偙偺僪僉儏儊儞僩偺岞幃側嵟怴斉偼丄壓婰偺 Web 僒僀僩偵偁傝傑偡丅 the
Linux Documentation Project <http://www.tldp.org> 僪儔僼僩傕偟偔偼兝斉
偵偮偄偰偼 howto.ipng.be <http://howto.ipng.be/Mosix-HOWTO/index.html>
偺僒僽僼僅儖僟偵偁傝傑偡丅偙偺僪僉儏儊儞僩偺曄峏偵偮偄偰偼丄openMosix
儊乕儕儞僌儕僗僩偱媍榑偝傟傞偺偑晛捠偱偡丅openMosix <http://
openmosix.sourceforge.net> 傪尒偰偔偩偝偄丅  

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

1.6. 僼傿乕僪僶僢僋

 尰嵼偙偺僪僉儏儊儞僩偼 Kris Buytaert 偑儊儞僥僫儞僗偟偰偄傑偡丅HOWTO
偵懳偡傞堄尒傗峏怴偵偮偄偰偼丄斵偲僐儞僞僋僩傪庢偭偰偔偩偝偄丅 

  openMosix 傕偟偔偼 Mosix 帺懱偵偮偄偰偺媄弍揑側幙栤偼丄奩摉偺儊乕儕儞
僌儕僗僩偵搳峞偡傞傛偆偵偍婅偄偟傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 2. openMosix 偲偼壗偐

2.1. 僋儔僗僞儕儞僌偵偮偄偰亅偪傚偭偲偟偨愢柧

  僐儞僺儏乕僞偼戝晹暘偺帪娫嬻偄偰偄傑偡丅xload 傗 top 偺傛偆側僔僗僥儉
偺棙梡忬嫷傪儌僯僞偡傞僾儘僌儔儉傪摦偐偣偽丄嫲傜偔僾儘僙僢僒偺儘乕僪偺
暯嬒偑 1.0 偵偝偊傕撏偐側偄偙偲偑傢偐傞偱偟傚偆丅僐儞僺儏乕僞偑 2 戜埲
忋偁傞側傜丄偳傫側帪偱傕彮側偔偲傕 1 戜偼壗傕偟偰偄側偄岞嶼偑戝偒偄偱偟
傚偆丅巆擮側偙偲偵丄杮摉偵 CPU 僷儚乕偑昁梫偲側傞帪偵偼亅 C++ 傪僐儞僷
僀儖偟偰偄傞帪傗 Ogg Vorbis 偺壒妝僼傽僀儖傪僄儞僐乕僪偟偰偄傞帪亅摨帪
偵傕偭偲偨偔偝傫偺 CPU 偑昁梫偱偡丅僋儔僗僞儕儞僌偺攚宨偵偁傞傾僀僨傿傾
偼棙梡偱偒傞偡傋偰偺僐儞僺儏乕僞偵晧壸傪偽傜傑偒丄懠偺儅僔儞偱嬻偄偰偄
傞儕僜乕僗傪巊偆偙偲偱偡丅 

 僋儔僗僞偺婎杮峔惉偼丄扨撈偺僐儞僺儏乕僞偱偡丅偙傟偼乽僲乕僪乿偲傕屇偽
傟傑偡丅僋儔僗僞偼偝傜偵儅僔儞傪捛壛偡傞偙偲偱奼挘亅乽僒僀僘乿傗乽僗働
乕儖乿偲偄偆昞尰傪偲傝傑偡亅偑壜擻偱偡丅僋儔僗僞偼奣偟偰屄乆偺儅僔儞偑
懍偄傎偳丄儅僔儞娫偺愙懕懍搙偑崅懍側傎偳丄僷儚僼儖偵側傝傑偡丅偝傜偵僋
儔僗僞偺僆儁儗乕僥傿儞僌僔僗僥儉偼丄忬嫷曄壔偵墳偠偰棙梡壜擻側僴乕僪僂
僃傾傪嵟戝尷偵妶梡偟側偗傟偽偄偗傑偣傫丅僋儔僗僞偑條乆側僐儞僺儏乕僞偺
僞僀僾偐傜峔惉偝傟傞応崌(乽堎庬乿僋儔僗僞)傗僋儔僗僞偺峔惉偑晄梡堄偵曄
壔偟(儅僔儞偑僋儔僗僞偵弌偨傝擖偭偨傝偡傞)晧壸偑帠慜偵梊應偱偒側偄偲丄
嵟戝尷偵妶梡偡傞偺偵偼偄偭偦偆懡偔偺崲擄偑敽偄傑偡丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.1.1. 僋儔僗僞儕儞僌偵偮偄偰亅偪傚偭偲偟偨慜抲偒

2.1.1.1. HPC vs 僼僃僀儖僆乕僶乕 vs 儘乕僪僶儔儞僔儞僌

僋儔僗僞偼 3 僞僀僾偁傝傑偡丅僼僃僀儖僆乕僶乕偲儘乕僪僶儔儞僔儞僌偲僴僀
僷僼僅乕儅儞僗僐儞僺儏乕僥傿儞僌偱偡丅婛愝偺戝晹暘偼丄嫲傜偔僼僃僀儖僆
乕僶乕偲儘乕僪僶儔儞僔儞僌偱偡丅

 丒 僼僃僀儖僆乕僶乕僋儔僗僞偼僱僢僩儚乕僋愙懕偟偨 2 戜埲忋偺僐儞僺儏乕
    僞偱丄撈棫偟偨僴乕僩價乕僩愙懕傪 2 儂僗僩娫偱寢傫偱偄傑偡丅 2 儂僗
    僩娫偱偺僴乕僩價乕僩愙懕偼丄慡僒乕價僗偑棙梡壜擻偐偳偆偐傪儌僯僞偡
    傞偺偵棙梡偟傑偡丅1 偮偺儅僔儞偱僒乕價僗偑棊偪傞偲丄暿偺儅僔儞偑僒
    乕價僗傪堷偒宲偛偆偲偟傑偡丅
   
 丒 儘乕僪僶儔儞僔儞僌丒僋儔僗僞偺僐儞僙僾僩偼丄椺偊偽 Web 僒乕僶偵儕僋
    僄僗僩偑棃傞偲丄僋儔僗僞偑嵟傕壣側儅僔儞傪僠僃僢僋偟偰丄偦偺儕僋僄
    僗僩傪奩摉偡傞儅僔儞偵憲傞偲偄偆傕偺偱偡丅尰幚偵偼儘乕僪僶儔儞僔儞
    僌丒僋儔僗僞偼僼僃乕儖僆乕僶乕僋儔僗僞偵儘乕僪僶儔儞僔儞僌婡擻傪捛
    壛偟丄偝傜偵懡偔偺僲乕僪傪敽偆働乕僗偑懡偔偁傝傑偡丅
   
 丒 嵟屻偵嫇偘傞僋儔僗僞偼丄僴僀僷僼僅乕儅儞僗丒僐儞僺儏乕僥傿儞僌偺僋
    儔僗僞偱偡丅儅僔儞偼僨乕僞僙儞僞乕偑昁梫偲偡傞崅偄惈擻偵尒崌偆傛偆
    偵丄摿暿偵僠儏乕僯儞僌偝傟偰偄傑偡丅Beowulf 偼尋媶巤愝偱媮傔傜傟傞
    寁嶼懍搙傪摼傞偺偵徟揰傪摉偰丄奐敪偝傟傑偟偨丅偙偺僞僀僾偺僋儔僗僞
    偼丄儘乕僪僶儔儞僔儞僌婡擻傕帩偭偰偄傑偡丅堎側傞僾儘僙僗傪傛傝懡偔
    偺儅僔儞偵暘嶶偝偣傞偙偲偱惈擻傪摼偰偄傑偡丅偟偐偟寢嬊偼僾儘僙僗偼
    暲楍壔偝傟丄撈棫偟偰摦嶌偱偒傞儖乕僠儞偼偍屳偄偵廔椆傪懸偮偙偲側偔
    堎側傞儅僔儞偵暘嶶偝傟偰偄傑偡丅
   
儘乕僪僶儔儞僔儞僌偲僼僃僀儖僆乕僶乕僞僀僾偺僋儔僗僞偺椺偲偟偰峀偔抦傜
傟偰偄傞偺偼丄Web 僔僗僥儉傗僨乕僞儀乕僗丄僼傽僀傾乕僂僅乕儖偱偡丅偙偺
僒乕價僗偵偼 99.99999 % 偺壱摦棪偑梫媮偝傟偰偄傑偡丅僀儞僞乕僱僢僩偼擭
拞柍媥偱摦偄偰偍傝丄傕偆僆僼傿僗偑暵傑傞偲僒乕僶傪棊偲偡偲偄偆帪戙偱偼
偁傝傑偣傫丅

CPU 僒僀僋儖偑昁梫側応崌丄僟僂儞僞僀儉傪梊掕偵擖傟偰傕嵎偟巟偊側偄偱偟
傚偆丅偟偐偟偦傟偼昁梫側帪偵嵟戝尷偺儅僔儞僷儚乕偑庤偵擖傞働乕僗偱偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.1.1.2. 僗乕僷乕僐儞僺儏乕僞 vs. 僋儔僗僞

 偙傟傑偱僗乕僷乕僐儞僺儏乕僞偼丄尷傜傟偨儀儞僟乕偵傛偭偰偺傒峔抸偝傟偰
偒傑偟偨丅僗乕僷乕僐儞僺儏乕僞偺傛偆側惈擻傪昁梫偲偟偰偄傞婇嬈傗慻怐偼
丄嫄妟偺帒嬥傪弨旛偱偒側偗傟偽偄偗傑偣傫偱偟偨丅戝妛偺懡偔偼帺椡偱僗乕
僷乕僐儞僺儏乕僞偺僐僗僩傪榙偊傑偣傫偱偟偨丅偦偙偱懠偺庤抜傪専摙偟傑偟
偨丅傑偢堎側傞僕儑僽傪傛傝懡偔偺僐儞僺儏乕僞偵暘嶶偟丄僕儑僽偺寢壥偺僨
乕僞傪廤傔偰偙傛偆偲偟偨偙偲偐傜丄僋儔僗僞偲偄偆敪憐偑惗傑傟傑偟偨丅傕
偭偲埨壙偱扤傕偑棙梡偱偒傞堦斒揑側僴乕僪僂僃傾偵傛偭偰丄偙傟傑偱偨偩偁
偙偑傟偰偄偨偩偗偩偭偨僗乕僷乕僐儞僺儏乕僞偲摨偠寢壥偑摼傜傟傑偡丅偟偐
偟 PC 僾儔僢僩僼僅乕儉偼偝傜偵恑壔偟丄僗乕僷乕僐儞僺儏乕僞偲暋悢偺僷乕
僜僫儖僐儞僺儏乕僞偱慻傫偩僋儔僗僞娫偺惈擻嵎偼弅傑偭偰峴偒傑偡丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.1.1.3. 僋儔僗僞儌僨儖[(N)UMA, PVM/MPI]

暲楍張棟偵偼傗傝曽偑偄偔偮偐偁傝傑偡丅(N)UMA丄DSM丄PVM丄MPI 偑偦傟偱丄
條乆側暲楍張棟庤朄傪偲偭偰偄傑偡丅僴乕僪僂僃傾偱幚憰偝傟偰偄傞傕偺傕偁
傟偽丄僜僼僩僂僃傾偵傛傞傕偺丄傑偨偼偦偺椉幰偵傛傞傕偺傕偁傝傑偡丅

(N)UMA ((Non-)Uniform Memory Access)偼丄僐乕僪偺幚峴傪嫟桳儊儌儕忋偱峴
偊傞儅僔儞偺椺偱偡丅Linux 僇乕僱儖偵偼 NUMA 偺幚憰偑擖偭偰偍傝丄堎側傞
応強偵偁傞儊儌儕傊偺傾僋僙僗僞僀儉偵廋惓傪巤偟偰偁傝傑偡丅CPU 偵嵟傕嬤
偄儊儌儕傪巊梡偡傞偺偼偦傟傪巊偭偰偄傞僇乕僱儖偺栶栚偱偡丅

DSM丄偮傑傝暘嶶嫟桳儊儌儕(Distributed Shared memory)偼丄僜僼僩僂僃傾丄
僴乕僪僂僃傾椉幰偱幚尰偟偰偄傑偡丅暘嶶偟偰偄傞暔棟儊儌儕偵懳偟偰丄壖憐
儗僀儎傪採嫙偡傞偺偑僐儞僙僾僩偱偡丅

PVM 偲 MPI 偼 GNU/Linux 儀乕僗偺 Beowulf 傪岅傞帪偵昿斏偵巊傢傟傞僣乕儖
偱偡丅

MPI 偼儊僢僙乕僕僷僢僔儞僌僀儞僞僼僃乕僗(Message Passing Interface)偺棯
徧偱偡丅儊僢僙乕僕僷僢僔儞僌儔僀僽儔儕偺昗弨婯奿偱偡丅 MPICH 偼 MPI 偺
幚憰偺拞偱堦斣棙梡偝傟偰偄傞幚憰偱偡丅MPICH 偺師偵傛偔尒偐偗傞偺偑 LAM
偱偡丅MPI 儀乕僗偺暿幚憰偱丄儔僀僽儔儕偑僼儕乕偱儕僼傽儗儞僗幚憰偝傟偰
偄傑偡丅

PVM(Parallel Virtual Machine)偼 MPI 偺摨宯摑偱丄Beowulf 傪峔抸偡傞僣乕
儖偲偟偰傛偔棙梡偝傟偰偄傑偡丅PVM 偼儐乕僓嬻娫偱摦偒傑偡偺偱丄僇乕僱儖
偵摿暿側廋惓傪巤偡昁梫偼偁傝傑偣傫丅儐乕僓偑廫暘側尃尷傪帩偭偰偄傟偽
PVM 偼摦嶌偟傑偡丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.1.1.4. openMosix 偺埵抲偯偗

  openMosix 僜僼僩僂僃傾僷僢働乕僕傪巊偊偽丄僱僢僩儚乕僋偵愙懕偟偰偄傞
GNU/Linux 偑摦嶌偟偰偄傞僐儞僺儏乕僞傪丄1 偮偺僋儔僗僞偵曄偊傜傟傑偡丅
僋儔僗僞偵強懏偡傞僲乕僪娫偱帺摦揑偵晧壸暘嶶偟傑偡丅偦偟偰僒乕價僗傪拞
抐偡傞偙偲側偔丄僲乕僪偑摦嶌拞偺僋儔僗僞偵弌偨傝擖偭偨傝偱偒傑偡丅愙懕
懍搙傗 CPU 懍搙偵墳偠偰丄晧壸傪僲乕僪娫偵暘嶶偟傑偡丅

  openMosix 偼僇乕僱儖偺堦晹偱偁傝丄Linux 偲姰慡屳姺偱偁傞傛偆偵儊儞僥
僫儞僗偝傟偰偄傑偡丅偟偨偑偭偰儐乕僓偺僾儘僌儔儉傗僼傽僀儖偦偺懠偺儕僜
乕僗偼丄壗傕曄峏偡傞偙偲側偔摦嶌偟傑偡丅堦斒儐乕僓偼 1 戜偺 Linux 偲
openMosix 僔僗僥儉偺嬫暿偑偮偐側偄偱偟傚偆丅堦斒儐乕僓偵偲偭偰丄僋儔僗
僞慡懱偑 1 戜偺(崅懍側)GNU/Linux 僔僗僥儉偲偟偰婡擻偡傞偐傜偱偡丅 

openMosix 偼 IA32 屳姺偺僾儔僢僩僼僅乕儉偱摦偔昗弨揑側 Linux 偲姰慡屳姺
側僇乕僱儖僷僢僠偲偟偰梡堄偝傟傑偡丅撪晹偺儘乕僪僶儔儞僔儞僌丒傾儖僑儕
僘儉偵傛偭偰摟夁揑偵僾儘僙僗傪懠偺僋儔僗僞偺儊儞僶乕偵儅僀僌儗乕僩偟傑
偡丅挿強偼僲乕僪娫偱儘乕僪僶儔儞僔儞僌偑偆傑偔摥偔偙偲偱偡丅僋儔僗僞帺
恎偑壱摥棪傪忢帪嵟揔壔偟偰偄傑偡(僔僗僥儉娗棟幰偼丄庤摦偱摦嶌拞偺帺摦儘
乕僪僶儔儞僔儞僌傪愝掕曄峏偱偒傑偡)丅

偙偺摟夁揑側僾儘僙僗丒儅僀僌儗乕僔儑儞婡擻偼丄僋儔僗僞慡懱傪僋儔僗僞丒
僲乕僪偱棙梡偱偒傞偩偗偺僾儘僙僢僒傪搵嵹偟偨 1 偮偺乽戝偒側乿 SMP 僔僗
僥儉偺傛偆偵尒偣傑偡(X 戜側傜 X 屄僾儘僙僢僒傪愊傫偩僔僗僥儉偵側傝傑偡
丅椺偊偽僨儏傾儖丄僋儚僢僪僔僗僥儉偲偄偆傛偆偵)丅openMosix 偼 HPC 岦偗
偵嵟揔壔偝傟偨僼傽僀儖僔僗僥儉(oMFS)傕梡堄偟偰偄傑偡丅NFS 偲偼堎側傝丄
僉儍僢僔儏傗僞僀儉僗僞儞僾丄儕儞僋偺惍崌惈偑偁傝傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.2. 偙傟傑偱偺偙偲

2.2.1. 奐敪巎

 Rumours 巵偼 Mosix 偑 Moshe Unix 偐傜惗傑傟偨偲弎傋偰偄傑偡丅摉弶
Mosix 偼 BSD/OS 3.0 偱摦偔傾僾儕働乕僔儑儞偲偟偰偼偠傑傝傑偟偨丅

Announcing MO6 for BSD/OS 3.0                                              
Oren Laadan (orenl@cs.huji.ac.il)                                          
Tue, 9 Sep 1997 19:50:12 +0300 (IDT)                                       
                                                                           
偙傫偵偪偼丅                                                               
                                                                           
偆傟偟偄偍抦傜偣偱偡丅MO6 Version 3.0 Release 1.04 (beta-4)偑棙梡壜擻偵    
側傝傑偟偨丅BSD/OS 3.0 屳姺偱僷僢僠儗儀儖偼 K300-001 偐傜 M300-029 偵      
側傝傑偡丅                                                                 
                                                                           
MO6 偼 6 僾儘僙僢僒丒僶乕僕儑儞偱丄PC 僋儔僗僞梡偵 BSD/OS 傪嫮壔偟偨       
MOSIX 儅儖僠僐儞僺儏乕僞偱偡丅2 乣 6 戜偺 PC 傪 LAN 愙懕偟丄MO6 奼挘       
偵傛傞恀偺儅儖僠僐儞僺儏乕僥傿儞僌娐嫬傪嫕庴偱偒傑偡丅                     
                                                                           
MO6 偺攝晍偵偮偄偰                                                         
--------------------                                                       
MO6 偼乽僜乕僗乿傕乽僶僀僫儕乿傕攝晍偟偰偄傑偡丅BSD/OS 偵懳偡傞僷僢僠      
偲偟偰僀儞僗僩乕儖偝傟丄僀儞僗僩乕儖偵偼懳榖宍幃偺僗僋儕僾僩傪巊梡偟傑偡丅 
                                                                           
MO6 偼 http://www.cnds.jhu.edu/mirrors/mosix/ 傕偟偔偼                     
巹偺僒僀僩偱偁傞 http://www.cs.huji.ac.il/mosix/ 偐傜擖庤偱偒傑偡丅        
                                                                           
崱夞偺儕儕乕僗偺栚嬍                                                       
--------------------------------------                                     
- 僾儘僙僗丒儅僀僌儗乕僔儑儞偵傛傞儊儌儕偺愭撉傒(徚旓杊巭)(丠)             
- 僀儞僗僩乕儖曽朄傪夵慞                                                   
- 儅僀僌儗乕僔儑儞偺惂屼嫮壔                                               
- 娗棟僣乕儖偺夵慞                                                         
- 儐乕僓梡儐乕僥傿儕僥傿偺捛壛                                             
- 僪僉儏儊儞僩偲 man 偺捛壛                                                
- 摦揑側愝掕                                                               
                                                                           
僼傿乕僪僶僢僋傗僐儊儞僩偼 mosix@cs.huji.ac.il 傑偱偍婅偄偟傑偡丅          
-------------------                                                        

1999 擭偼偠傔偵 Mosix M06 Beta 偑 Linux 2.2.1 岦偗偵儕儕乕僗偝傟傑偟偨
丅 2001 擭廔傢傝偐傜 2002 擭偺弶傔偵 openMosix 偑 Mosix 偺僼儕乕僶乕僕
儑儞偲偟偰惗傑傟傑偟偨(徻嵶偼師偺愡偱)丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.2.2. openMosix

openMosix 偼 mosix.org 偵偁傞傕偺偡傋偰偵懳偡傞曗嫮偱偡丅慺惏傜偟偄
Mosix 僾儘僕僃僋僩偵偍偗傞 Barak 嫵庼偺儕乕僟乕僔僢僾偵怺偔姶幱偡傞偲偲
傕偵宧堄傪暐偄傑偡丅

Moshe Bar 巵偼壗擭傕偺娫 Mosix 僾儘僕僃僋僩(www.mosix.org)偵偐偐傢偭偰
偒傑偟偨丅傑偨 Mosix 僾儘僕僃僋僩偺嫟摨僾儘僕僃僋僩儅僱乕僕儍偱偁傝丄彜
梡 Mosix 傪埖偆婇嬈偺僛僱儔儖儅僱乕僕儍乕偱傕偁傝傑偟偨丅

Mosix 偺彜梡棙梡偵偮偄偰偺尒夝偺憡堘偐傜丄Moshe Bar 巵偼怴偟偄僋儔僗僞
偺婇嬈 Qlusters, Inc. 傪棫偪忋偘傑偟偨丅偦偟偰 Barak 嫵庼偼偙偺儀儞僠儍
乕婇嬈偵偝偟偁偨傝偼壛傢傜側偄偙偲偵寛傔(偟偐偟嶲壛偡傞偙偲傪恀寱偵専摙
偟傑偟偨)丄搳帒壠偲挿婜偵搉傞岎徛傪帩偪傑偟偨丅傕偼傗 Mosix 偼 GPL 僾儘
僕僃僋僩偲偟偰僆乕僾儞偵僒億乕僩偝傟側偄偙偲偼偁偒傜偐偱偡丅偐側傝偺儐
乕僓偑 Mosix 偐傜嫀偭偨偺偱(慡悽奅偺僀儞僗僩乕儖儀乕僗偱偍傛偦 1000)丄
Moshe Bar 巵偼 Mosix 僾儘僕僃僋僩偺奐敪偲僒億乕僩傪怴偟偄柤徧偱宲懕偡傞
偙偲偵寛掕偟傑偟偨丅 openMosix 偼 GPL2 儔僀僙儞僗偵弨嫆偟偰偄傑偡丅埲慜
偺 Mosix 僾儘僕僃僋僩桼棃偺偡傋偰偺僐乕僪偵偼 Copyright 2002 by Amnon
Barak 偑丄怴偟偄僐乕僪偡傋偰偵偼 Copyright 2002 by Moshe Bar 偑偮偄偰偄
傑偡丅

openMosix 偺彨棃偺僶乕僕儑儞偱偼丄傾乕僉僥僋僠儍偑戝暆偵曄峏偝傟傞偱偟
傚偆丅 openMosix 偺儊乕儕儞僌儕僗僩偵偍偄偰丄帺摦愝掕丄僲乕僪扵嶕丄儐乕
僓嬻娫偺怴偨側僣乕儖偺僐儞僙僾僩偵偮偄偰媍榑偝傟偰偄傑偡丅怴偟偄婡擻偺
戝敿偼偡偱偵幚憰偝傟偰偄傑偡偑丄DSM(Distributed Shared Memory丅暘嶶嫟桳
儊儌儕)懠丄傑偩偙偺僪僉儏儊儞僩傪彂偄偰偄傞帪揰(2003 擭 3 寧)偱偼奐敪拞
偺傕偺傕偁傝傑偡丅

昗弨壔偲崱屻偺屳姺惈偵庢傝慻傓偨傔偵丄proc 僀儞僞僼僃乕僗偑 /proc/mosix
偐傜 /proc/hpc 傊偲曄峏偵側傝傑偟偨丅/etc/mosix.map 傕 /etc/hpc.map 偵
曄峏偝傟傑偟偨丅嵟嬤偵側偭偰愝掕僼傽僀儖偺摑堦偺偨傔丄/etc/
openmosix.map 偑抲偐傟傑偟偨(嵟弶偺愝掕僼傽僀儖偱偁傞 /etc/init.d/
openmosix 僗僋儕僾僩偑偙偺僼傽僀儖偺懚嵼傪壖掕偟偰偄傞偲偄偆偺偑恀憡偱
偡)丅openMosix 梡偵曄峏偝傟偨僐儅儞僪儔僀儞儀乕僗偺儐乕僓嬻娫僣乕儖偼丄
偡偱偵僾儘僕僃僋僩偺Web 僒僀僩偱棙梡壜擻偱偡丅

openmosix.map 愝掕僼傽僀儖偼丄omdiscd(openMosix auto DISCovery Daemon)
偲偄偆僲乕僪帺摦扵嶕僔僗僥儉偱抲偒姺偊壜擻偱偡丅偙傟偵偮偄偰偼屻偱榑偠
傑偡丅

openMosix 偼悽奅奺抧偱嫟摨嶌嬈偟偰偄傞桳擻側恖乆偵傛偭偰僒億乕僩偝傟偰
偄傑偡(openmosix.sourceforge.net 傪尒偰偔偩偝偄)丅僾儘僕僃僋僩偺庡栚揑
偼丄 HPC 傾僾儕働乕僔儑儞偡傋偰偵栶棫偮丄昗弨壔偝傟偨僋儔僗僞娐嫬偱偡丅

openMosix 偵偼僾儘僕僃僋僩偺 Web 僒僀僩 http://
openMosix.sourceforge.net 傕偁傝傑偡丅奐敪幰岦偗偵 CVS 僣儕乕偲儊乕儕儞
僌儕僗僩偲偲傕偵儐乕僓岦偗偺儊乕儕儞僌儕僗僩傕偁傝傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.2.3. 尰忬

傾僋僥傿僽側僆乕僾儞僜乕僗僾儘僌儔儉偺戝敿偲摨條偵丄openMosix 偺曄峏搙
崌偄偼丄僪僉儏儊儞僩傪堐帩偡傞恖乆偺擻椡傪挻偊偰偟傑偭偰偄傑偡丅

偙偺晹暘傪彂偄偰偄傞 2003 擭偺 2 寧偱偼丄openMosix 2.4.20 偑棙梡偱偒丄
openMosix 偺儐乕僓嬻娫僣乕儖偼 v0.2.4 偑棙梡壜擻偱偡丅偙傟偵偼帺摦扵嶕
僣乕儖偑擖偭偰偄傑偡丅

傕偭偲嵟嬤偺奐敪忬嫷偼 openMosix website <http://openmosix.sf.net/> 傪
尒偰偔偩偝偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.2.4. 摦偔傾僾儕働乕僔儑儞偼

openMosix 偱摦嶌偡傞傾僾儕働乕僔儑儞傪偡傋偰儕僗僩偵偡傞偺偼晄壜擻偱偡
丅偟偐偟僐儈儏僯僥傿偼 migrate <http://howto.ipng.be/openMosixWiki/
index.php/work%20smoothly> 偱儅僀僌儗乕僩偡傞傾僾儕働乕僔儑儞傪偒偪傫偲
惍棟偟傛偆偲偟偰偄傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.3. 壱摦拞偺 openMosix 偺椺

  openMosix 僋儔僗僞偺峔惉偼偄傠偄傠偱偡丅偙傟傪柧傜偐偵偡傞偨傔偵丄偁
傞壖掕傪偟傑偡丅偁側偨偑妛惗偱丄婑廻幧偱嬥帩偪偺僐儞僺儏乕僞僒僀僄儞僗
偍偨偔偲摨嫃偟偰偍傝丄斵偲偼 openMosix 僋儔僗僞傪峔惉偡傞僐儞僺儏乕僞偲
偟偰儕儞僋偟偰偄傞偲偟傑偡丅偦偟偰偁側偨偼崱丄崙偑擣傔偰偄傞巹揑棙梡栚
揑偱 CD 偐傜壒妝僼傽僀儖傪 Ogg Vorbis 偵曄姺偟偰偄傞偲偟傑偡丅儖乕儉儊
乕僩偼 C++ 傪巊偭偨僾儘僕僃僋僩偱妶摦偟偰偍傝丄偙偺僾儘僕僃僋僩偼悽奅偵
暯榓傪傕偨傜偡偲尵偭偰偄傞偲偟傑偡丅偟偐偟偙偺弖娫斵偼僶僗儖乕儉偱岥偵
弌偣側偄傛偆側峴堊傪偟偰偄傞偲偡傞偲丄斵偺僐儞僺儏乕僞偼壣側偺偱偡丅 

  偦偙偱偁側偨偼 bladeenc 偺傛偆側僾儘僌儔儉傪摦偐偟偰丄Bach 偺 XXX 傪
.wav 僼僅乕儅僢僩偐傜 .ogg 偵曄姺偡傞偲丄偁側偨偺僐儞僺儏乕僞忋偺
openMosix 儖乕僠儞偼椉僲乕僪偺晧壸傪斾妑偟傑偡丅偦偟偰偁側偨偺
Pentium-233 偐傜斵偺 Athlon XP 偵僾儘僙僗傪憲傟偽丄傛傝憗偔張棟偑廔傢傞
偲敾抐偟傑偡丅偙傟偼帺摦揑偵峴傢傟傑偡丅僗僞儞僪傾儘乕儞偺儅僔儞偱偟偰
偄傞偺偲摨條偵丄偨偩偁側偨偼僐儅儞僪傪擖椡偡傞偐丄僋儕僢僋偡傞偐偺偳偪
傜偐偩偗偱偡丅 2 偮埲忋僄儞僐乕僪傪偡傞偲丄偙偲偑塣傇偺偑戝曄憗偔側傝丄
斀墳帪娫傕抶偔側傜側偄偙偲偵婥偯偔偩偗偱偡丅 

  偁側偨偑丄傑偩 XXXX 偲擖椡偟偰偄傞娫偵儖乕儉儊乕僩偑栠偭偰偒傑偟偨丅
僇僼僃僥儕傾偺怘帠偵弌傞儗僢僪僠儕儁僢僷乕偵偮偄偰壗偐傇偮傇偮尵偄側偑
傜丅斵偼乽pmake乿偲屇偽傟傞乽make乿偵暲楍幚峴偺嵟揔壔傪傎偳偙偟偨僾儘僌
儔儉傪巊偭偰僥僗僩傪嵞奐偟傑偡丅斵偑壗傪偟偰傕 CPU 帪娫傪怘偄捵偡偺偱丄
openMosix 偼偁側偨偺儅僔儞偵僒僽僾儘僙僗傪憲傝崬傒丄晧壸偺僶儔儞僗傪庢
傝傑偡丅

  偙偺愝掕偼丄乽single-pool乿偲屇偽傟偰偄傑偡丅偡傋偰偺僐儞僺儏乕僞偼 1
偮偺僋儔僗僞偲偟偰棙梡偝傟傑偡丅偁側偨偺僐儞僺儏乕僞偑嫟摨懱(pool) 偺堦
晹偱偁傞偲偄偆偙偲偑丄挿強偵傕側傝抁強偵傕側傝傑偡丅偁側偨偺張棟偼懠偺
僐儞僺儏乕僞偱幚峴偝傟丄懠偺張棟偑偁側偨偺僐儞僺儏乕僞偱摦偒傑偡丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.4. 峔惉

2.4.1. 僾儘僙僗丒儅僀僌儗乕僔儑儞

 openMosix 傪棙梡偟偰偁傞儅僔儞偱僾儘僙僗傪摦偐偡偲丄幚嵺偼僋儔僗僞偵懏
偡傞暿偺儅僔儞偱摦偄偰偄傞偺偑傢偐傝傑偡丅奺僾儘僙僗偵偼丄偦偺僾儘僙僗
偑偳偙偱嶌惉偝傟偨偺偐傪帵偡 Unique Home Node (UHN)偑晅偗傜傟傑偡丅

 儅僀僌儗乕僔儑儞偡傞偲丄僾儘僙僗偼儐乕僓晹暘偲僔僗僥儉晹暘偺 2 偮偵暘
妱偝傟傑偡丅僔僗僥儉晹暘偑 UHN 偵偁傝懕偗傞偲儐乕僓晹暘偑堏摦偟傑偡丅偙
偺僔僗僥儉晹暘偼戙棟僾儘僙僗偲尵傢傟傞応崌傕偁傝傑偡丅偙偺僾儘僙僗偑戝
敿偺僔僗僥儉僐乕儖偺柺搢傪尒偰丄幚峴傪妱傝怳傝傑偡丅

openMosix 偼偙傟傜 2 偮偺僾儘僙僗娫偺傗傝庢傝傪巇愗傝傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.4.2. The openMosix File System (oMFS)

oMFS 偼 openMosix 偺婡擻偺 1 偮偱丄儘乕僇儖偵儅僂儞僩偟偰偄傞偐偺傛偆偵
僋儔僗僞撪偺儕儌乕僩僼傽僀儖僔僗僥儉偵傾僋僙僗偱偒傞傛偆偵側傝傑偡丅懠
偺僲乕僪偺僼傽僀儖僔僗僥儉偼丄/mfs 偱儅僂儞僩偱偒傑偡丅偨偲偊偽僲乕僪 3
偺 /home 偵偁傞僼傽僀儖偼丄奺儅僔儞偐傜 /mfs/3/home 偱尒傜傟傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.4.3. Direct File System Access (DFSA)

Mosix 傕 openMosix 傕僋儔僗僞偵傑偨偑偭偨僼傽僀儖僔僗僥儉(MFS)傪 DFSA
(Direct File-System Access)僆僾僔儑儞偱梡堄偟偰偄傑偡丅偙偺婡擻傪巊偊偽
丄Mosix 偲 openMosix 偵懏偡傞僲乕僪偑帩偮儘乕僇儖丄儕儌乕僩椉僼傽僀儖僔
僗僥儉偵傾僋僙僗偱偒傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.5. openMosix 傪帋偟偵摦偐偡

openMosix 偺僒億乕僩偺拞偵偼丄愱峌妛惗偱偁傞 Chai Mee Joon 巵偑 OM 儐乕
僓偵懳偟偰丄僼儕乕偺僩儔僀傾儖丒傾僇僂儞僩傪僱僢僩儚乕僋忋偵偁傞斵偺
openMosix 僋儔僗僞偱採嫙偟偰偄傞偲偄偆傕偺偑偁傝傑偡丅偙偙偱儐乕僓偼
openMosix 傪僥僗僩偟偨傝丄幚尡偟偨傝偱偒傑偡丅

偙偺僱僢僩儚乕僋忋偺 openMosix 偑棙梡偱偒傞偙偲偱丄弶怱幰儐乕僓偵懳偟偰
偼 openMosix 偺愝掕偵偍偄偰弌怘傢偡栤戣傪愗傝敳偗傜傟丄傾僾儕働乕僔儑儞
偺奐敪傗堏怉傪偟偰偄傞 openMosix 偺儐乕僓偵懳偟偰偼丄崅偄寁嶼擻椡傪採嫙
偟傑偡丅

偙偺僋儔僗僞偺儐乕僓 ID 偲僷僗儚乕僪傪摼傞偵偼丄 http://
www.mosixcluster.com/trial.php 傪尒偰偔偩偝偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.6. openMosix 偺挿強

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table 2-1. openMosix 偺挿強

劇劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
劆捛壛僷僢働乕僕晄梫丅                                              劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆儐乕僓傾僾儕働乕僔儑儞偺僐乕僪曄峏晄梫丅                          劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆僀儞僗僩乕儖傗愝掕偑娙扨丅                                        劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆Red Hat 儀乕僗偺僔僗僥儉傕偟偔偼僨傿僗僩儕價儏乕僔儑儞側傜丄      劆
劆openMosix 傪僀儞僗僩乕儖偡傞偵偼 # rpm -Uvh openMosix*.rpm 偲擖椡 劆
劆偡傞偩偗丅                                                        劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆DSM 偼傑傕側偔儕儕乕僗(2003 擭 3 寧枛)丅                          劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆openAFS 偲恊榓惈偑崅偄丅                                          劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆IA-64 傕 AMD-64 傕堏怉拞丅                                        劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆oMFS 偼慺偺 MFS 傪傛傝恑壔偝偣偨丅                                劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆10 屄埲忋偺僣乕儖傪旛偊偨僋儔僗僞丒僾儔僢僩僼僅乕儉偱偁傞丅       劆
劆openMosixView丄openMosixWebView丄openMosixApplet丄RxLinux丄PlumpOS劆
劆丄 K12LTSP丄LTSP 懠懡悢丅                                         劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆openMosix 偼儐乕僓帺恎偑奐敪偟偨惉壥偱偁傞丅偟偨偑偭偰摉慠側偑傜儐劆
劆乕僓偲嬞枾側娭學偵偁傞丅                                          劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆帺摦扵嶕僨乕儌儞傗僼僃僀儖僆乕僶乕丒僨乕儌儞偼丄儅儖僠僉儍僗僩儊僢劆
劆僙乕僕傪巊偭偰儐乕僓嬻娫僣乕儖偲偟偰幚憰嵪傒丅                    劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆暋悢僀儞僞僼僃乕僗傪旛偊偨儂僗僩偺僄僀儕傾僗偵懳墳丅              劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆儖乕僥傿儞僌婡擻懳墳(儅儖僠僉儍僗僩偑朷傑偟偔側偄働乕僗偁傝)丅    劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆僋儔僗僞傪儅僗僋偡傞偙偲偱僾儘僙僗偑堏摦偡傞僲乕僪傪巜掕壜擻丅    劆
劋劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2.7. openMosix 偺庛揰

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table 2-2. openMosix 偺抁強

劇劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
劆僇乕僱儖埶懚丅                                                    劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆嫟桳儊儌儕栤戣(DSM 偺兛儕儕乕僗偑 2003 擭 3 寧屻敿偵梊掕)丅       劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆暋悢僗儗僢僪偑惈擻傪敪婗偱偒側偄栤戣丅                            劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆扨堦僾儘僙僗偱摦嶌偝偣偨帪偵惈擻偑摼傜傟側偄丅椺偊偽丄 openMosix  劆
劆僋儔僗僞忋偱 Web 僽儔僂僓傪摦嶌偝偣偨応崌丅僾儘僙僗偼僋儔僗僞偵暘 劆
劆嶶偟側偄丅傕偪傠傫僾儘僙僗偑傛傝崅惈擻側儅僔儞偵儅僀僌儗乕僩偡傞応劆
劆崌偼彍偔丅                                                        劆
劋劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

II. openMosix 偺僀儞僗僩乕儖

Table of Contents
3. 梫審偲寁夋
   
    3.1. 僴乕僪僂僃傾偺梫審
    3.2. 僴乕僪僂僃傾愝掕僈僀僪儔僀儞
    3.3. 僜僼僩僂僃傾偺梫審
    3.4. 僋儔僗僞偺愝寁
    3.5. 嫵幒
   
4. 僨傿僗僩儕價儏乕僔儑儞暿僀儞僗僩乕儖
   
    4.1. openMosix 偺僀儞僗僩乕儖
    4.2. openMosix 傪庢偭偰偔傞
    4.3. openMosix 偺堦斒揑側棙梡忋偺拲堄
    4.4. Red Hat 偲 openMosix
    4.5. Suse 偲 openMosix
    4.6. Debian 偲 openMosix
    4.7. openMosix 偲 Gentoo
    4.8. 偦偺懠偺僨傿僗僩儕價儏乕僔儑儞
   
5. 帺摦扵嶕(Autodiscovery)
   
    5.1. 娙扨側愝掕
    5.2. 帺摦扵嶕偺僐儞僷僀儖
    5.3. 帺摦扵嶕偺僩儔僽儖僔儏乕僥傿儞僌
   
6. 僋儔僗僞偺僀儞僗僩乕儖
   
    6.1. 僋儔僗僞偺僀儞僗僩乕儖
    6.2. DSH(Distributed Shell)
   
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 3. 梫審偲寁夋

3.1. 僴乕僪僂僃傾偺梫審

婎杮峔惉偺僋儔僗僞傪僀儞僗僩乕儖偡傞偵偼丄嵟掅偱傕 2 戜偺僱僢僩儚乕僋偵
宷偑偭偨儅僔儞偑昁梫偵側傝傑偡丅僱僢僩儚乕僋僇乕僪娫傪僋儘僗働乕僽儖偱
宷偖偐丄僗僀僢僠儞僌僴僽傗僟儉僴僽傪巊偭偰愙懕偟傑偡(僗僀僢僠儞僌僴僽偺
曽偑朷傑偟偄偺偱偡偑丄偍嬥偑彮偟梋暘偵偐偐傝傑偡)丅傕偪傠傫僱僢僩儚乕僋
僇乕僪偑懍偗傟偽丄偦傟偩偗僋儔僗僞偺惈擻傪忋偘傞偺偑娙扨偵側傝傑偡丅

崱偱偼 Fast Ethernet (100 Mbps)偑晛捠偱偡丅暋悢億乕僩傪儅僔儞偵晅偗傞偺
偼擄偟偔偼偁傝傑偣傫偑丄懍搙傪忋偘傞偨傔偵暔棟揑偵暿偺僱僢僩儚乕僋偵愙
懕偡傞偺偵偼拲堄偑昁梫偱偡丅Gigabit Ethernet 偼擔偵擔偵埨偔側偭偰偄傑偡
偑丄偁偣偭偰斕攧揦偵峴偒丄偍嬥傪巊偆偺偼懸偭偰偔偩偝偄丅傑偢幚嵺偵暋悢
偺 100 Mbit 僇乕僪偱愝掕傪僥僗僩偟偰丄杮摉偵偝傜偵僱僢僩儚乕僋懷堟偑昁
梫側偺偐傪傛偔峫偊偰偔偩偝偄丅Gigabit 僇乕僪傪晅偗傞偙偲偵側偭偨傜丄堦
弿偵暿偺 100Mbit 僇乕僪傪慻傒崌傢偣偨偔側傞偐傕偟傟傑偣傫丅傕偭偲埨壙側
慖戰巿偲偟偰 Firewire 偑偁傝傑偡丅偙偺榑暥 <http://howto.ipng.be/
FireWireClustering/> 偱媍榑偟偰偄傑偡偺偱嶲徠偟偰偔偩偝偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

3.2. 僴乕僪僂僃傾愝掕僈僀僪儔僀儞

戝婯柾側僋儔僗僞傪愝掕偡傞偵偼丄専摙偑昁梫偱偡丅偳偙偵儅僔儞傪抲偔偺偐
丅偳偙偐僥乕僽儖偺壓偱偼懯栚側偺偐丄偦傟偲傕巹偑朷傫偱偄傞僆僼傿僗偺恀
傫拞側偺偐丅偪傚偭偲偟偨僥僗僩偩偗偑偟偨偄側傜廫暘偱偡丅偟偐偟 N 僲乕僪
偺僋儔僗僞傪愝抲偡傞梊掕側傜丄儅僔儞偑廫暘偵壱摦偱偒傞娐嫬偵偟側偗傟偽
偄偗傑偣傫丅

偙傟偐傜愢柧偡傞偺偼丄1 偮埲忋偺 19 僀儞僠儔僢僋偵儅僔儞傪愝抲偟丄捈愙
扨撈偱愙懕偡傞偐丄偦傟偲傕偡傋偰偺僲乕僪娫傪 1 懳 1 偱僋儘僗愙懕偡傞偐
偲偄偆僱僢僩儚乕僋丒僩億儘僕乕傪揔愗偵愝掕偡傞榖偱偡丅傑偨儅僔儞傪傑偐
側偆偺偵廫暘側揹椡偲晧壸偵懴偊傜傟傞嬻挷憰抲傕偁傢偣偰妋擣偡傞昁梫偑偁
傝傑偡丅傑偨掆揹偵旛偊偰丄UPS 偑偒偪傫偲僔僗僥儉傪 shutdown 偡傞偺偐傕
妋擣偟偰偔偩偝偄丅儅僔儞偺僐儞僜乕儖偵娙扨偵傾僋僙僗偡傞偨傔偵丄KVM (僉
乕儃乕僪丄價僨僆丄儅僂僗)僗僀僢僠偵偍嬥傪巊偆昁梫偑偁傞偐傕偟傟傑偣傫丅

偲偙傠偱偦偺傛偆側搳帒偵尒崌偭偨婯柾偺僲乕僪偑側偄応崌偱傕丄屄乆偺僲乕
僪偵娙扨偵傾僋僙僗偱偒傞傛偆偵偟偰偔偩偝偄丅儅僔儞偺 CPU 僼傽儞偑屘忈偟
偨傝丄僴乕僪僨傿僗僋偑屘忈偟偨傝偟偨帪偵崲傜側偄傛偆偵丅偮傑傝僩儔僽儖
偑敪惗偟偰僋儔僗僞傪僔儍僢僩僟僂儞偟偰丄堦斣壓偺儅僔儞偵庤傪撏偐偣傞偺
偵懡検偺儅僔儞傪偳偐偝側偗傟偽側傜側偄傛偆偱偼懯栚偩丄偲偄偆偙偲偱偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

3.3. 僜僼僩僂僃傾偺梫審

巊偍偆偲偟偰偄傞僔僗僥儉偵偼 Linux 偺婎杮揑側僀儞僗僩乕儖傪偡傞昁梫偑偁
傝傑偡丅偍岲傒偱 Red Hat丄Suse丄Debian丄Gentoo 摍偁傝傑偡偑丄偳傟傪巊偭
偰傕寢峔偱偡丅戝愗側偺偼丄僇乕僱儖偑彮側偔偲傕 2.4 儗儀儖偱偁傞偙偲丄僱
僢僩儚乕僋僇乕僪偑惓偟偔愝掕偝傟偰偄傞偙偲偱丄師偵僗儚僢僾嬻娫傪廫暘偵
偲傞偙偲偑戝愗偱偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

3.4. 僋儔僗僞偺愝寁

僒乕僶孮偲(屄恖梡)儚乕僋僗僥乕僔儑儞孮偐傜峔惉偝傟偰偄傞 openMosix 僋儔
僗僞傪愝掕偡傞嵺偵偼丄偦傟偧傟偑帩偮挿強丄抁強偵傛偭偰暿乆偺僆僾僔儑儞
偑愝掕偱偒傑偡丅

 丒 Single-pool 愝掕偱偼丄偡傋偰偺僒乕僶偲儚乕僋僗僥乕僔儑儞偑扨堦偺僋
    儔僗僞偲偟偰埖傢傟傑偡丅屄乆偺儅僔儞偼僋儔僗僞偺堦晹偱僾儘僙僗偼僋
    儔僗僞偵懏偡傞懠偺僲乕僪偵儅僀僌儗乕僩偱偒傑偡丅偮傑傝丄儚乕僋僗僥
    乕僔儑儞偼僾乕儖(傑偲傑傝偺扨埵)偺堦晹偲側傝傑偡丅
   
 丒 Server-pool 偲屇偽傟傞娐嫬偱偼丄僒乕僶偼僋儔僗僞偺堦晹偵側傝傑偡偑
    丄儚乕僋僗僥乕僔儑儞偼僋儔僗僞偵懏偝偢丄openMosix 偺僇乕僱儖傕帩偪
    傑偣傫丅傾僾儕働乕僔儑儞傪僋儔僗僞偱摦偐偟偨偄側傜丄僒乕僶孮偵傢偞
    傢偞儘僌僀儞偡傞昁梫偑偁傝傑偡丅帺暘偺儚乕僋僗僥乕僔儑儞偼壗傕塭嬁
    傪庴偗偢丄儕儌乕僩僾儘僙僗偑儅僀僌儗乕僩偟偰偔傞偙偲傕偁傝傑偣傫丅
   
 丒 3 斣栚偼 Adaptive-pool 偲屇偽傟傞愝掕偱偡丅偙偺愝掕偱偼僒乕僶偼嫟桳
    偝傟傑偡偑丄儚乕僋僗僥乕僔儑儞偼僋儔僗僞偵擖偭偨傝丄弌偨傝偟傑偡丅
    拫娫偼帺暘偱儚乕僋僗僥乕僔儑儞傪巊偭偰偄傑偡丅偟偐偟梉曽偵側偭偰儘
    僌傾僂僩偡傞偲偡偖丄僗僋儕僾僩偑儚乕僋僗僥乕僔儑儞偵僋儔僗僞偵嶲壛
    偡傞傛偆偵捠抦偟丄偳傫偳傫張棟傪偼偠傔傑偡丅偦傫側僀儊乕僕偱偡丅帺
    暘偑昁梫偱側偄帪偵棙梡偝傟傞偙偲偵側傝傑偡丅儅僔儞偺儕僜乕僗偑昁梫
    偵側傟偽丄openMosix 傪掆巭偝偣傞僗僋儕僾僩傪憱傜偣傞偩偗偱丄僋儔僗
    僞偐傜敳偗偩偣傑偡丅偦偺媡傕摨偠偱偡丅
   
    幚嵺偼 mosctl 傪巊偭偰儅僔儞偺栶妱傪曄峏偱偒傑偡丅
   
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

3.5. 嫵幒

嫵幒傪栭偵偼 openMosix 僋儔僗僞偵偟偰偟傑偆偺偼椙偄峫偊偱偡偑丄僄儞僪儐
乕僓偵嵞傃棙梡偟傛偆偲巚偭偨帪偵儅僔儞偺揹尮僗僀僢僠傪偄偠傜側偄傛偆偵
嫵偊偰偍偐側偗傟偽偄偗傑偣傫丅嵟嬤偺儅僔儞偼丄揹尮儃僞儞傪墴偡偲帺摦揑
偵僔儍僢僩僟僂儞偱偒傞傛偆偵側偭偰偄傑偡丅偟偐偟屆偄儅僔儞偱偼丄幚嵺偵
偦偺忬嫷偵側傞偲僨乕僞傪柍偔偡働乕僗偑偁傝傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 4. 僨傿僗僩儕價儏乕僔儑儞暿僀儞僗僩乕儖

4.1. openMosix 偺僀儞僗僩乕儖

偙偺復偱偼丄條乆側僨傿僗僩儕價儏乕僔儑儞偱 openMosix 傪僀儞僗僩乕儖偡傞
曽朄傪埖偄傑偡丅壜擻側慻傒崌傢偣偡傋偰傪栐梾偡傞儕僗僩偵偼側偭偰偄傑偣
傫丅偟偐偟偙偺復傪捠偠偰丄偛帺暘偺娐嫬偵 openMosix 傪僀儞僗僩乕儖偡傞曽
朄偵偮偄偰丄廫暘側忣曬偑摼傜傟傞偼偢偱偡丅

openMosix 傪暋悢偺儅僔儞偵僀儞僗僩乕儖偡傞曽朄偼師偺復偱榑偠傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

4.2. openMosix 傪庢偭偰偔傞

嵟怴斉偺 openMosix 偼壓婰偐傜僟僂儞儘乕僪偱偒傑偡丅 http://
sourceforge.net/project/showfiles.php?group_id=46729. UP(儐僯僾儘僙僢
僒)傕偟偔偼 SMP(懳徧宆儅儖僠僾儘僙僢僒)梡偵僐儞僷僀儖嵪傒僶僀僫儕(rpm
傕偁傝傑偡)偍傛傃僜乕僗傪慖傋傑偡丅僇乕僱儖僷僢僠媦傃僶僀僫儕偲儐乕僓嬻
娫偺僣乕儖偑昁梫偵側傝傑偡丅 CVS 僶乕僕儑儞傕庢摼偱偒傑偡丅

cvs -d:pserver:anonymous@cvs.openmosix.sourceforge.net:/cvsroot/openmosix login                  
cvs -z3 -d:pserver:anonymous@cvs.openmosix.sourceforge.net:/cvsroot/openmosix co linux-openmosix 
cvs -z3 -d:pserver:anonymous@cvs.openmosix.sourceforge.net:/cvsroot/openmosix co userspace-tools 

僷僗儚乕僪傪懀偡僾儘儞僾僩偑弌偨側傜丄anonymous 偱儘僌僀儞偡傞偺偱丄僄
儞僞乕傪墴偟偰偔偩偝偄丅拲堄偟偰傕傜偄偨偄偺偼丄CVS 僣儕乕偼帪愜乽媥巭
乿偡傞偙偲偑偁傝傑偡偺偱丄openMosix 傪僀儞僗僩乕儖偡傞曽朄偲偟偰娙扨偱
偼側偄偲偄偆偙偲偱偡 ;-)  

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

4.3. openMosix 偺堦斒揑側棙梡忋偺拲堄

4.3.1. 僇乕僱儖偺僐儞僷僀儖

 openMosix 梡僇乕僱儖傪僐儞僷僀儖偡傞偵偼丄 http://www.kernel.org/ 偐傜
婎杮婡擻偩偗傪旛偊偨慺偺僇乕僱儖僜乕僗傪偄偮傕棙梡偡傞傛偆偵偟偰偔偩偝
偄丅偦偽偵偁傞儈儔乕僒僀僩傪棙梡偟偰丄僇乕僱儖傪僟僂儞儘乕僪偡傞傛偆偵
偟偰偔偩偝偄丅偦偟偰僇乕僱儖僜乕僗慡晹傪僟僂儞儘乕僪偡傞偺偱偼側偔丄嵟
怴偺僇乕僱儖僜乕僗偵懳偡傞僷僢僠傪僟僂儞儘乕僪偟偰偔偩偝偄丅偙偆偡傞偙
偲偱丄Linux 僐儈儏僯僥傿偵娊寎偝傟丄僆僞僋側僇儖儅傪戝偄偵愊傔傞偱偟傚
偆 ;-) 僇乕僱儖僶乕僕儑儞偵儅僢僠偟偨惓偟偄 openMosix 偺僷僢僠傪昁偢巊
偭偰偔偩偝偄丅偙傟傪彂偄偰偄傞帪揰偱偼丄2.4 僇乕僱儖偺嵟怴斉偼 2.4.20
偱偡丅偟偨偑偭偰丄 openMosix-2.4.20-x.gz 僷僢僠傪僟僂儞儘乕僪偡傞傛偆偵
偟偰偔偩偝偄丅乽x乿偺晹暘偼儕價僕儑儞偵奩摉偟傑偡(偮傑傝儕價僕儑儞斣崋
偑戝偒偔側傞掱丄怴偟偔側傝傑偡)丅 Linux 僨傿僗僩儕價儏乕僔儑儞晅懏偺僇
乕僱儖偼巊傢側偄傛偆偵偟偰偔偩偝偄丅嫲傜偔摦偐側偄偱偟傚偆丅僨傿僗僩儕
價儏乕僔儑儞偺嶌惉幰偑懡検偵僇乕僱儖僜乕僗偵僷僢僠傪摉偰偰偄傑偡丅偦偺
傛偆側僇乕僱儖偵 openMosix 偺僷僢僠傪揔梡偡傞偲娫堘偄側偔幐攕偡傞偱偟傚
偆丅巹偼偁傟偙傟傗偭偰偒傑偟偨丅怣偠偰偔偩偝偄 ;-)

幚嵺偵 openMosix 僷僢僠傪僟僂儞儘乕僪偟偨傜丄僇乕僱儖僜乕僗偺偁傞僨傿儗
僋僩儕偵堏偟偰偔偩偝偄(偨偲偊偽丄/usr/src/linux-2.4.20)丅僇乕僱儖僜乕僗
偺僨傿儗僋僩儕偑乽/usr/src/linux-[version_number]乿偲偄偆宍幃偱側偗傟偽
丄彮側偔偲傕乽/usr/src/linux-[version_number]乿偵僔儞儃儕僢僋儕儞僋傪挘
偭偰偔偩偝偄丅 root 儐乕僓側傜 gzip 偝傟偨僷僢僠偼儂乕儉僨傿儗僋僩儕偵
僟僂儞儘乕僪偟偰偄傑偡丅patch 儐乕僥傿儕僥傿(壗偩偲巚偄傑偡丠)傪巊偭偰
僷僢僠傪摉偰偰偔偩偝偄丅

mv /root/openMosix-2.4.20-2.gz /usr/src/linux-2.4.20                   
cd /usr/src/linux-2.4.20                                               
zcat openMosix-2.4.20-2.gz | patch -Np1                                

傑傟偵僔僗僥儉偱乽zcat乿偑柍偄応崌偑偁傝傑偡丅偦偺帪偼壓婰偺傛偆偵偟偰
偔偩偝偄丅

mv /root/openMosix-2.4.20-2.gz /usr/src/linux-2.4.20                   
cd /usr/src/linux-2.4.20                                               
gunzip openMosix-2.4.20-2.gz                                           
cat openMosix-2.4.20-2 | patch -Np1                                    

傕偭偲曄側娐嫬偩偲僔僗僥儉偵乽cat乿偑偁傝傑偣傫両

mv /root/openMosix-2.4.20-2.gz /usr/src/linux-2.4.20                   
cd /usr/src/linux-2.4.20                                               
gunzip openMosix-2.4.20-2.gz                                           
patch -Np1 < openMosix-2.4.20-2                                        

乽patch乿僐儅儞僪偼丄僇乕僱儖僜乕僗偵摉偰傞僷僢僠僼傽僀儖偺堦棗傪昞帵偡
傞偼偢偱偡丅帺暘偑戝抇側曽偩偲巚偆側傜丄僇乕僱儖愝掕僼傽僀儖偵偁傞
openMosix 娭楢偺僆僾僔儑儞傪桳岠偵偟偰偔偩偝偄丅

...                                                                    
CONFIG_MOSIX=y                                                         
# CONFIG_MOSIX_TOPOLOGY is not set                                     
CONFIG_MOSIX_UDB=y                                                     
# CONFIG_MOSIX_DEBUG is not set                                        
# CONFIG_MOSIX_CHEAT_MIGSELF is not set                                
CONFIG_MOSIX_WEEEEEEEEE=y                                              
CONFIG_MOSIX_DIAG=y                                                    
CONFIG_MOSIX_SECUREPORTS=y                                             
CONFIG_MOSIX_DISCLOSURE=3                                              
CONFIG_QKERNEL_EXT=y                                                   
CONFIG_MOSIX_DFSA=y                                                    
CONFIG_MOSIX_FS=y                                                      
CONFIG_MOSIX_PIPE_EXCEPTIONS=y                                         
CONFIG_QOS_JID=y                                                       
...                                                                    

偟偐偟 Linux 僇乕僱儖愝掕僣乕儖偺偳傟偐傪巊偊偽丄忋婰偺僆僾僔儑儞偺愝掕
偼偲偰傕娙扨偵側傝傑偡丅

make config | menuconfig | xconfig                                     

忋婰偼乽config乿丄乽menuconfig乿丄乽xconfig乿偺偳傟偐傪慖傇偲偄偆堄枴偱
偡丅偙傟偼岲傒偺栤戣偱偡丅偨偩乽config乿偼偳傫側僔僗僥儉偱傕摦嶌偟傑偡
丅乽menuconfig乿偼 curses 儔僀僽儔儕偑僀儞僗僩乕儖偝傟偰偄傞偙偲偑昁梫
偱丄乽xconfig乿偼 X Window System 偺娐嫬偵 TCL/TK 儔僀僽儔儕偲偦偺僀儞
僞僾儕僞偑昁梫偵側傝傑偡丅

偱偼丄僐儞僷僀儖偟偰傒傑偟傚偆丅

make dep bzImage modules modules_install                               

僐儞僷僀儖偑廔傢偭偨傜丄怴偟偄僇乕僱儖偵 openMosix 偺僆僾僔儑儞傪偮偗偰
僽乕僩儘乕僟偵愝掕偟偰偔偩偝偄丅椺偊偽 /etc/lilo.conf 偵怴偟偄僇乕僱儖
偺僄儞僩儕傪擖傟偰丄lilo 傪幚峴偟傑偡丅 

儕僽乕僩偡傟偽 openMosix 僋儔僗僞偺僲乕僪偑婲摦偟傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

4.3.2. /etc/openmosix.map 僼傽僀儖偺彂偒曽

openMosix 傪摦偐偡慜偵 /etc/openmosix.map 愝掕僼傽僀儖偑側偗傟偽偄偗傑
偣傫丅偙偺僼傽僀儖偼偳偺僲乕僪偱傕嫟捠偱側偗傟偽偄偗傑偣傫丅

昗弨揑側応強偼 /etc/openmosix.map 偱偡丅/etc/mosix.map 偲 /etc/hpc.map
偼埲慜偺昗弨偱偟偨丅偟偐偟 CVS 僶乕僕儑儞偺僣乕儖偱偼丄壓埵屳姺偐傜 /
etc/openmosix.map丄/etc/mosix.map丄/etc/hpc.map(偙偺弴彉偱)傪専嶕偟傑偡
丅

openmosix.map 僼傽僀儖偵偼丄嬻敀偱嬫愗傜傟偨僼傿乕儖僪偑 3 偮偁傝傑偡丅

openMosix-Node_ID               IP-Address(or hostname)          Range-size

openmosix.map 僼傽僀儖偺椺偼偙偺傛偆偵側傝傑偡丅

1       node1   1                                                      
2       node2   1                                                      
3       node3   1                                                      
4       node4   1                                                      

傕偟偔偼

1       192.168.1.1     1                                              
2       192.168.1.2     1                                              
3       192.168.1.3     1                                              
4       192.168.1.4     1                                              

傕偟偔偼斖埻巜掕傪棙梡偡傟偽丄忋婰偲壓婰偼摨偠偵側傝傑偡丅

1       192.168.1.1     4                                              

openMosix 偼 openMosix-Node_ID 傪尦偵丄僲乕僪偺 IP 傾僪儗僗偺嵟廔僶僀僩
傪悢偊忋偘傑偡丅1 傛傝戝偒側斖埻巜掕傪偡傞側傜丄摉偨傝慜偱偡偑儂僗僩柤
偺偐傢傝偵 IP 傾僪儗僗傪巊傢側偗傟偽偄偗傑偣傫丅

僲乕僪偵暋悢偺僱僢僩儚乕僋僀儞僞僼僃乕僗偑偁傞側傜丄斖埻巜掕偺僆僾僔儑
儞傪擖傟傞僼傿乕儖僪偵 ALIAS 僆僾僔儑儞傪巊偭偰愝掕傪擖傟傜傟傑偡(斖埻
巜掕偵 0 傪愝掕偟偨偺偲摨偠偱偡)丅

1       192.168.1.1     1                                              
2       192.168.1.2     1                                              
3       192.168.1.3     1                                              
4       192.168.1.4     1                                              
4       192.168.10.10   ALIAS                                          

偙偺恾偱 openMosix-Node_ID 偑 4 偺僲乕僪偼丄僱僢僩儚乕僋僀儞僞僼僃乕僗
傪 2 偮帩偭偰偄偰(192.168.1.4 偲 192.168.10.10)丄偙偺僀儞僞僼僃乕僗偼
openMosix 偐傜椉幰偲傕尒偊傑偡丅

openMosix 偺僶乕僕儑儞偼摨偠僶乕僕儑儞偵偡傞偙偲丄偦偟偰僋儔僗僞偵懏偡
傞僲乕僪偺愝掕傕摨偠偵偡傞偙偲丄偄偮傕昁偢偙偆偟偰偔偩偝偄丅

乽setpe乿儐乕僥傿儕僥傿傪巊偭偰 openMosix 傪奺僲乕僪偱婲摦偟偰偔偩偝偄
丅

setpe -w -f /etc/openmosix.map                                         

openMosix 僋儔僗僞偵懏偡傞偡傋偰偺僲乕僪偱丄偙偺僐儅儞僪(屻傎偳偙偺
HOWTO 偱愢柧偟傑偡)傪幚峴偟偰偔偩偝偄丅

堦曽丄儐乕僓嬻娫偱摦偔僣乕儖偑偁傞僨傿儗僋僩儕偵懚嵼偡傞乽openmosix乿僗
僋儕僾僩傪棙梡偡傞庤傕偁傝傑偡丅/etc/init.d 僨傿儗僋僩儕偵僐僺乕偟丄
chmod 0755 偟偰偐傜 root 偵側偭偰壓婰偺僐儅儞僪傪巊偭偰偔偩偝偄丅

/etc/init.d/openmosix stop                                             
/etc/init.d/openmosix start                                            
/etc/init.d/openmosix restart                                          

偙傟偱僀儞僗僩乕儖偼廔椆偱偡丅僋儔僗僞偑棫偪忋偑傝丄摦嶌偟偰偄傑偡 :)

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

4.3.3. oMFS

傑偢僇乕僱儖愝掕偵偁傞 CONFIG_MOSIX_FS 僆僾僔儑儞傪桳岠偵偟側偗傟偽偄偗
傑偣傫丅尰嵼偺僇乕僱儖偑偙偺僆僾僔儑儞側偟偵僐儞僷僀儖偟偰偁傞側傜丄僆
僾僔儑儞傪桳岠偵偟偰偐傜嵞僐儞僷僀儖偟偰偔偩偝偄丅

僋儔僗僞偵懏偡傞奺僲乕僪偵偁傞僼傽僀儖僔僗僥儉偺 UID(儐乕僓 ID)偲 GID
(僌儖乕僾 ID)偼摨偠偱側偗傟偽偄偗傑偣傫丅偙傟傪幚尰偡傞偨傔偵丄openldap
傪巊偆偺傕偄偄偐傕偟傟傑偣傫丅僇乕僱儖偺 CONFIG_MOSIX_DFSA 僆僾僔儑儞偼
僆僾僔儑儞偱偡偑丄DFSA 傪巊偆偺側傜傕偪傠傫昁梫偱偡丅僋儔僗僞忋偺 oMFS
傪儅僂儞僩偡傞偵偼丄奺僲乕僪偺 /etc/fstab 偵崁栚傪捛壛偡傞昁梫偑偁傝傑
偡丅

DFSA 傪桳岠偵偡傞偵偼丄

mfs_mnt         /mfs            mfs     dfsa=1          0 0            

DFSA 傪柍岠偵偡傞偵偼丄

mfs_mnt          /mfs           mfs     dfsa=0          0 0            

fstab 偺僄儞僩儕偺彂偒曽偼丄

[device_name]           [mount_point]   mfs     defaults        0 0    

偱偡丅奺僲乕僪偺儅僂儞僩億僀儞僩偱偁傞 /mfs 傪儅僂儞僩偡傞偲丄奺僲乕僪
偺僼傽僀儖僔僗僥儉偼 /mfs/[openMosix-Node_ID]/ 僨傿儗僋僩偱傾僋僙僗壜擻
偱偡丅

僔儞儃儕僢僋儕儞僋傪棙梡偡傟偽丄僋儔僗僞偵懏偡傞慡偰偺僲乕僪偐傜摨偠僨
乕僞傪傾僋僙僗偱偒傞傛偆偵側傝傑偡丅椺偊偽 node1 偺 /work 偼壓婰偺傛偆
偵側傝傑偡丅

on node2 :      ln -s /mfs/1/work /work                                
on node3 :      ln -s /mfs/1/work /work                                
on node3 :      ln -s /mfs/1/work /work                                
...                                                                    

偙傟偱 /work 偵懳偟偰偳偺僲乕僪偐傜偱傕撉傒彂偒偑偱偒傑偡丅

 壓婰偺摿庩僼傽僀儖偼 oMFS 偐傜偼奜偝傟偰偄傑偡丅

 丒 /proc 僨傿儗僋僩儕
   
 丒 捠忢僼傽僀儖傗僨傿儗僋僩儕偱偼側偄僗儁僔儍儖僼傽僀儖丅傕偟偔偼丄僔
    儞儃儕僢僋儕儞僋(椺偊偽 /dev/hda1)
   
儕儞僋傪挘傞偵偼丄

ln -s /mfs/1/mfs/1/usr                                                 

傕偟偔偼丄

ln -s /mfs/1/mfs/3/usr                                                 

偑惓偟偄傗傝曽偱偡丅

壓婰偺僔僗僥儉僐乕儖傪僒億乕僩偟偰偄傑偡丅儅僀僌儗乕僩偝傟偨僾儘僙僗
(偙偺僔僗僥儉僐乕儖傪偦偺儂乕儉(儕儌乕僩)僲乕僪偱幚峴偡傞)傪儂乕儉僲乕
僪偵栠偝側偔偰傕寢峔偱偡丅

read, readv, write, writev, readahead, lseek, llseek, open, creat,
close, dup, dup2, fcntl/fcntl64, getdents, getdents64, old_readdir,
fsync, fdatasync, chdir, fchdir, getcwd, stat, stat64, newstat, lstat,
lstat64, newlstat, fstat, fstat64, newfstat, access, truncate,
truncate64, ftruncate, ftruncate64, chmod, chown, chown16, lchown,
lchown16, fchmod, fchown, fchown16, utime, utimes, symlink, readlink,
mkdir, rmdir, link, unlink, rename

DFSA 偱儅僂儞僩偟偨僼傽僀儖僔僗僥儉忋偱丄僔僗僥儉僐乕儖偑偆傑偔摦偐側偄
働乕僗傪嫇偘傑偡丅

 丒 僋儔僗僞偵懏偡傞僲乕僪偱 mfs 傗 dfsa 偺愝掕偑堎側傞丅
   
 丒 dup2 偱 2 斣栚偺僼傽僀儖億僀儞僞偑 DFSA 偱偼側偄応崌丅
   
 丒 chdir 傗 fchdir 傪偟偰丄恊僨傿儗僋僩儕偑 DFSA 偱側偄応崌丅
   
 丒 DFSA 僼傽僀儖僔僗僥儉偱偼側偄僷僗柤丅
   
 丒 僔僗僥儉僐乕儖傪幚峴偡傞僾儘僙僗偑僩儗乕僗偝傟偰偄傞丅
   
 丒 僔僗僥儉僐乕儖傪幚峴偡傞僾儘僙僗偵懳偟偰丄懸偪忬懺偺儕僋僄僗僩偑偁
    傞丅
   
/mfs/1/丄/mfs/2/ 偲懕偔僼傽僀儖偺懠偵傕丄偝傜偵僨傿儗僋僩儕偑懚嵼偟傑偡
丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table 4-1. 偦偺懠偺僨傿儗僋僩儕

劇劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
劆/mfs/   劆僾儘僙僗偑摦嶌偟偰偄傞尰嵼偺僲乕僪丅                    劆
劆here    劆                                                        劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/mfs/   劆儂乕儉僲乕僪丅                                          劆
劆home    劆                                                        劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/mfs/   劆乽create乿僔僗僥儉僐乕儖(傕偟偔偼乽open乿偱乽O_CREAT乿僆劆
劆magic   劆僾僔儑儞巊偆)偑巊偭偨尰嵼偺僲乕僪丅傕偟偔偼丄oMFS 儅僕僢劆
劆        劆僋僼傽僀儖偺嶌惉偵惉岟偟偨嵟怴偺僲乕僪(僥儞億儔儕僼傽僀 劆
劆        劆儖傪嶌惉偟偰偡偖嶍彍偡傞偺偵曋棙)丅                     劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/mfs/   劆僾儘僙僗偑乽execve乿僔僗僥儉僐乕儖傪嵟屻偵惉岟偝偣偨僲乕劆
劆lastexec劆僪丅                                                    劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/mfs/   劆僾儘僙僗帺恎傕偟偔偼偦偺恊僾儘僙僗(偙偺僾儘僙僗傪 fork  劆
劆selected劆偡傞慜) 偑慖戰偟偨僲乕僪丅乽/proc/self/selected乿偵斣崋 劆
劆        劆傪彂偔丅                                                劆
劋劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

 儅僕僢僋僼傽僀儖偼丄偡傋偰乽僾儘僙僗扨埵乿偱偁傞揰傪朰傟側偄偱偔偩偝偄
丅偮傑傝偳偺僾儘僙僗偑僆乕僾儞偟偰偄傞偐偵傛偭偰丄拞恎偑曄傢傝傑偡丅

嵟屻偵 openMFS 偵偮偄偰偱偼側偄偺偱偡偑丄偙偺僼傽僀儖僔僗僥儉忋偱 "df"
傪摦偐偟偨帪偵丄幐攕偡傞僶乕僕儑儞偑懚嵼偡傞偙偲傪偍揱偊偟傑偡丅偦偺僔
僗僥儉偱撍擛 1.3 TB 巊偊傞傛偆偵側偭偰傕丄偁傢偰側偄偱偔偩偝偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

4.4. Red Hat 偲 openMosix

RedHat 7.2丄7.3丄8.0 僶乕僕儑儞傪摦偐偟偰偄傞側傜丄Mosix 宯偺僀儞僗僩乕
儖偼偙傟傑偱偱堦斣妝側偼偢偱偡丅奩摉偡傞 openMosix 偺 RPM 傪
sourceforge 偐傜慖傫偱偔偩偝偄丅偙偺 RPM 偼僐儞僷僀儖嵪傒偺僇乕僱儖(偙
傟傪彂偄偰偄傞帪揰偼 2.4.20)偱懾傝側偔摦偒傑偡丅PCMCIA 僇乕僪偑偮偄偨儔
僢僾僩僢僾傗 SCSI 僨傿僗僋偑晅偄偨僒乕僶傪娷傓壗戜偐偺儅僔儞偱婛偵僥僗
僩嵪傒偱偡丅 grub 儐乕僓側傜丄僇乕僱儖偺 RPM 偼 grub.conf 傕廋惓偟傑偡
丅偟偨偑偭偰偟側偗傟偽偄偗側偄偺偼丄RPM 傪 2 偮僀儞僗僩乕儖偡傞偙偲偩偗
偱偡丅

rpm -Uvh openmosix-kernel-2.4.20-openmosix2.i686.rpm openmosix-tools-0.2.4-1.i386.rpm

偦傟偐傜 /etc/openmosix.map 傪廋惓偟偰偔偩偝偄丅栤戣偑懡乆偁傝偦偆側偺
偱丄暿偺椺傪尒偰峴偒傑偟傚偆丅儅僔儞傪 3 戜帩偭偰偄傞偲偟傑偡丅IP 傾僪
儗僗偼丄192.168.10.220丄192.168.10.78丄192.168.10.84 偱偡丅
openmosix.map 偑壓婰偺傛偆偵側偭偰偄傞偱偟傚偆丅

[root@oscar0 root]# more /etc/openmosix.map                                          
# openMosix CONFIGURATION                                                            
# ===================                                                                
#                                                                                    
# Each line should contain 3 fields, mapping IP addresses to openMosix node-numbers: 
# 1) first openMosix node-number in range.                                           
# 2) IP address of the above node (or node-name from /etc/hosts).                    
# 3) number of nodes in this range.                                                  
#                                                                                    
# Example: 10 machines with IP 192.168.1.50 - 192.168.1.59                           
# 1        192.168.1.50     10                                                       
#                                                                                    
# openMosix-#  IP  number-of-nodes                                                   
# ============================                                                       
1 192.168.10.220 1                                                                   
2 192.168.10.78  1                                                                   
3 192.168.10.84  1                                                                   

怴偟偔僀儞僗僩乕儖偟偨僇乕僱儖傪巊偭偰丄奺儅僔儞傪儕僽乕僩偟偰偔偩偝偄
丅僋儔僗僞偺摦嶌偵傑偨堦曕嬤偯偒傑偟偨丅

RedHat 宯偺戝晹暘偱偼僀儞僗僩乕儖偡傞偺偵摉偨傝丄捛壛偱廋惓偑昁梫偵側傝
傑偡丅壓婰偺僄儔乕偑弌傞働乕僗偑偟偽偟偽偁傞偐傜偱偡丅

[root@inspon root]# /etc/init.d/openmosix start                        
Initializing openMosix...                                              
setpe: the supplied table is well-formatted,                           
but my IP address (127.0.0.1) is not there!                            

偙偺僄儔乕偼 /etc/hosts 偵 openmosix.map 偲摨偠 IP 傾僪儗僗偱儂僗僩柤偑
嵹偭偰偄側偄偙偲傪堄枴偟偰偄傑偡丅omosix1.localhost.org 偲偄偆儅僔儞偑
儂僗僩僼傽僀儖偵壓婰偺傛偆偵嵹偭偰偄傞偐傕偟傟傑偣傫丅

127.0.0.1       omosix1.localhost.org localhost                        

/etc/hosts 傪壓婰偺傛偆偵廋惓偡傟偽丄openMosix 偑僗僞乕僩偡傞嵺偵僩儔僽
儖偑彮側偔側傝傑偡丅

192.168.10.78   omosix1.localhost.org                                  
127.0.0.1       localhost                                              

[root@inspon root]# /etc/init.d/openmosix start                        
Initializing openMosix...                                              
[root@inspon root]# /etc/init.d/openmosix status                       
This is openMosix node #2                                              
Network protocol: 2 (AF_INET)                                          
openMosix range     1-1     begins at 192.168.10.220                   
openMosix range     2-2     begins at inspon.localhost.be              
openMosix range     3-3     begins at 192.168.10.84                    
Total configured: 3                                                    

偱偒偨偰偺僷僢僠傪揔梡偟偨偄側傜丄僜乕僗偺 RPM 傪慖傫偱 rpmbuild 傪摦偐
偟丄嵞峔抸偟偰偔偩偝偄丅僜乕僗偑僀儞僗僩乕儖偝傟偨傜丄弶婜愝掕僼傽僀儖
傪嶌惉偟偰偔偩偝偄丅偦偙偐傜偝傜偵 openMosix 傊偺僷僢僠傪揔梡偡傞偙偲偵
側傝傑偡丅  

怴偟偄 RedHat 偺僶乕僕儑儞偑搊応偡傟偽丄偦偺僶乕僕儑儞傕僒億乕僩偡傞偲
巚偄傑偡丅墦椂側偔嶌幰偵楢棈偟偰丄偙偺忣曬偺峏怴傪庤揱偭偰偁偘偰偔偩偝
偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

4.5. Suse 偲 openMosix

RPM 偼 RedHat 儀乕僗偺娐嫬偱嶌惉偝傟偰偄傑偡偑丄RPM 儀乕僗偺懠偺僔僗僥
儉偱傕戝敿偼棙梡壜擻偱偡丅

偟偐偟 Suse 偼 /sbin/mk_initrd 傪 /sbin/mkinitrd 傊偺儕儞僋偲偟偰偄偰丄
20-2 傛傝慜偺儕儕乕僗偱偼偆傑偔偄偒傑偣傫丅怴偟偄僶乕僕儑儞偱偼廋惓偝傟
偰偄傞偼偢偱偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

4.6. Debian 偲 openMosix

乽Debian 棳乿偵 openMosix 傪僀儞僗僩乕儖偡傞偺偼壓婰偺捠傝娙扨偱偡丅

傑偢僷僢働乕僕傪僀儞僞乕僱僢僩偐傜僟僂儞儘乕僪偟傑偡丅偙偺僪僉儏儊儞僩
傪彂偄偰偄傞帪揰偱偼 2.4.20 梡偑棙梡偱偒側偐偭偨偨傔丄2.4.19 梡偺僷僢僠
傪巊傢側偗傟偽偄偗傑偣傫偱偟偨丅昁梫偵側傞 Debian 偺愝掕偼壓婰偺捠傝偱
偡丅 http://packages.debian.org/unstable/net/openmosix.html, http://
packages.debian.org/unstable/net/kernel-patch-openmosix.html, http://
packages.debian.org/unstable/misc/kernel-package.html, http://
packages.debian.org/unstable/devel/kernel-source-2.4.19.html. apt-get
偱傕僀儞僗僩乕儖偱偒傑偡 ;)

 師偼丄openMosix 偑棙梡壜擻側僇乕僱儖偺嶌惉曽朄偱偡丅

捠忢偼壓婰偺庤弴傪摜傒傑偡丅

cd /usr/src                                                            
apt-get install kernel-source-2.4.19 kernel-package \                  
        openmosix kernel-patch-openmosix                               
tar vxjf kernel-source-2.4.19.tar.bz2                                  
ln -s /usr/src/kernel-source-2.4.19 /usr/src/linux                     
cd /usr/src/linux                                                      
../kernel-patches/i386/apply/openmosix                                 
make menuconfig                                                        
make-kpkg kernel_image modules_image                                   
cd ..                                                                  
dpkg -i kernel-image-*-openmosix-*.deb                                 

偙偺帪揰偱 /etc/openmosix.map 傪廋惓偡傞昁梫偑偁傝傑偡丅廋惓曽朄偼丄偙
偺 HOWTO 偺乽/etc/openmosix.map 僼傽僀儖偺彂偒曽乿偵偁傞庤弴偵偟偨偑偭
偰偔偩偝偄丅

openMosix 梡偺僇乕僱儖偲愝掕嵪傒偺 /etc/openmosix.map 偱儕僽乕僩偡傟偽
丄儅僔儞偑屳偄偵傗傝庢傝偟丄僾儘僙僗傪儅僀僌儗乕僩偡傞 openMosix 僋儔僗
僞偑庤偵擖傞偼偢偱偡丅 

 壓婰偺偪傚偭偲偟偨僗僋儕僾僩傪摦偐偟偰僥僗僩傕偱偒傑偡丅

awk 'BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}'                

偟偽傜偔乽mosmon乿傪巊偭偰摦嶌傪娤嶡偟偰偄傞偲丄晧壸偑僲乕僪娫偵峀偑偭
偰偄偔偺偑傢偐傞偱偟傚偆丅

Debian 儅僔儞偱傕 openMosixView 傪愝掕偱偒傑偡丅

apt-get install openmosixview                                          

openMosixView 傪幚嵺偵棙梡偡傞偵偼丄暿僲乕僪偵 root 偱儘僌僀儞偟偰偄傞
儐乕僓偑 openMosixView 傪幚峴偟側偄偗傟偽偄偗傑偣傫丅ssh 宱桼偱偙偺愝掕
傪偡傞偙偲傪偍姪傔偟傑偡丅ssh 偲 ssh2 偼幚憰偑堘偆揰偵拲堄偟偰偔偩偝偄
丅 identity.pub 僼傽僀儖偑梡堄偝傟偰偄傞側傜丄ssh 偼 authorized_keys 傪
僠僃僢僋偟傑偡丅id_dsa.pub 偑偁傞側傜丄authorized_keys2 偑昁梫偵側傝傑
偡丅

 openMosixView 偺僀儞僞僼僃乕僗偼夣揔偱丄條乆側儅僔儞偺晧壸傪昞帵偟丄庤
摦偱僾儘僙僗傪儅僀僌儗乕僩偡傞婡擻傪旛偊偰偄傑偡丅

openMosixView 偵偮偄偰偺徻偟偄榖偼丄偙偺僪僉儏儊儞僩偺暿偺偲偙傠偵彂偄
偰偁傝傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

4.7. openMosix 偲 Gentoo

傑偢 Gentoo Linux 傪僀儞僗僩乕儖偟偰偔偩偝偄丅

Gentoo 傪僀儞僗僩乕儖偟偨傜丄openMosix 傪僀儞僗僩乕儖偟傑偡丅乽emerge
sys-apps/openmosix-user乿偲擖椡偟偰偔偩偝偄丅偙偆偡傞偲 /usr/src/linux
偵 openMosix 偺僇乕僱儖僜乕僗偲偲傕偵 openMosix 偺儐乕僓嬻娫僣乕儖偑僀
儞僗僩乕儖偝傟傑偡丅

尰嵼 Michael Imhof 巵(暿柤 tantive)偑丄Gentoo 偺 openMosix 嵟怴斉傪娗棟
偟偰偄傑偡丅

Daniel Robbins 巵偼 Gentoo Technologies, Inc 偺戙昞庢掲栶寭 CEO 偱丄
Gentoo Linux 偺嶌幰偱傕偁傝傑偡丅乽偼偠傔偵乿偱 openMosix 偵偮偄偰偺斵
偺榑暥傪巊傢偣偰偄偨偩偒傑偟偨丅

亂栿拹丗Gentoo 偵偮偄偰偼師偺擔杮岅僒僀僩傪嶲峫偵偟偰傒偰偔偩偝偄丅 
Gentoo傪梡偄偨openMosix僋儔僗僞乕娐嫬峔抸 <http://www.gentoo.org/doc/ja
/openmosix-howto.xml>亃

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

4.8. 偦偺懠偺僨傿僗僩儕價儏乕僔儑儞

偦偺懠偺僨傿僗僩儕價儏乕僔儑儞偱傕丄偙傟傑偱偺愢柧偱 openMosix 傪僀儞僗
僩乕儖偱偒傞偼偢偱偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 5. 帺摦扵嶕(Autodiscovery)

5.1. 娙扨側愝掕

帺摦扵嶕僨乕儌儞(omdiscd)偼丄openMosix 僋儔僗僞傪帺摦揑偵愝掕偡傞庤抜傪
梡堄偟丄/etc/mosix.map 傗偦傟偲帡偨庤摦偵傛傞愝掕傪晄梫偵偟傑偟偨丅帺摦
扵嶕偼丄偦偺懠偺僲乕僪偵懳偟偰儅儖僠僉儍僗僩曽幃傪巊偭偰丄帺暘偑
openMosix 偺僲乕僪偱偁傞偙偲傪捠抦偟傑偡丅偙偺曽朄偱僲乕僪傪 mosix 僋儔
僗僞偵捛壛偡傞偵偼丄儅僔儞忋偱 omdiscd 傪婲摦偟偝偊偡傟偽 OK 偱偡丅偦偆
偡傟偽偦偺僲乕僪偑僋儔僗僞偵嶲壛偟傑偡丅

 偟偐偟偪傚偭偲偟偨忦審偑偁傝傑偡丅openMosix 僋儔僗僞偼偳傟傕丄僱僢僩儚
乕僋愝掕傪惓偟偔峴偆昁梫偑偁傝傑偡丅庡偵儖乕僥傿儞僌偱偡丅僨僼僅儖僩儖
乕僩偑側偗傟偽丄omdiscd 偵 -i 僆僾僔儑儞傪偮偗偰僀儞僞僼僃乕僗傪巜掕偟
側偗傟偽偄偗傑偣傫丅偦偆偟側偄偲丄omdiscd 偼壓婰偺傛偆側僄儔乕傪弌偟偰
exit 偟傑偡丅

Aug 31 20:41:49 localhost omdiscd[1290]: Unable to determine address of  
default interface.  This may happen because there is no default route    
configured.  Without a default route, an interface must be: Network is   
unreachable                                                              
Aug 31 20:41:49 localhost omdiscd[1290]: Unable to initialize network.   
Exiting.                                                                 

惓偟偄儖乕僥傿儞僌偺椺偼壓婰偺傛偆偵側傝傑偡丅

[root@localhost log]# route -n                                                
Kernel IP routing table                                                       
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface 
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 eth0  
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo    
0.0.0.0         10.0.0.99       0.0.0.0         UG    0      0        0 eth0  

偙偆側偭偰偄傟偽丄婎杮揑偵偡傋偰偆傑偔偄偒傑偡丅偙偙偱

omdiscd                                                                

偲婲摦偟偰偔偩偝偄丅儘僌僼傽僀儖傪尒傟偽丄壓婰偲帡偨傛偆側儘僌偑尒傜傟
傞偼偢偱偡丅

Sep  2 10:00:49 oscar0 kernel: openMosix configuration changed: This is openMosix #2780 (of 6 configured) 
Sep  2 10:00:49 oscar0 kernel: openMosix #2780 is at IP address 192.168.10.220                            
Sep  2 10:00:49 oscar0 kernel: openMosix #2638 is at IP address 192.168.10.78                             
Sep  2 10:00:49 oscar0 kernel: openMosix #2646 is at IP address 192.168.10.86                             
Sep  2 10:00:49 oscar0 kernel: openMosix #2627 is at IP address 192.168.10.67                             
Sep  2 10:00:49 oscar0 kernel: openMosix #2634 is at IP address 192.168.10.74                             

偍傔偱偲偆偛偞偄傑偡丅openMosix 僋儔僗僞偑摦偒弌偟傑偟偨丅

omdiscd 偵偼丄偦偺懠偵傕棙梡偱偒傞僆僾僔儑儞偑偁傝傑偡丅 omdiscd 偼僨乕
儌儞偲偟偰傕摦偐偣傑偡偟(僨僼僅儖僩)丄omdiscd -n 偲偟偰僼僅傾僌儔僂儞僪
偱弌椡傪僗僋儕乕儞(昗弨弌椡)偵弌偟偰傕摦偐偣傑偡丅僀儞僞僼僃乕僗傪巜掕
偡傞偵偼 -i 僆僾僔儑儞傪巊偄傑偡丅

 偱偼丄偦偺懠偺僣乕儖傕傕偆彮偟尒偰傒傑偟傚偆丅傑偢 showmap 偱偡丅偙偺
僣乕儖偼帺摦揑偵怴婯嶌惉偝傟偨 openMosix map 傪昞帵偟傑偡丅

[root@oscar0 root]# showmap                                            
My Node-Id: 0x0adc                                                     
                                                                       
Base Node-Id Address          Count                                    
------------ ---------------- -----                                    
0x0adc       192.168.10.220   1                                        
0x0a4e       192.168.10.78    1                                        
0x0a56       192.168.10.86    1                                        
0x0a43       192.168.10.67    1                                        
0x0a4a       192.168.10.74    1                                        

 

帺摦扵嶕偵偼丄偙偙偱偼嫇偘偰偄側偄偦偺懠偺婡擻傕偁傝傑偡丅偨偲偊偽丄僋
儔僗僞偑暋悢偺僱僢僩儚乕僋偵傑偨偑偭偰偄傞応崌丄偦傟傪儖乕僥傿儞僌偡傞
婡峔偱偡丅偝傜偵徻偟偄忣曬偵偮偄偰偼丄儐乕僓嬻娫梡僣乕儖偺僜乕僗僣儕乕
偵偁傞 README 偲 DESIGN 僼傽僀儖傪尒偰偔偩偝偄丅 

偮偄嵟嬤偺 openMosix 偺僶乕僕儑儞偱偼丄 rc 僗僋儕僾僩偑帺摦愝掕傪巊偆慜
偵 /etc/openmosix.map 傗偦偺懠摨條偺僼傽僀儖傪僠僃僢僋偡傞傛偆偵側偭偰
偄傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

5.2. 帺摦扵嶕偺僐儞僷僀儖

僜乕僗偐傜帺摦扵嶕傪僐儞僷僀儖偡傞側傜丄openmosix.c 傪偪傚偭偲廋惓偡傞
昁梫偑偁傝傑偡丅偼偠傔偺峴偵丄

#define ALPHA                                                          

偲偁傝傑偡偑丄偙傟傪僐儊儞僩偟偰偔偩偝偄丅偝傜偵儘僌偑庢傝偨偄側傜丄
main.c 傪壓婰偺傛偆偵曇廤偟偰偔偩偝偄丅 log_set_debug(DEBUG_TRACE_ALL);
(84 峴偁偨傝) 偙傟偱摦嶌偟傑偡丅

% make clean                                                           
% make                                                                 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

5.3. 帺摦扵嶕偺僩儔僽儖僔儏乕僥傿儞僌

帺摦扵嶕偑巚偭偨傛偆偵婡擻偟側偄応崌傕偁傝傑偡丅椺偊偽丄僲乕僪偑懠偺僲
乕僪偐傜偺儅儖僠僉儍僗僩捠怣傪曔懆偟側偄働乕僗偱偡丅偙偺尰徾偼 PCMCIA
僀乕僒僱僢僩僪儔僀僶偱敪惗偡傞応崌偑偁傝傑偡丅壓婰偵弎傋傞捠傝丄僀儞僞
僼僃乕僗傪僾儘儈僗僉儍僗儌乕僪傗儅儖僠僉儍僗僩儌乕僪偵偡傞偲偄偆夝寛曽
朄偑偁傝傑偡丅

Aug 31 20:45:58 localhost kernel: openMosix configuration changed: This is openMosix #98 (of 1 configured)                                      
Aug 31 20:45:58 localhost kernel: openMosix #98 is at IP address 10.0.0.98Aug 31 20:45:58 localhost omdiscd[1627]: Notified kernel to activate  
openMosix  Aug 31 20:45:58 localhost kernel: Received an unauthorized information request from 10.0.0.99                                        

偙偆側偭偰偄偨側傜丄偤傂庤摦偱 NIC 傪嫮惂揑偵僾儘儈僗僉儍僗儌乕僪傗儅儖
僠僉儍僗僩儌乕僪偵偟偰傒偰偔偩偝偄丅

ifconfig ethx promisc                                                  
or                                                                     
ifconfig ethx multicast                                                

壓婰偺傛偆偵偟偰傕 OK 偱偡丅

tcpdump -i eth0 ether multicast                                        

ifconfig 偲摨偠岠壥偑偁傝丄偐偮帺恎偺僷働僢僩傕尒傜傟傞傛偆偵側傝傑偡丅

 

Aug 31 22:14:43 inspon omdiscd[1422]: Simulated notification to activate openMosix 
[root@inspon root]# showmap                                                        
My Node-Id: 0x0063                                                                 
                                                                                   
Base Node-Id Address          Count                                                
------------ ---------------- -----                                                
0x0063       10.0.0.99        1                                                    
[root@inspon root]# /etc/init.d/openmosix status                                   
OpenMosix is currently disabled                                                    
[root@inspon root]#                                                                

simulated 偲偄偆儘僌傪尒偮偗偨側傜丄嫲傜偔

#define ALPHA                                                          

傪僐儊儞僩偟朰傟偰偄傑偡丅

帺摦扵嶕偼 FireWire 儀乕僗偺僱僢僩儚乕僋僇乕僪偱偆傑偔摦嶌偟側偄偙偲傕
晅偗壛偊偰偍偒傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 6. 僋儔僗僞偺僀儞僗僩乕儖

6.1. 僋儔僗僞偺僀儞僗僩乕儖

偙偺復偱偼 openMosix 帺懱偺僀儞僗僩乕儖偼埖傢偢丄openMosix 傪棙梡偟偰暋
悢偺儅僔儞偵僀儞僗僩乕儖偡傞曽朄偵偮偄偰怗傟傑偡丅帺摦傕偟偔偼敿帺摦偱
懡検偵僀儞僗僩乕儖偟傑偡丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

6.2. DSH(Distributed Shell)

偙傟傪彂偄偰偄傞帪揰(2003 擭 3 寧)偱偼丄嵟怴偺 DSH 偺儕儕乕僗偼 http://
www.netfort.gr.jp/~dancer/software/downloads/ 偐傜庢摼偱偒傑偡丅僷僢働
乕僕偵偮偄偰偺徻偟偄忣曬偼丄 http://www.netfort.gr.jp/~dancer/software/
dsh.html 偵偁傝傑偡丅僟僂儞儘乕僪壜擻側嵟怴僶乕僕儑儞偼丄0.23.6 偱偡丅
libdshconfig-0.20.8.tar.gz 偲 dsh-0.23.5.tar.gz 傕昁梫偱偡丅
libdshconfig 傪僀儞僗僩乕儖偟偰傒傑偟傚偆丅

./configure                                                            
make                                                                   
make install                                                           

dsh 僷僢働乕僕傕摨條側傗傝曽傪偟偰偔偩偝偄丅

偄偔偮偐偺僲乕僪偐傜側傞彫婯柾側僋儔僗僞傪帩偭偰偄傞偲偟傑偡丅妝傪偡傞
偨傔偵僐儅儞僪偼堦搙偩偗擖椡偟丄偦傟偧傟偺僲乕僪偱幚峴偝偣傑偡丅 $HOME
/.dsh/group/clusterwname 偲偄偆僼傽僀儖傪嶌惉偟偰丄僋儔僗僞偺 IP 傾僪儗
僗傪儕僗僩偟側偗傟偽偄偗傑偣傫丅

[root@inspon root]# cat .dsh/group/mosix                               
192.168.10.220                                                         
192.168.10.84                                                          

椺偲偟偰偦傟偧傟偺儅僔儞偱 ls 傪摦偐偟偰傒傑偡丅mosix 僌儖乕僾偱幚峴偡
傞偨傔偵丄-g 傪晅偗傑偡(偙偺曽朄偱丄暿偺愝掕傪梡偄偰僌儖乕僾偺僒僽僙僢
僩傪嶌惉偱偒傑偡)丅

[root@inspon root]# dsh -r ssh -g mosix ls                             
192.168.10.84: anaconda-ks.cfg                                         
192.168.10.84: id_rsa.pub                                              
192.168.10.84: install.log                                             
192.168.10.84: install.log.syslog                                      
192.168.10.84: openmosix-kernel-2.4.17-openmosix1.i686.rpm             
192.168.10.84: openmosix-tools-0.2.0-1.i386.rpm                        
192.168.10.220: anaconda-ks.cfg                                        
192.168.10.220: id_dsa.pub                                             
192.168.10.220: id_rsa.pub                                             
192.168.10.220: openmosix-kernel-2.4.17-openmosix1.i686.rpm            
192.168.10.220: openmosix-tools-0.2.0-1.i386.rpm                       
192.168.10.220: oscar-1.2.1rh72                                        
192.168.10.220: oscar-1.2.1rh72.tar.gz                                 

偳偺儅僔儞偱傕僷僗儚乕僪傪梫媮偝傟側偄揰偵拲堄偟偰偔偩偝偄丅僇僂儞僩娫
偱 RSA 擣徹傪嵪傑偣偰偁傞偐傜偱偡丅暋悢偺僷儔儊僞傪僐儅儞僪偵搉偟偨偗傟
偽丄僐儅儞僪傪堷梡晞(")偱埻傓昁梫偑偁傝傑偡丅

[root@inspon root]# dsh -r ssh -g mosix "uname -a"                          
192.168.10.84: Linux omosix2.office.be.stone-it.com 2.4.17-openmosix1 #1    
Wed May 29 14:32:28 CEST 2002 i686 unknown                                  
192.168.10.220: Linux oscar0 2.4.17-openmosix1 #1 Wed May 29 14:32:28 CEST  
2002 i686 unknown                                                           

傕偟偔偼丄-c -- 僆僾僔儑儞傪巊偭偰偔偩偝偄丅摨偠寢壥偵側傝傑偡丅

[root@inspon root]# dsh -r ssh -g mosix -c -- uname -a                      
192.168.10.220: Linux oscar0 2.4.17-openmosix1 #1 Wed May 29 14:32:28 CEST  
2002 i686 unknown                                                           
192.168.10.84: Linux omosix2.office.be.stone-it.com 2.4.17-openmosix1 #1    
Wed May 29 14:32:28 CEST 2002 i686 unknown                                  

 

III. openMosix 偺娗棟

Table of Contents
7. openMosix 偺娗棟
   
    7.1. 娗棟偺婎杮
    7.2. 愝掕
    7.3. 儐乕僓嬻娫偺僣乕儖
    7.4. 僋儔僗僞偵儅僗僋傪偐偗傞
   
8. Mosix 偺僠儏乕僯儞僌
   
    8.1. 偼偠傔偵
    8.2. 乽儅僗僞乕乿僲乕僪偺嶌惉
    8.3. Mosix 偺嵟揔壔
    8.4. Channel Bonding 傪娙扨偵
    8.5. Updatedb
    8.6. openMosix 偲 FireWire
   
9. openMosixview
   
    9.1. 偼偠傔偵
    9.2. openMosixview vs Mosixview
    9.3. 僀儞僗僩乕儖
    9.4. openMosixview 偺巊梡
    9.5. openMosixprocs
    9.6. openMosixcollector
    9.7. openMosixanalyzer
    9.8. openMosixmigmon
    9.9. openmosixview FAQ
    9.10. openMosixview + ssh:
   
10. openMosix 娭楢偺偦偺懠偺僾儘僌儔儉
   
    10.1. 偼偠傔偵
    10.2. openMosixView
    10.3. openMosixapplet
    10.4. wmonload
    10.5. openMosixWebView
   
11. 嫟捠偺栤戣
   
    11.1. 偼偠傔偵
    11.2. 僾儘僙僗偑儅僀僌儗乕僩偟側偄
    11.3. 僲乕僪偑壗傕尒偊傑偣傫
    11.4. 傛偔乽No such process乿偲偄偆僄儔乕偑偱傑偡丅
    11.5. DFSA ? MFS ?
    11.6. Python 偺僩儔僽儖
   
12. 僸儞僩偲 TIPS 廤
   
    12.1. 儘僢僋偝傟偨僾儘僙僗
    12.2. 僾儘僙僗偺慖戰
    12.3. Java 偲 openMosix
    12.4. openMosix 偲僴僀僷乕僗儗僢僨傿儞僌
    12.5. openMosix 偲僼傽僀傾乕僂僅乕儖
   
13. 僀儞僗僩乕儖嵪傒 openMosix偺(晧壸)僥僗僩
   
    13.1. 偪傚偭偲偟偨僥僗僩僗僋儕僾僩
    13.2. Charles Nadeau 巵偵傛傞 Perl 偺僾儘僌儔儉
    13.3. openMosix 偺晧壸僥僗僩
   
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 7. openMosix 偺娗棟

7.1. 娗棟偺婎杮

openMosix 偼丄僾儘僙僗丒儅僀僌儗乕僔儑儞偲偄偆挿強傪 HPC 傾僾儕働乕僔儑
儞偵壛偊傑偡丅娗棟幰偼儐乕僓嬻娫偱摦偔僣乕儖傕偟偔偼丄/proc/hpc 僀儞僞
僼僃乕僗傪巊偭偰 openMosix 僋儔僗僞偺愝掕偲僠儏乕僯儞僌偑峴偊傑偡丅徻嵶
傪愢柧偟偰偄偒傑偟傚偆丅

openMosix 僶乕僕儑儞 2.4.16 傑偱偼丄/proc 僀儞僞僼僃乕僗偼 /proc/mosix
偱偟偨丅openMosix 僶乕僕儑儞 2.4.17 偵側偭偰 /proc/hpc 偲側傝傑偟偨丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

7.2. 愝掕

/proc/hpc/admin 僨傿儗僋僩儕偵暲傫偩僼傽僀儖偺抣偼丄僋儔僗僞偺尰嵼偺愝
掕傪昞偟偰偄傑偡丅娗棟幰偼偙偺抣帺恎傪偙傟傜偺僼傽僀儖偵彂偒崬傓偙偲偱
丄摦嶌拞偵愝掕傪曄峏偱偒傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table 7-1. /proc/hpc 僷儔儊僞偺曄峏

劇劅劅劅劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
劆echo 1 > /proc/hpc/ 劆儕儌乕僩偐傜偺僾儘僙僗傪僽儘僢僋偡傞丅      劆
劆admin/block         劆                                            劆
劌劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆echo 1 > /proc/hpc/ 劆儅僀僌儗乕僩偟偰偄傞僾儘僙僗傪偡傋偰儂乕儉僲劆
劆admin/bring         劆乕僪偵帩偭偰偔傞丅                          劆
劋劅劅劅劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

...

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table 7-2. /proc/hpc/admin/

劇劅劅劅劅劅劍劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
劆(binary   劆config        劆儊僀儞愝掕僼傽僀儖(setpe 儐乕僥傿儕僥 劆
劆files)    劆              劆傿偑嶌惉)                             劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆(flat     劆block         劆儕儌乕僩偐傜偺僾儘僙僗偺嫋壜丒嬛巭    劆
劆files)    劆              劆                                      劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆bring         劆儅僀僌儗乕僩嵪傒偺僾儘僙僗偡傋偰傪儂乕劆
劆          劆              劆儉僲乕僪偵帩偭偰偔傞                  劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆dfsalinks     劆尰忬偺僔儞儃儕僢僋 DFSA 儕儞僋        劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆expel         劆僎僗僩僾儘僙僗傪儂乕儉僲乕僪偵憲傞    劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆gateways      劆僎乕僩僂僃僀偺嵟戝悢                  劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆lstay         劆儘乕僇儖僾儘僙僗偼儅僀僌儗乕僩偟側偄  劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆mospe         劆openMosix 偺僲乕僪 ID 偑擖傞          劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆nomfs         劆MFS 偺桳岠丒柍岠                      劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆overheads     劆僠儏乕僯儞僌梡                        劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆quiet         劆晧壸暘嶶忣曬偺廂廤傪掆巭              劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆decay-interval劆晧壸暘嶶忣曬偺廂廤偺娫妘              劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆slow-decay    劆僨僼僅儖僩偼 975                      劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆fast-decay    劆僨僼僅儖僩偼 926                      劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆speed         劆Pentium III/1GHz 偲偺憡懳懍搙         劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆          劆stay          劆帺摦儅僀僌儗乕僔儑儞偺桳岠丒柍岠      劆
劋劅劅劅劅劅劏劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table 7-3. /proc/hpc/decay/ 偵偁傞僼傽僀儖偵 1 傪彂偒崬傓

劇劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
劆clear 劆暘嶶摑寁僨乕僞偺僋儕傾                            劆
劌劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆cpujob劆openMosix 偵僾儘僙僗偑 CPU 傪捦傫偱偄傞偙偲傪捠抦 劆
劌劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆iojob 劆openMosix 偵僾儘僙僗偑 IO 傪捦傫偱偄傞偙偲傪捠抦  劆
劌劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆slow  劆openMosix 偵摑寁傪庢傞娫妘傪抶偔偡傞傛偆偵捠抦    劆
劌劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆fast  劆openMosix 偵摑寁傪庢傞娫妘傪憗偔偡傞傛偆偵捠抦    劆
劋劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table 7-4. 偦偺懠偺僲乕僪偵偮偄偰偺忣曬

劇劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
劆/proc/hpc/nodes/[openMosix_ID]/   劆偦偺僲乕僪偑帩偭偰偄傞 CPU 偺 劆
劆CPUs                              劆悢                            劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/hpc/nodes/[openMosix_ID]/   劆偙偺僲乕僪偺 opeMosix 偺晧壸  劆
劆load                              劆                              劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/hpc/nodes/[openMosix_ID]/mem劆openMosix 偑巊梡壜擻側儊儌儕  劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/hpc/nodes/[openMosix_ID]/   劆Linux 偑巊梡壜擻側儊儌儕      劆
劆rmem                              劆                              劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/hpc/nodes/[openMosix_ID]/   劆Pentium III/1GHz 偲偺憡懳懍搙 劆
劆speed                             劆                              劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/hpc/nodes/[openMosix_ID]/   劆僲乕僪偺忬懺                  劆
劆status                            劆                              劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/hpc/nodes/[openMosix_ID]/   劆棙梡壜擻儊儌儕                劆
劆tmem                              劆                              劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/hpc/nodes/[openMosix_ID]/   劆僲乕僪偺壱摥帪娫              劆
劆util                              劆                              劆
劋劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table 7-5. 儘乕僇儖僾儘僙僗偵偮偄偰偺捛壛忣曬

劇劅劅劅劅劅劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
劆/proc/[PID]/cantmove    劆僾儘僙僗偑儅僀僌儗乕僩偟側偄棟桼        劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/[PID]/goto        劆僾儘僙僗偑儅僀僌儗乕僩偡傞偼偢偺僲乕僪  劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/[PID]/lock        劆僾儘僙僗偑儂乕儉僲乕僪偵儘僢僋偝傟偰偄傞劆
劆                        劆偐                                      劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/[PID]/nmigs       劆僾儘僙僗偑儅僀僌儗乕僩偟偨夞悢          劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/[PID]/where       劆尰嵼僾儘僙僗偑墘嶼傪偟偰偄傞偲偙傠      劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/[PID]/migrate     劆儕儌乕僩僾儘僙僗偲摨偠                  劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/hpc/remote/from   劆僾儘僙僗偺儂乕儉僲乕僪                  劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/hpc/remote/       劆僾儘僙僗偵偮偄偰偺捛壛忣曬              劆
劆identity                劆                                        劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/hpc/remote/statm  劆僾儘僙僗偺儊儌儕摑寁僨乕僞              劆
劌劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆/proc/hpc/remote/stats  劆僾儘僙僗偺 CPU 摑寁僨乕僞               劆
劋劅劅劅劅劅劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

7.3. 儐乕僓嬻娫偺僣乕儖

 壓婰偺僣乕儖傪巊偆偲丄openMosix 僋儔僗僞偺娗棟偑妝偵側傝傑偡丅

migrate 丗僾儘僙僗偵儅僀僌儗乕僩偡傞傛偆偵巜帵傪弌偟傑偡丅             
                彂幃丗                                                 
                        migrate [PID] [openMosix_ID]                   

                                                                           
mon             丗ncurses 儀乕僗偺抂枛僞僀僾偺儌僯僞乕丅朹僌儔僼傪昞帵偟偰 
                  尰嵼偺忬嫷偵偮偄偰偺忣曬傪昞帵偟傑偡丅                   

mosctl          丗偼丄openMosix 偺儊僀儞偺愝掕儐乕僥傿儕僥傿偱偡丅                                     
                彂幃丗                                                                                 
                        mosctl  [stay|nostay]                                                          
                                [lstay|nolstay]                                                        
                                [block|noblock]                                                        
                                [quiet|noquiet]                                                        
                                [nomfs|mfs]                                                            
                                [expel|bring]                                                          
                                [gettune|getyard|getdecay]                                             
                                                                                                       
                        mosctl  whois   [openMosix_ID|IP-address|hostname]                             
                                                                                                       
                        mosctl  [getload|getspeed|status|isup|getmem|getfree|getutil]   [openMosix_ID] 
                                                                                                       
                        mosctl  setyard [Processor-Type|openMosix_ID||this]                            
                                                                                                       
                        mosctl  setspeed        interger-value                                         
                                                                                                       
                        mosctl  setdecay interval       [slow fast]                                    

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table 7-6. 徻嵶

劇劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
劆stay    劆帺摦揑偵僾儘僙僗傪儅僀僌儗乕僩偟傑偣傫丅                劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆nostay  劆帺摦揑偵僾儘僙僗傪儅僀僌儗乕僩偟傑偡(僨僼僅儖僩)丅      劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆lstay   劆儘乕僇儖僾儘僙僗偺傑傑偵偟偰偍偒傑偡丅                  劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆nolstay 劆儘乕僇儖僾儘僙僗傪儅僀僌儗乕僩偟傑偡丅                  劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆block   劆僎僗僩僾儘僙僗偺庴偗擖傟傪嫅斲偟傑偡丅                  劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆noblock 劆僎僗僩僾儘僙僗傪庴偗擖傟傑偡丅                          劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆quiet   劆晧壸暘嶶忣曬偺廂廤傪柍岠偵偟傑偡丅                      劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆noquiet 劆晧壸暘嶶忣曬偺廂廤傪桳岠偵偟傑偡丅                      劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆nomfs   劆MFS 傪柍岠偵偟傑偡丅                                    劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆mfs     劆MFS 傪桳岠偵偟傑偡丅                                    劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆expel   劆僎僗僩僾儘僙僗傪憲傝弌偟傑偡丅                          劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆bring   劆儅僀僌儗乕僩偟偨僾儘僙僗傪偡傋偰儂乕儉僲乕僪偵帩偭偰偒傑劆
劆        劆偡丅                                                    劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆gettune 劆尰忬偺僆乕僶乕僿僢僪僷儔儊僞傪昞帵偟傑偡丅              劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆getyard 劆尰嵼偺婎弨傪昞帵偟傑偡丅                                劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆getdecay劆尰嵼偺暘嶶僷儔儊僞傪昞帵偟傑偡丅                        劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆whois   劆僋儔僗僞偺 openMosix ID丄IP 傾僪儗僗丄儂僗僩柤          劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆getload 劆(openMosix)偺晧壸傪昞帵偟傑偡丅                         劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆getspeed劆(openMosix)偺懍搙傪昞帵偟傑偡丅                         劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆status  劆尰嵼偺忬嫷偲愝掕傪昞帵偟傑偡丅                          劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆isup    劆僲乕僪偺壱摦丒掆巭(openMosix 偺 ping 偺傛偆側傕偺)      劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆getmem  劆榑棟儊儌儕偺嬻偒傪昞帵偟傑偡丅                          劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆getfree 劆暔棟儊儌儕偺嬻偒傪昞帵偟傑偡丅                          劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆getutil 劆壱摥棪傪昞帵偟傑偡丅                                    劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆setyard 劆怴偟偄婎弨抣傪愝掕偟傑偡丅                              劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆setspeed劆怴偟偄(openMosix)偺懍搙傪愝掕偟傑偡丅                   劆
劌劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆setdecay劆暘嶶娫妘傪愝掕偟傑偡丅                                  劆
劋劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

mosrun          慖戰偟偨僲乕僪偱愝掕僐儅儞僪傪摦偐偟傑偡丅                                  
                彂幃丗                                                                      
                        mosrun  [-h|openMosix_ID| list_of_openMosix_IDs] command [arguments]

mosrun 僐儅儞僪偼丄僐儅儞僪儔僀儞偺僆僾僔儑儞傪偝傜偵偄偔偮偐晅偗偰幚峴
偱偒傑偡丅娙扨偵幚峴偱偒傞傛偆偵丄愝掕嵪傒偺婲摦僗僋儕僾僩偑偁傝傑偡丅
愝掕梡搑暿偵 (openMosix)僕儑僽傪幚峴偟傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table 7-7. mosrun 偺捛壛僆僾僔儑儞

劇劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
劆nomig     劆儅僀僌儗乕僩偟偰梸偟偔側偄僾儘僙僗偺僐儅儞僪傪幚峴偟傑劆
劆          劆偡丅                                                  劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆runhome   劆儂乕儉僲乕僪偵儘僢僋偝傟傞僐儅儞僪傪幚峴偟傑偡丅      劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆runon     劆偁傞僲乕僪偵偡偖儅僀僌儗乕僩偟丄偦偙偵儘僢僋偝傟傞僐儅劆
劆          劆儞僪傪幚峴偟傑偡丅                                    劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆cpujob    劆openMosix 僋儔僗僞偵僾儘僙僗偑 CPU 屌掕偱偁傞偙偲傪捠 劆
劆          劆抦偟傑偡丅                                            劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆iojob     劆openMosix 僋儔僗僞偵僾儘僙僗偑 IO 屌掕偱偁傞偙偲傪揱偊劆
劆          劆傑偡丅                                                劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆nodecay   劆僐儅儞僪傪幚峴偟丄僋儔僗僞偵晧壸暘嶶偺忬懺傪儕僼儗僢僔劆
劆          劆儏偡傞傛偆偵捠抦偟傑偡丅                              劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆slowdecay 劆暘嶶娫妘傪抶偔偟偰僐儅儞僪傪幚峴偟丄晧壸暘嶶偺忬懺傪廂劆
劆          劆廤偟傑偡丅                                            劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆fastdecay 劆暘嶶娫妘傪懍偔偟偰僐儅儞僪傪幚峴偟丄晧壸暘嶶偺忬懺傪廂劆
劆          劆廤偟傑偡丅                                            劆
劋劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

setpe           儅僯儏傾儖偱僲乕僪傪愝掕偡傞儐乕僥傿儕僥傿丅                  
                彂幃丗                                                        
                        setpe   -w -f   [hpc_map]                             
                        setpe   -r [-f  [hpc_map]]                            
                        setpe   -off                                          
-w 僼傽僀儖偐傜 openMosix 偺愝掕僼傽僀儖傪撉傒崬傒傑偡(捠忢偼 /etc/hpc.map)丅 
-r 尰嵼偺 openMosix 偺愝掕傪僼傽僀儖偵彂偒崬傒傑偡(捠忢偼 /etc/hpc.map)丅     
-off 尰忬偺 openMosix 愝掕傪柍岠偵偡偟傑偡丅                                  

tune            openMosix 偺挷惍偲嵟揔壔梡儐乕僥傿儕僥傿丅             
                (徻偟偄忣曬偼丄tune 偺 man 傪尒偰偔偩偝偄)             

/proc 僀儞僞僼僃乕僗偲僐儅儞僪儔僀儞儀乕僗偺 openMosix 儐乕僥傿儕僥傿
(/proc 僀儞僞僼僃乕僗傪棙梡偡傞)偵壛偊偰丄僷僢僠傪摉偰偨乽ps乿偲乽top乿
偑棙梡偱偒傑偡(乽mps乿偲乽mtop乿偲屇偽傟偰偄傑偡)丅偙傟偼丄openMosix 偺
僲乕僪 ID 偑楍偵壛傢傝傑偡丅摿掕偺僾儘僙僗偑尰嵼偳偙偱墘嶼偝傟偰偄傞偺
偐尒偮偗傞偺偵曋棙偱偡丅

僐儅儞僪儔僀儞偱巊偆僣乕儖傪庤抁偵愢柧偟偰偒傑偟偨偑丄openMosixview 傕
尒偰偍偒傑偟傚偆丅傛偔巊偆娗棟嶌嬈岦偗偵 GUI 傪棙梡偟偨僣乕儖偱偡丅偙偺
屻偺復偱榑偠傞偮傕傝偱偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

7.4. 僋儔僗僞偵儅僗僋傪偐偗傞

(Moshe Bar 巵挊)

openMosix 偵偁傞婡擻傪媮傔傞恖乆偑偄傑偡丅偦偺婡擻偲偼丄偁傞僾儘僙僗傪
摿掕偺僲乕僪偵張棟偝偣傞偙偲丄偦偟偰偦偺巕僾儘僙僗傪儅僀僌儗乕僩偝偣偨
傝丄僲乕僪偵傛偭偰偼偦傟偑偱偒側偄傛偆偵偟偨傝偡傞婡擻偱偡丅

Simone Ettore 巵偼 CVS 偵怴偟偄僷僢僠傪僐儈僢僩偟偰丄傑偝偵偙偺婡擻傪壜
擻偵偟傑偟偨丅

偳偺傛偆偵摦偔偐偙偙偱嫇偘偰傒傑偡丅

 丒 /proc/[pid]/migfilter 偼儅僀僌儗乕僔儑儞偺僼傿儖僞傪桳岠丒柍岠偵偟
    傑偡丅
   
 丒 /proc/[pid]/mignodes 偼僲乕僪偺價僢僩宍幃偺儕僗僩偱偡丅偁傞僲乕僪偺
    價僢僩埵抲偼 2^(PE-1) 偱寁嶼偝傟傑偡丅PE 偼僲乕僪斣崋偱偡丅
   
 丒 /proc/[pid]/migpolicy 偼僼傿儖僞偺婯懃偱偡丅 0=DENY 偼 mignodes 偺
    懳墳偡傞價僢僩偑 1 偱側偗傟偽丄僾儘僙僗偼偡傋偰偺僲乕僪偱儅僀僌儗乕
    僩壜擻偱偡丅 1=ALLOW 偼 mignodes 偺懳墳偡傞價僢僩偑 1 偱偁傞偡傋偰
    偺僲乕僪偱僾儘僙僗偑儅僀僌儗乕僩壜擻偱偡丅
   
 傑傕側偔僔儞僾儖側儐乕僓嬻娫偺僣乕儖傪儕儕乕僗偟傑偡丅偦偺僣乕儖傪巊偊
偽僲乕僪偵儅僗僋偑偐偗傜傟傑偡丅偟偐偟 openMosix 2.4.20-3 偲偟偰儕儕乕
僗偝傟傞慜偵丄偡偖偵偱傕愭偺曽朄傪帋偟偰傒偰偔偩偝偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 8. Mosix 偺僠儏乕僯儞僌

8.1. 偼偠傔偵

偙傟偐傜偺愢柧偵偼丄埲慜偺 Mosix HOWTO 偐傜偺堷梡晹暘偑傑偩娷傑傟偰偄傑
偡丅帪偲嫟偵 openMosix 偺奩摉晹暘傊偲抲偒姺傢偭偰偄偒傑偡偑丄偦傟偱傕傑
偩摨偠晹暘偑偁傞偱偟傚偆丅応崌偵傛傝偗傝偱偡偑丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

8.2. 乽儅僗僞乕乿僲乕僪偺嶌惉

openMosix 偺傾乕僉僥僋僠儍偱偼儅僗僞乕僲乕僪傪昁梫偲偟傑偣傫丅偟偐偟僾
儘僙僗傪棫偪忋偘傞偲偙傠偲偟偰丄僿僢僪僲乕僪偑偁偭偨曽偑椙偄偐傕偟傟傑
偣傫偟丄儐乕僓偑僋儔僗僞偵儘僌僀儞偡傞偲偙傠偲偟偰丄儅儖僠儂乕儉僲乕僪
偑昁梫偵側傞偐傕偟傟傑偣傫丅僾儘僙僗偑儅僀僌儗乕僩偡傞傛偆偵儅僔儞傪愝
掕偡傞昁梫偑偁傝傑偡丅

僲乕僪傪偩傑偟偰丄廃傝偺僲乕僪偺拞偱嵟傕抶偄僲乕僪偲巚傢偣側偗傟偽偄偗
傑偣傫丅偦偆偡傞偲丄偡傋偰偺僾儘僙僗偼傛傝懍偄僲乕僪偵儅僀僌儗乕僩偡傞
偙偲偵側傝傑偡丅 

乽抶偔乿偡傞偵偼壓婰偺傛偆偵偟傑偡丅

mosctl setspeed [n]                                                    

n 偼懠偺僲乕僪偺懍搙傛傝傕彫偝偔偟傑偡丅偦偆偡傞偲僾儘僙僗偑慺憗偔堏摦
傕偟偔偼儅僀僌儗乕僩偟傑偡丅僲乕僪偺懍搙偼壓婰偱傢偐傝傑偡丅

mosctl getspeed                                                        

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

8.3. Mosix 偺嵟揔壔

曇廤忋偺僐儊儞僩丗 openMosix 偺僶乕僕儑儞傪僠僃僢僋偡傞偙偲丅 

root 偱晛捠偺抂枛偐傜儘僌僀儞偟偰偔偩偝偄丅傑偢丄

       setpe -r                                                        

偲擖椡偟偰偔偩偝偄丅偙傟偱偆傑偔偄偗偽丄/etc/mosix.map 偑儕僗僩偝傟傑偡
丅偆傑偔峴偐側偄側傜丄

        setpe -w -f /etc/mosix.map                                     

偲偟偰傒偰偔偩偝偄丅僲乕僪傪愝掕偡傞偵偼丄師偺傛偆偵擖椡偟偰偔偩偝偄丅

       cat /proc/$$/lock                                               

偙傟偱巕僾儘僙僗偑僲乕僪偱儘僢僋偝傟偰偄傞偺偐(1)丄儅僀僌儗乕僩偟偰偄傞
偺偐(0)偑偑傢偐傝傑偡丅壗傜偐偺棟桼偱僾儘僙僗偑儘僢僋偝傟偰偄傟偽丄壓婰
偺傛偆偵偟偰曄峏偱偒傑偡丅

        echo 0 > /proc/$$/lock                                         

栤戣傪夝寛偡傞傑偱丅愝掕曽朄偼偡傋偰暅彞偟偰丄師偺僐儞僺儏乕僞偵旛偊偰
偔偩偝偄丅僾儘僌儔儉偺 tune_kernel 偲 prep_tune 偼 Mosix 偑屄乆偺僲乕僪
傪挷惍偡傞偺偵巊偄傑偡偑丄SuSE 僨傿僗僩儕價儏乕僔儑儞偱偼摦嶌偟傑偣傫丅
偟偐偟偳偆偵偐偱偒傑偡丅傑偢僠儏乕僯儞僌偟偨偄僐儞僺儏乕僞偲 Mosix 偑僀
儞僗僩乕儖偟偰偁傞暿偺僐儞僺儏乕僞傪僔儞僌儖儐乕僓儌乕僪偵棊偲偟傑偡丅
壓婰傪 root 偵側偭偰擖椡偟偰偔偩偝偄丅

        init 1                                                         

僱僢僩儚乕僋忋偵偁傞偦偺懠偡傋偰偺僐儞僺儏乕僞傪偱偒傞偩偗棊偲偟偰偔偩
偝偄丅偳偪傜偺儅僔儞偱傕壓婰偺僐儅儞僪傪摦偐偟偰偔偩偝偄丅

        /etc/init.d/network start                                      
        /etc/init.d/mosix start                                        
        echo 1 > /proc/mosix/admin/quiet                               

偙偆偡傞偲 prep_tune 偲 tune_kernel 偺嵟弶偺晹暘傪偩傑偣傑偡丅PCMCIA 僞
僀僾偺僱僢僩儚乕僋僇乕僪偑晅偄偨儔僢僾僩僢僾側傜丄壓婰偺傛偆偵偟側偗傟
偽偄偗傑偣傫丅

        /etc/init.d/pcmcia start                                       

偙傟偼乽/etc/init.d/network start乿偺戙傢傝偱偡丅僠儏乕僯儞僌偟偨偄僐儞
僺儏乕僞忋偱丄tune_kernel 傪摦偐偟偰壓婰偺庤懕偒傪摜傫偱偔偩偝偄丅儅僔
儞偵傕傛傝傑偡偑丄偙傟偵偼帪娫偑偐偐傝傑偡丅將傪帞偭偰偄傞側傜丄偄偮傕
偺挿偄挿偄嶶曕偲摨偠偖傜偄偐偐傝傑偡丅 tune_kernel 偼乽pg乿偲偄偆僥僗僩
栚揑偺僾儘僌儔儉傪 /root 偵嶌惉偟傑偡丅偙傟偼柍帇偟偰偔偩偝偄丅僠儏乕僯
儞僌偑廔傢偭偨傜丄/tmp/overheads 偺拞恎傪 /etc/overheads 偵僐僺乕偟偰偔
偩偝偄(僇乕僱儖傪嵞峔抸偟偰偔偩偝偄)丅奺僐儞僺儏乕僞偱僠儏乕僯儞僌偺庤
懕偒傪孞傝曉偟偰偔偩偝偄丅偦偟偰儕僽乕僩偟偰丄Mosix 傪巊偭偰偔偩偝偄丅
桭恖偵怴偟偄僋儔僗僞傪帺枬偡傞偙偲傕偍朰傟側偔丅  

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

8.4. Channel Bonding 傪娙扨偵

Contributed by Evan Hisey

Channel bonding 偼偒傢傔偰娙扨偱偡丅偙偺壽戣偵偮偄偰偺僪僉儏儊儞僩偑側
偄偙偲偑偦傟傪昞偟偰偄傑偡丅bonded network 偼傾僾儕働乕僔儑儞偵偲偭偰偼
捠忢偺僱僢僩儚乕僋偵尒偊傑偡丅僒僽僱僢僩忋偺儅僔儞偡傋偰偼丄摨偠庤抜偱
摑崌偝傟偰偄側偗傟偽偄偗傑偣傫丅Bonded and non-bonded 側儅僔儞偼丄幚嵺
偼偍屳偄偆傑偔捠怣偑偱偒傑偣傫丅

 Channel bonding 偼暔棟揑側僒僽僱僢僩傪嵟掅尷昁梫偲偟傑偡偑丄偝傜偵憹傗
偡偙偲偑壜擻偱偡(巹偼 tri-bonded 僋儔僗僞傪帩偭偰偄傑偡)丅bonding 傪桳
岠偵偡傞偵偼 Channel Bonding 偺僐乕僪傪僇乕僱儖偵慻傒崬傓傕偟偔偼儌僕儏
乕儖(bonding.o)偵偡傞昁梫偑偁傝傑偡丅2.4.x 偱偼僇乕僱儖偺昗弨僆僾僔儑儞
偵側偭偰偄傑偡丅僱僢僩儚乕僋僇乕僪偺愝掕偼晛捠偵偟偰偐傑偄傑偣傫偑丄乽
ifconfig乿傪巊偭偰 bond 偡傞嵟弶偺僇乕僪傪弶婜壔偡傞昁梫偑偁傝傑偡丅乽
ifenslave乿偼 bonded 愙懕傪峴偆巆傝偺僇乕僪傪弶婜壔偡傞僐儅儞僪偱偡丅乽
ifenslave乿偼丄 linux/Documentation/network/ 僨傿儗僋僩儕偵偁傝傑偡丅偙
傟偼 .c 僼傽僀儖偲偟偰僐儞僷僀儖偡傞昁梫偑偁傝傑偡丅婎杮揑側巊梡曽朄偼
丄

ifenslave <master> <slave1> <slave2>                                   

... 偱偡丅Channel bonded 僱僢僩儚乕僋偼丄channel bonding 傪僒億乕僩偟偰
偄傞儖乕僞傕偟偔偼僽儕僢僕宱桼偱捠忢偺僱僢僩儚乕僋偵愙懕偱偒傑偡 (巹偺
応崌偼僿僢僪僲乕僪偱捛壛偺僱僢僩儚乕僋僇乕僪偲億乕僩僼僅儚乕僨傿儞僌傪
巊偭偰偄傑偡)丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

8.5. Updatedb

updatedb 偲 mfs 傪慻傒崌傢偣傞偲栤戣偑敪惗偡傞嫲傟偑偁傝傑偡丅偟偨偑偭
偰丄 PRUNEFPATHS 偵 /mfs 傪捛壛偡傞偐丄/etc/updatedb.conf 偺 PRUNEFS 偵
mfs 傪捛壛偟偰丄updatedb 偑偙偺儅僂儞僩億僀儞僩偺嶕堷晅偗傪偟側偄傛偆偵
偟偰偔偩偝偄丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

8.6. openMosix 偲 FireWire

openMosix 偼懠偺僞僀僾偺僱僢僩儚乕僋僨僶僀僗傪巊偭偰惈擻傪壱偄偱偄傑偡
丅 openMosix and FireWire 偵愢柧偑偁傝傑偡丅 <http://howto.ipng.be/
FireWireClustering/>

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 9. openMosixview

9.1. 偼偠傔偵

 openMosixview 偼 Mosixview 偺師僶乕僕儑儞偱丄堦偐傜彂偒捈偟偰偁傝傑偡
丅 openMosix 僋儔僗僞岦偗偺僋儔僗僞娗棟梡偺 GUI 傪帩偪丄扤偱傕岲偒偵僟
僂儞儘乕僪偟偰巊梡偱偒傑偡(帺屓愑擟偱)丅 openMosixview 偵偼 5 偮偺曋棙
側傾僾儕働乕僔儑儞偑偁傝丄openMosix 僋儔僗僞傪娔帇偟偨傝丄娗棟偟偨傝偱
偒傑偡丅

 

openMosixview 儊僀儞偺娔帇丒娗棟傾僾儕働乕僔儑儞丅                     
openMosixprocs 僾儘僙僗娗棟偡傞僾儘僙僗丒儃僢僋僗丅                    
openMosixcollector 僋儔僗僞偲僲乕僪偺忣曬傪儘僊儞僌偡傞忣曬廂廤僨乕儌儞
丅                                                                     
openMosixanalyzer openMosixcollector 偑廂廤偟偨僨乕僞傪夝愅偡傞丅      
openMosixhistory 僋儔僗僞偺僾儘僙僗棜楌丅                              

 

  儊僀儞傾僾儕働乕僔儑儞偺夋柺偐傜偡傋偰偑憖嶌壜擻偵側偭偰偄傑偡丅儅僂
僗傪壗夞偐僋儕僢僋偡傟偽丄庡梫側 openMosix 偺僐儅儞僪偑幚峴偱偒傑偡丅奼
挘幚峴僟僀傾儘僌(advanced execution dialog)傪巊偊偽丄僋儔僗僞忋偱傾僾儕
働乕僔儑儞偑妝偵婲摦偱偒傑偡丅屄乆偺僲乕僪偺乽Priority-sliders乿偼丄庤
摦傕偟偔偼帺摦偱晧壸暘嶶傪梕堈偵偟傑偡丅 openMosixview 偼丄openMosix 偺
帺摦扵嶕偵懳墳偟偰偄偰丄openMosix 偺 /proc 僀儞僞僼僃乕僗偐傜愝掕忣曬傪
偡傋偰廂廤偟偰偄傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.2. openMosixview vs Mosixview

openMosixview 偼 openMosix 僋儔僗僞偵僞乕僎僢僩傪峣偭偰愝寁偟偰偁傝傑偡
丅 Mosixview 偺 Web 僒僀僩(偲偦偺儈儔乕)偼崱屻傕偦偺傑傑偱偡偑丄崱屻偺
奐敪偼偡傋偰 openMosixview 偱宲懕偟傑偡丅怴偟偄僪儊僀儞偼 
www.openmosixview.com <http://www.openmosixview.com> 偱偡丅

 幙栤丄偙偺愭梸偟偄婡擻丄僀儞僗僩乕儖偵摉偨偭偰偺栤戣丄僐儊儞僩丄忣曬岎
姺摍偑偁傟偽丄墦椂側偔 Matt Rechenburg 偵儊乕儖偡傞偐丄openMosix/
Mosixview 儊乕儕儞僌儕僗僩偵嶲壛偟偰丄儊乕儖傪搳偘偰偔偩偝偄丅 

 曄峏(Mosixview 1.1 偵懳偟偰) Mosixview 傪僗僋儔僢僠偐傜彂偒捈偟偨偺偑
丄openMosixview 偱偡丅婡擻偼摨偠偱偡偑丄僜乕僗僐乕僪偺偁傜備傞晹暘傪崻
杮揑偵曄峏偟偨偺偑 openMosixview 偱偡丅僋儔僗僞偺峔惉傪壗搙傕曄峏偟側偑
傜(openMosix 偺帺摦扵嶕偑昁恵偱偡)僥僗僩偟偰偁傝傑偡丅僶僌偩傜偗偺晹暘
偼嶍彍偝傟丄彂偒捈偝傟偰偄傑偡丅傛傝埨掕偟偰摦偄偰偄傑偡 (偦偺偼偢偱偡
;)丅 

openMosix 偺帺摦扵嶕偵懳墳偟偰偄傞丅                                   
/etc/mosix.map 傕偟偔偼 cluster-map 僼傽僀儖傪傕偆巊梡偟偰偄側偄丅     
僶僌偩傜偗偺 map-file 僷乕僒傪嶍彍丅                                   
C++ 僀儞僞僼僃乕僗偺慡懱偵懳偡傞晹昳丄婡擻丄儊僜僢僪傪偡傋偰彂偒捈偟丅 
僨傿僗僾儗僀偵偁偭偨偪傚偭偲偟偨僶僌傪廋惓丅                           
MosixMem+Load 傪 openMosixanalyzer 偵抲偒姺偊丅                        
偝傜偵懡偔偺曄峏丅                                                     

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.3. 僀儞僗僩乕儖

 昁梫忦審

QT                                                                     
root 偺尃尷                                                            
僋儔僗僞僲乕僪偡傋偰偵懳偟偰僷僗儚乕僪側偟偱 rlogin 偲 rsh (傕偟偔偼   
ssh)偑偱偒丄openMosix 偺儐乕僓嬻娫僣乕儖偱偁傞 mosctl丄migrate丄 runon 
丄iojob丄cpujob 摍偑巊偊傞(www.openmosix.org 僒僀僩偐傜僟僂儞儘乕僪偟偰
偔偩偝偄)丅                                                            

RH 8.0 偱偼丄師偺 RPM 偑嵟掅尷昁梫偲側傝傑偡丅qt-3.0.5-17丄libmng-1.0.4
丄 XFree86-Mesa-libGLU-4.2.0丄glut-3.7 摍偱偡丅  

openMosixview 偵偮偄偰偺僪僉儏儊儞僩丅偳偺僷僢働乕僕偵傕 HTML 宍幃偱
openMosixview 偺僪僉儏儊儞僩偑偡傋偰擖偭偰偄傑偡丅openMosixview 傪僀儞
僗僩乕儖偡傞僨傿儗僋僩儕偵偼丄僪僉儏儊儞僩偺嵟弶偺暸偑偁傝傑偡丅
openmosixview/openmosixview/docs/en/index.html 偑偦傟偱偡丅

 RPM 僷僢働乕僕傪僀儞僗僩乕儖偡傞僨傿儗僋僩儕偼 /usr/local/
openmosixview 偱偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.3.1. RPM 宍幃偺僨傿僗僩儕價儏乕僔儑儞傪僀儞僗僩乕儖偡傞

 openMosixview 偺嵟怴偺 RPM 僷僢働乕僕傪僟僂儞儘乕僪偟偰偔偩偝偄丅僟僂
儞儘乕僪偟偨傜丄壓婰偺傛偆偵幚峴偟偰偔偩偝偄丅

rpm -i openmosixview-1.4.rpm                                           

偙傟偱僶僀僫儕偼偡傋偰 /usr/bin 偵僀儞僗僩乕儖偝傟傑偡丅傾儞僀儞僗僩乕
儖偡傞偵偼丄壓婰偺傛偆偵偟偰偔偩偝偄丅

rpm -e openmosixview                                                   

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.3.2. 僜乕僗宍幃偺僨傿僗僩儕價儏乕僔儑儞偱偺僀儞僗僩乕儖

 openMosixview 偺嵟怴斉傪僟僂儞儘乕僪偟偰丄僜乕僗傪 unzip+untar 偟傑偡
丅 tarball 傪 /usr/local 摍偵僐僺乕偟偰偔偩偝偄丅

gunzip openmosixview-1.4.tar.gz                                        
tar -xvf openmosixview-1.4.tar                                         

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.3.3. 帺摦愝掕僗僋儕僾僩

 openMosixview 偺僨傿儗僋僩儕偵 cd 偟偰丄壓婰傪幚峴偟偰偔偩偝偄丅

./setup [your_qt_2.3.x_installation_directory]                         

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.3.4. 帺暘偱僐儞僷僀儖偡傞

QT 僨傿僗僩儕價儏乕僔儑儞偵崌偆傛偆偵 QTDIR 曄悢傪愝掕偟偰偔偩偝偄丅

export QTDIR=/usr/lib/qt-2.3.0 (for bash)                              
or                                                                     
setenv QTDIR /usr/lib/qt-2.3.0 (for csh)                               

 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.3.5. 僸儞僩廤

(openMosixview 傗 Mosixview 傪怓乆側 Linux 僨傿僗僩儕價儏乕僔儑儞偱僐儞
僷僀儖偟偰偔傟偨僥僗僞乕偐傜偺忣曬偱偡丅偁傜偨傔偰姶幱偟傑偡)

ln -s /usr/local/qt-2.3.0 /usr/lib/qt                                  

偲偟偨傜丄QTDIR 娐嫬曄悢偵壓婰傪愝掕偟側偗傟偽偄偗傑偣傫丅

export QTDIR=/usr/lib/qt (for bash)                                    
傕偟偔偼丄                                                             
setenv QTDIR /usr/lib/qt (for csh)                                     

偙偆偡傟偽屻偼栤戣側偔峴偒傑偡丅

./configure                                                            
make                                                                   

摨條側偙偲傪僒僽僨傿儗僋僩儕偱偁傞 openmosixcollector丄
openmosixanalyzer丄 openmosixhistory丄openmosixviewprocs 偱峴偭偰偔偩偝
偄丅僶僀僫儕偼偡傋偰 /usr/bin 偵僐僺乕偟偰偔偩偝偄丅

cp openmosixview/openmosixview /usr/bin                                
cp openmosixviewproc/openmosixviewprocs/mosixviewprocs /usr/bin        
cp openmosixcollector/openmosixcollector/openmosixcollector /usr/bin   
cp openmosixanalyzer/openmosixanalyzer/openmosixanalyzer /usr/bin      
cp openmosixhistory/openmosixhistory/openmosixhistory /usr/bin         

偦偟偰 openmosixcollector 偺弶婜壔僗僋儕僾僩傪弶婜壔僨傿儗僋僩儕偵擖傟
偰偔偩偝偄丅椺偊偽壓婰偺傛偆偵丅

cp openmosixcollector/openmosixcollector.init /etc/init.d/openmosixcollector      
or                                                                                
cp openmosixcollector/openmosixcollector.init /etc/rc.d/init.d/openmosixcollector 

openmosixprocs 僶僀僫儕傪僋儔僗僞偺奺僲乕僪偵 /usr/bin/openmosixprocs
偲偟偰僐僺乕偟偰偔偩偝偄丅

rcp openmosixprocs/openmosixprocs your_node:/usr/bin/openmosixprocs    

偙傟偱 mosixview 偑幚峴偱偒傑偡丅

openmosixview                                                          

 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.4. openMosixview 偺巊梡

9.4.1. 儊僀儞偺傾僾儕働乕僔儑儞

 偙傟偑儊僀儞偺傾僾儕働乕僔儑儞偺僂僀儞僪僂偱偡丅婡擻偵偮偄偰偼壓婰偱愢
柧偟傑偡丅

[omview1]

 openMosixview 偵偼堦楍偵儔儞僾丄儃僞儞丄僗儔僀僟乕丄揹戩彂懱偺悢抣丄2
偮偺僾儘僌儗僗僶乕丄僋儔僗僞偺奺儊儞僶乕傪昞偡儔儀儖偑暲傫偱偄傑偡丅嵍
懁偺儔僀僩偼丄openMosix 偺 ID 偲僋儔僗僞僲乕僪偺忬懺傪昞偟偰偄傑偡丅愒
偼僟僂儞丄椢偑棙梡壜擻偱偡丅

 偁傞僲乕僪偺 IP 傾僪儗僗傪昞偡儃僞儞傪僋儕僢僋偡傞偲丄愝掕夋柺偑億僢僾
傾僢僾偟傑偡丅昿斏偵巊梡偡傞乽mosctl乿僐儅儞僪傪幚峴偡傞儃僞儞傪昞帵偟
偰偄傑偡丅 (偙偺 HOWTO 偺屻敿偱愢柧偟傑偡) 乽懍搙僗儔僀僟乕乿傪巊偭偰丄
openMosix 偺懍搙傪奺儂僗僩偵懳偟偰愝掕偱偒傑偡丅尰嵼偺懍搙偼揹戩彂懱偺
悢抣偱昞帵偝傟偰偄傑偡丅

 偙傟傜偺抣傪偄偠傞偲丄僋儔僗僞慡懱偺晧壸暘嶶傪挷惍偱偒傑偡丅 openMosix
僋儔僗僞偵偍偗傞僾儘僙僗偼丄懍搙偑抶偄僲乕僪傛傝傕懍偄僲乕僪傊偲偡偖偵
儅僀僌儗乕僩偟傑偡丅偙傟偼愝掕壜擻側暔棟揑側懍搙偱偼側偔丄openMosix 偑
僲乕僪偵懳偟偰乽敾抐乿偟偨懍搙偵側傝傑偡丅椺偊偽丄僋儔僗僞慡懱偺拞偱抶
偄偲愝掕偟偨僲乕僪偱 CPU 傪廤拞揑偵棙梡偡傞僕儑僽傪幚峴偡傞偲丄幚峴偡傞
偺偵揔偟偨僾儘僙僢僒傪専嶕偟丄偡偖偵儅僀僌儗乕僩偟傑偡丅

 恀傫拞偵偁傞僾儘僌儗僗僶乕偼丄奺僋儔僗僞儊儞僶乕偺晧壸偺慡懱憸傪昞帵偟
偰偄傑偡丅僷乕僙儞僩昞帵傪偟偰偄傑偡偺偱丄/proc/hpc/nodes/x/load
(openMosix 偵傛傞)偵彂偒崬傑傟偰偄傞晧壸傪偦偺傑傑昞偟偰偄傑偣傫偑丄慡
懱憸偼捦傔傞偼偢偱偡丅

 師偺僾儘僌儗僗僶乕偼僲乕僪偑巊偭偰偄傞儊儌儕偱偡丅儂僗僩忋偺棙梡壜擻側
儊儌儕偺撪丄尰忬偳傟偩偗巊梡嵪傒偐傪僷乕僙儞僩昞帵偟偰偄傑偡(塃偵昞帵偟
偰偁傞儔儀儖偑棙梡壜擻側儊儌儕偱偡)丅僋儔僗僞偵偄偔偮偺 CPU 偑偁傞偺偐
偼丄塃懁偺儃僢僋僗偵昞帵偟偰偁傝傑偡丅儊僀儞僂僀儞僪僂偺嵟弶偺峴偵偼丄
乽慡僲乕僪梡乿愝掕儃僞儞偑偁傝傑偡丅偙偺僆僾僔儑儞傪巊偊偽丄僲乕僪偡傋
偰偵懳偟偰摨偠愝掕偑壜擻偵側傝傑偡丅

 偳偺偔傜偄晧壸暘嶶偑偆傑偔峴偭偰偄傞偺偐偼丄忋懁偺嵍偺僾儘僌儗僗僶乕偵
昞帵偟偰偁傝傑偡丅 100% 偑椙岲偱丄偡傋偰偺僲乕僪偑傎偲傫偳摨偠晧壸偵側
偭偰偄傞偙偲傪昞偟傑偡丅

 openMosixcollector 傪娗棟偟丄openMosixanalyzer 傪奐偔偵偼丄廂廤
(collector)偲暘愅(analyzer)儊僯儏乕傪巊偭偰偔偩偝偄丅openMosixview 傾僾
儕働乕僔儑儞偺堦晹偱偁傞偙偺 2 偮傪巊偊偽丄挿婜娫偵搉偭偰僋儔僗僞慡懱傪
尒偰偄偔偺偵栶棫偪傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.4.2. 愝掕僂僀儞僪僂

 偙偺僟僀傾儘僌偼乽cluster-node乿儃僞儞傪僋儕僢僋偡傞偲億僢僾傾僢僾偟傑
偡丅

[omview2]

 奺儂僗僩偺 openMosix 偺愝掕偑娙扨偵曄峏偱偒傞傛偆偵側傝傑偟偨丅偡傋偰
偺僐儅儞僪偼乽rsh乿偐乽ssh乿宱桼偱儕儌乕僩儂僗僩偱幚峴偝傟傞偺偱 (儘乕
僇儖僲乕僪忋偱偁偭偰傕)丄乽root乿偑乽rsh乿(傕偟偔偼乽ssh乿)傪僷僗儚乕僪
傪媮傔傞僾儘儞僾僩傪昞帵偡傞偙偲側偔幚峴偱偒側偗傟偽偄偗傑偣傫 (偙偺揰
偵偮偄偰偼丄Beowulf 偺僪僉儏儊儞僩偵暘偐傝傗偡偔彂偄偰偁傝傑偡丅傑偨偳
偺傛偆偵愝掕偡傞偐偵偮偄偰偼丄偙偺暸偵偁傞偦偺 HOWTO 偵彂偄偰偁傝傑偡)
丅 

  僐儅儞僪偼壓婰偺捠傝丅

openMosixprocs 偑儕儌乕僩偺僋儔僗僞僲乕僪偵惓偟偔僀儞僗僩乕儖偟偰偁傟偽
丄乽remote proc-box乿儃僞儞傪僋儕僢僋偟偰 openMosixprocs(proc-box) 傪儕
儌乕僩偐傜奐偄偰偔偩偝偄丅 xhost 偲儂僗僩柤傪愝掕偡傟偽丄僨傿僗僾儗僀傪
儘乕僇儖儂僗僩偵岦偗傜傟傑偡丅僋儔僀傾儞僩偼乽rsh乿傕偟偔偼乽ssh乿傪巊
偭偰儕儌乕僩偱幚峴偝傟傑偡 (openmosixprocs 偺僶僀僫儕偼丄僋儔僗僞偵懏偡
傞奺儂僗僩偵僐僺乕偟側偗傟偽偄偗傑偣傫(椺偊偽 /usr/lbin 偵)丅
openMosixprocs 偼丄僾儘僌儔儉娗棟梡偺 process-box 偵偁傝傑偡丅僾儘僌儔
儉傪婲摦偟偰丄儕儌乕僩僲乕僪忋偱儘乕僇儖偵幚峴偡傞偺偵曋棙偱偡丅偙偺
HOWTO 偺屻敿偱愢柧偟傑偡丅

 儕儌乕僩偺儚乕僋僗僥乕僔儑儞偐傜僋儔僗僞偵儘僌僀儞偟偰偄傞側傜丄儘乕僇
儖偺儂僗僩柤傪乽remote proc-box乿壓偺 edit-box 偵擖椡偟偰偔偩偝偄丅偦偆
偡傟偽丄帺暘偺儚乕僋僗僥乕僔儑儞忋偵 openMosixprocs 偑昞帵偝傟傑偡丅儘
僌僀儞偟偰傞僋儔僗僞儊儞僶乕忋偱偼側偔(偍偦傜偔儚乕僋僗僥乕僔儑儞忋偱乽
xhost +clusternode乿愝掕偡傞昁梫偑偁傝傑偡)丅 combo-box 偵偼棜楌忣曬偑
偁傝傑偡偺偱丄儂僗僩柤偼堦搙偩偗彂偗偽戝忎晇偱偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.4.3. 忋媺岦偗偺幚峴曽朄

僕儑僽傪僋儔僗僞忋偱奐巒偟偨偄側傜丄乽advanced execution乿僟僀傾儘僌偑
曋棙偱偡丅

[omview3]

 僾儘僌儔儉傪慖傫偱丄乽run-prog乿儃僞儞傪巊偭偰奐巒偟偰偔偩偝偄(僼傽僀
儖傪僆乕僾儞偡傞傾僀僐儞)丅僕儑僽偑偳偺傛偆側曽朄偱丄壗張偱奐巒偝偣傞偺
偐偼 execution 僟僀傾儘僌偱巜掕偱偒傑偡丅愢柧偑昁梫側僆僾僔儑儞偑偄偔偮
偐偁傝傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.4.4. 僐儅儞僪儔僀儞

 僂僀儞僪僂嵟忋晹偺峴曇廤僂傿僕僢僩偵丄僐儅儞僪儔僀儞傊偺堷悢傪捛壛巜掕
偱偒傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Table 9-1. 婲摦曽朄

劇劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
劆-no       劆儅僀僌儗乕僩偟偨偔側偄僕儑僽傪儘乕僇儖偱奐巒丅        劆
劆migration 劆                                                      劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆-run home 劆儘乕僇儖偱僕儑僽傪奐巒丅                              劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆-run on   劆乽host-chooser乿偱巜掕偟偨僲乕僪偱僕儑僽傪奐巒丅      劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆-cpu job  劆(host-chooser 偱巜掕偟偨)僲乕僪偱墘嶼拞怱偺僕儑僽傪奐 劆
劆          劆巒丅                                                  劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆-io job   劆(host-chooser 偱巜掕偟偨)僲乕僪偱 IO 拞怱偺僕儑僽傪奐 劆
劆          劆巒丅                                                  劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆-no decay 劆(host-chooser 偱巜掕偟偨)僲乕僪偱暘嶶偟側偄僕儑僽傪奐 劆
劆          劆巒丅                                                  劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆-slow     劆(host-chooser 偱巜掕偟偨)僲乕僪偱備偭偔傝偲暘嶶偡傞僕 劆
劆decay     劆儑僽傪奐巒丅                                          劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆-fast     劆(host-chooser 偱巜掕偟偨)僲乕僪偱慺憗偔暘嶶偡傞僕儑僽 劆
劆decay     劆傪奐巒丅                                              劆
劌劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
劆-parallel 劆(special host-chooser 偱巜掕偟偨)僕儑僽傪暋悢傕偟偔偼 劆
劆          劆偡傋偰偺僲乕僪偱奐巒丅                                劆
劋劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.4.5. 儂僗僩偺慖戰

儘乕僇儖偱偼側偄僕儑僽傪摦偐偡偵偼丄dial 僂僀僕僢僩偱儂僗僩傪慖戰偡傞偩
偗偱偡丅僲乕僪偺 openMosix 偺 ID 偼揹戩彂懱偺悢抣偱昞帵偝傟偰偄傑偡丅僋
儕僢僋傪偡傟偽僕儑僽偑偼偠傑傝傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.4.6. 摨帪偵儂僗僩傪慖戰

spin 儃僢僋僗傪 2 偮巊偭偰丄嵟弶偲嵟屻偺僲乕僪傪愝掕偱偒傑偡丅偦偆偡傟
偽丄僐儅儞僪偼嵟弶偲嵟屻偺僲乕僪娫偡傋偰偱幚峴偝傟傑偡丅偙偺僆僾僔儑儞
偼巜掕傪媡偵偟偰傕戝忎晇偱偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.5. openMosixprocs

9.5.1. 偼偠傔偵

 偙偺 process 儃僢僋僗偼丄僋儔僗僞偱僾儘僙僗傪憱傜偣丄偦傟傪娗棟偡傞偺
偵旕忢偵曋棙偱偡丅

[omview4]

奺僋儔僗僞僲乕僪偵僀儞僗僩乕儖偡傞昁梫偑偁傝傑偡丅

 僾儘僙僗儕僗僩偼壗張偱壗偑摦偄偰偄傞偺偐慡懱傪攃埇偱偒傑偡丅擇斣栚偺僇
儔儉偼丄奺僾儘僙僗偺 openMosix 偺僲乕僪 ID 偱偡丅 0 偼儘乕僇儖傪巜偟丄0
埲奜偺抣偼儕儌乕僩偺僲乕僪傪昞偟傑偡丅儅僀僌儗乕僩偟偨僾儘僙僗偼椢偺傾
僀僐儞偱報偑晅偒丄堏摦偱偒側偄僾儘僙僗偵偼忶報偑晅偒傑偡丅

 堦棗偵偁傞僾儘僙僗傪僟僽儖僋儕僢僋偡傞偲丄migrator-window 偑億僢僾傾僢
僾偟偰儅僀僌儗乕僩偡傞僾儘僙僗側偳傪娗棟偱偒傑偡丅傑偨丄儕儌乕僩僾儘僙
僗傪儅僀僌儗乕僩偝偣偨傝丄偦偺僾儘僙僗偵 SIGSTOP 傗 SIGCONT 傪憲偭偨傝
丄乽renice乿偝偣偨傝偱偒傑偡丅 

 乽manage procs from remote乿儃僞儞傪僋儕僢僋偡傞偲怴偟偄僂僀儞僪僂
(remote-procs 僂僀儞僪僂)偑弌偰丄尰嵼偙偺儂僗僩偵儅僀僌儗乕僩偝傟偨僾儘
僙僗傪昞帵偟傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.5.2. 儅僀僌儗乕僞乕丒僂僀儞僪僂(migrator-window)

偙偺僟僀傾儘僌偼丄僾儘僙僗丒儃僢僋僗偵偁傞僾儘僙僗偑僋儕僢僋偝傟傞偲億
僢僾傾僢僾偟傑偡丅 

[omview5]

 儅僀僌儗乕僞乕丒僂僀儞僪僂偼丄openMosix 僋儔僗僞偵偁傞偡傋偰偺僲乕僪傪
昞帵偟傑偡丅偙偺僂僀儞僪僂偼 1 偮偺僾儘僙僗偺娗棟梡偱偡(忬懺偺忣曬傪捛
壛偟偰)丅僾儘僙僗堦棗偐傜偁傞儂僗僩傪僟僽儖僋儕僢僋偡傞偲丄僾儘僙僗偑偙
偺儂僗僩偵儅僀僌儗乕僩偟傑偡丅偟偽傜偔偡傞偲丄娗棟偝傟偰偄傞僾儘僙僗丒
傾僀僐儞偑椢偵側傝傑偡丅偙傟偼儕儌乕僩偱摦嶌偟偰偄傞偙偲傪昞偟傑偡丅

 乽home乿儃僞儞偼僾儘僙僗傪儂乕儉僲乕僪偵憲傝傑偡丅乽best乿儃僞儞傪巊偆
偲丄僾儘僙僗偼僋儔僗僞拞偱棙梡壜擻側嵟揔偺僲乕僪偵憲傜傟傑偡丅儅僀僌儗
乕僔儑儞偼丄晧壸丄懍搙丄CPU丄偦偟偰 openMosix 偑偦傟偧傟偺僲乕僪傪乽敾
抐乿偟偨寢壥偵傛偭偰嵍塃偝傟傑偡丅嵟傕 CPU 偑偁傝丄嵟懍側儂僗僩傕偟偔偼
偦偺偳偪傜偐傪帩偮儂僗僩偵儅僀僌儗乕僩偡傞偐傕偟傟傑偣傫丅乽kill乿儃僞
儞傪巊偆偲丄僾儘僙僗傪偡偖偵 kill 偱偒傑偡丅

 僾儘僌儔儉傪堦帪掆巭偡傞偵偼乽SIGSTOP乿儃僞儞傪僋儕僢僋偟偰偔偩偝偄丅
宲懕偡傞側傜乽SIGCONT乿儃僞儞傪僋儕僢僋偟偰偔偩偝偄丅壓晹偺 renice 僗儔
僀僟乕傪巊偆偲丄尰嵼娗棟偟偰偄傞僾儘僙僗傪 renice 偱偒傑偡丅 (-20 偼偲
偰傕懍偔丄0 偼捠忢丄20 偼偲偰傕抶偔側傝傑偡)

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.5.3. 儕儌乕僩偐傜僾儘僙僗傪娗棟偡傞

 偙偺僟僀傾儘僌偼 process 儃僢僋僗偺恀壓偵偁傞乽manage procs from
remote乿儃僞儞傪僋儕僢僋偡傞偲億僢僾傾僢僾偟傑偡丅

[omview6]

 偦偺僾儘僌儔儉偼僋儔僗僞偵懏偡傞懠偺僲乕僪偐傜棃偨傕偺偱丄
openMosixview 偑摦偄偰偄傞儂僗僩忋偱尰嵼墘嶼傪峴偭偰偄傑偡丅 migrator
僂僀儞僪僂偵偁傞 2 偮偺儃僞儞偲摨條偵丄乽goto home node乿儃僞儞傪巊偊偽
偦偺僾儘僙僗偼儂乕儉僲乕僪偵憲傜傟丄乽goto best node乿儃僞儞傪巊偊偽丄
棙梡偡傞偺偵嵟揔側僲乕僪偵憲傜傟傑偡丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.6. openMosixcollector

openMosixcollector 偼僋儔僗僞儊儞僶乕偺 1 偮偱摦偐偟偨曽偑椙偄僨乕儌儞
偱偡丅奺僲乕僪偺 openMosix 偺晧壸傪 /tmp/openmosixcollector/* 僨傿儗僋
僩儕偵儘僌庢傝偟傑偡丅偙偺棜楌儘僌僼傽僀儖傪 openMosixanalyzer(屻偱愢柧
偟傑偡)偑夝愅偟丄僋儔僗僞偺晧壸丄儊儌儕丄僾儘僙僗偺奣嫷傪悘帪昞帵偟傑偡
丅儊僀儞偺儘僌僼傽僀儖偼 /tmp/openmosixcollector/cluster 偱偡丅偙偺僨傿
儗僋僩儕偵偼僨乕僞偑彂偒崬傑傟偰偄傞僼傽僀儖偑傕偭偲偁傝傑偡丅 

 婲摦帪偵 openMosixcollector 偼偦偺 PID(僾儘僙僗 ID)傪 /var/run/
openMosixcollector.pid 偵彂偒崬傒傑偡丅

 openMosixcollector 僨乕儌儞偼 12 帪娫偍偒偵嵞婲摦偟丄尰嵼偺棜楌傪 /tmp
/openmosixcollector[date]/* 偵曐懚偟傑偡丅偙偺僶僢僋傾僢僾偼帺摦揑偵峴
傢傟傑偡偑丄庤摦偱傕奐巒偱偒傑偡丅

 棜楌偵僠僃僢僋億僀儞僩傪彂偒崬傓僆僾僔儑儞偑偁傝傑偡丅
openMosixanalyzer 偱儘僌僼傽僀儖偺棜楌傪暘愅偡傞偲丄僠僃僢僋億僀儞僩偑
恾忋偵惵偄廲慄偱報偑晅偗傜傟偰偄傑偡丅椺偊偽丄僋儔僗僞偱偁傞僕儑僽傪奐
巒偟偨帪偵僠僃僢僋億僀儞僩傪愝掕偟丄暿偺僕儑僽傪嵟屻偵愝掕偡傞偲...

 偙傟偑丄僐儅儞僪儔僀儞偺堷悢偱壜擻側傕偺偺愢柧偵側傝傑偡丅

openmosixcollector -d      //僨乕儌儞偲偟偰 collector 傪奐巒丅         
openmosixcollector -k      //collector 傪掆巭丅                        
openmosixcollector -n      //僠僃僢僋億僀儞僩偵棜楌傪彂偔丅            
openmosixcollector -r      //尰忬偺棜楌傪曐懚偟怴偟偄棜楌傪奐巒丅      
openmosixcollector         //娙扨側僿儖僾傪昞帵丅                      

 

 偙偺僨乕儌儞偼弶婜壔僗僋儕僾僩偺 /etc/init.d 傕偟偔偼 /etc/rc.d/init.d
偱婲摦偱偒傑偡丅僔儞儃儕僢僋儕儞僋傪揔摉側儔儞儗儀儖偵挘偭偰帺摦揑偵婲
摦偡傞傛偆偵偟偰偔偩偝偄丅

 嶌惉嵪傒偺儘僌僼傽僀儖偺夝愅曽朄偼丄openMosixanalyzer 偺復偵夝愢偟偰偁
傝傑偡丅  

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.7. openMosixanalyzer

9.7.1. 晧壸偵偮偄偰

 偙偺恾偼晧壸偺奣嫷傪 openMosixanalyzer 偱昞帵偟偨傕偺偱偡(僋儕僢僋偡傞
偲戝偒偔側傝傑偡)

[omview7]

 openMosixanalyzer 傪巊偊偽丄openMosix 僋儔僗僞偺棜楌傪宲懕偟偰偲傞偙偲
偑偱偒傑偡丅棜楌儘僌僼傽僀儖偼 openMosixcollector 偑嶌惉偟丄恾偱昞帵偝
傟傑偡丅偮傑傝僋儔僗僞偱壗偑婲偙傝丄婲偙偭偰偄傞偺偐傪挿帪娫偵搉偭偰挱
傔傜傟傑偡丅 openMosixanalyzer 偼尰嵼乽僆儞儔僀儞乿偺儘僌僼傽僀儖傪夝愅
偟傑偡偑丄屆偄僶僢僋傾僢僾傪僼傽僀儖儊僯儏乕偐傜慖戰偡傟偽丄棜楌偺夝愅
傕壜擻偵側偭偰偄傑偡丅儘僌僼傽僀儖偼丄/tmp/openmosixcollector/*(僶僢僋
傾僢僾偼 /tmp/openmosixcollector[date]/*)偵偁傝丄乽cluster乿偲偄偆儊僀
儞偺儘僌僼傽僀儖偩偗傪僆乕僾儞偟偰丄屆偄晧壸忣曬傪尒側偗傟偽偄偗傑偣傫
(儘僌僼傽僀儖偵偁傞僶僢僋傾僢僾僨傿儗僋僩儕偺乽date乿偼棜楌偑曐懚偝傟偨
擔晅偗偵側偭偰偄傑偡)丅奐巒帪娫偼愭摢偵昞帵偝傟丄openMosixanalyzer 偱堦
擔暘(12帪娫暘)偑尒傜傟傑偡丅

 乽僆儞儔僀儞乿偺儘僌僼傽僀儖(尰嵼偺棜楌)傪尒傞偺偵丄openMosixanalyzer
傪巊偆側傜丄乽refresh乿僠僃僢僋儃僢僋僗傪桳岠偵偟偰偔偩偝偄丅偦偆偡傟偽
丄帺摦偱儕僼儗僢僔儏偝傟傑偡丅 

 捠忢晧壸傪帵偡儔僀儞偼崟偱偡丅晧壸偑 75 傛傝傕憹偊傟偽丄儔僀儞偼愒偱昞
帵偝傟傑偡丅偙傟傜偺抣偼 openMosix 帺恎偺忣曬偱偡丅openMosixanalyzer 偼
丄 /proc/hpc/nodes/[openMosix ID]/* 偐傜偙傟傜偺忣曬傪廤傔偰偒傑偡丅

 奺僲乕僪偺乽Find-out乿儃僞儞偼丄曋棙側摑寁抣傪寁嶼偟傑偡丅僋儕僢僋偡傞
偲彫偝側僂僀儞僪僂偑奐偒丄偦偙偱巜掕偟偨僲乕僪傕偟偔偼僋儔僗僞慡懱偺晧
壸暯嬒偲儊儌儕抣傗丄偦偺懠偺惷揑丒摦揑側忣曬偑傢偐傝傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.7.2. 僋儔僗僞僲乕僪偵偮偄偰偺屌掕忣曬

[omview9]

  openMosixcollector 偑晧壸棜楌偵僠僃僢僋億僀儞僩傪彂偄偰偄傟偽丄廲慄偱
惵偑昞帵偝傟傑偡丅偁傞帪娫偺晧壸抣傪斾妑偡傞偺偑偝傜偵娙扨偵側傝傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.7.3. 儊儌儕偺忬嫷

[omview8]

偙偺恾偼 openMosixanalyzer 偵傛傞儊儌儕偺忬懺傪昞帵偟偰偄傑偡丅

 openMosixanalyzer 偵偁傞儊儌儕忬懺傪尒傟偽丄晧壸偲摨條偵宲懕偟偰儊儌儕
偺棜楌偑暘偐傝傑偡丅棜楌儘僌僼傽僀儖偼 openMosixcollector 偑嶌惉偟丄恾
宍幃偱昞帵偟傑偡偺偱丄僋儔僗僞偱夁嫀傗尰嵼婲偙偭偰偄傞忬嫷傪傪挿帪娫偵
搉偭偰尒傜傟傑偡丅尰嵼乽僆儞儔僀儞乿偺儘僌僼傽僀儖傪夝愅偟傑偡偑丄屆偄
僶僢僋傾僢僾傪僼傽僀儖儊僯儏乕偐傜慖戰偡傟偽丄棜楌偺夝愅傕壜擻偱偡丅

 昞帵偝傟偨抣偼丄openMosix 偺忣曬偱偡丅openMosixanalyzer 偼偙傟傜偺忣曬
傪壓婰偺僼傽僀儖偐傜廂廤偟傑偡丅

/proc/hpc/nodes/[openMosix-ID]/mem.                                    
/proc/hpc/nodes/[openMosix-ID]/rmem.                                   
/proc/hpc/nodes/[openMosix-ID]/tmem.                                   

 

  openMosixcollector 偑儊儌儕棜楌偵僠僃僢僋億僀儞僩傪彂偄偰偄傟偽丄惵偺
廲慄偱昞帵偝傟傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.7.4. openMosixhistory

[omview10]

 偼偙傟傑偱偺僾儘僙僗堦棗傪昞帵偟傑偡丅  

openMosixhistory 偼僾儘僙僗偑偳偺僲乕僪偱摦嶌偟偰偄偨偐偵偮偄偰丄徻嵶側
忬懺傪昞偟傑偡丅 openMosixcollector 偼 openMosixcollector 偑摦嶌偟偰偄
傞儂僗僩偐傜丄僾儘僙僗堦棗傪曐懚偟傑偡偺偱丄openMosixhistory 傪巊偭偰儘
僌僨乕僞偑尒傜傟傑偡丅尒傞帪娫傪曄峏偡傞偺偼娙扨偱丄openMosixhistory 偺
time 僗儔僀僟乕傪巊梡偟傑偡丅

 openMosixhistory 偼尰嵼乽僆儞儔僀儞乿偺儘僌僼傽僀儖傪夝愅偱偒傑偡偑丄
屆偄僶僢僋傾僢僾傪僼傽僀儖儊僯儏乕偐傜慖戰偟偰丄棜楌偺夝愅傕壜擻偵側偭
偰偄傑偡丅 

  儘僌僼傽僀儖偼丄/tmp/openmosixcollector/*(僶僢僋傾僢僾偼 /tmp/
openmosixcollector[date]/*)偵偁傝丄乽cluster乿偲偄偆儊僀儞偺儘僌僼傽僀
儖偩偗傪僆乕僾儞偟偰丄屆偄晧壸忣曬傪尒側偗傟偽偄偗傑偣傫(儘僌僼傽僀儖偵
偁傞僶僢僋傾僢僾僨傿儗僋僩儕偺乽date乿偼棜楌偑曐懚偝傟偨擔晅偗偵側偭偰
偄傑偡)丅奐巒帪娫偼愭摢偺塃偵昞帵偝傟丄openMosixhistory 偱 12 帪娫暘尒
傜傟傑偡丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.8. openMosixmigmon

9.8.1. 堦斒

[ommigmon2]

openMosixmigmon 偼 openMosix 僋儔僗僞偺儅僀僌儗乕僔儑儞傪娔帇偟傑偡丅僲
乕僪偡傋偰傪彫偝側儁儞僊儞偑椫偵側偭偰嵗偭偰偄傞恾偱昞偟傑偡丅

仺 nodes-circle.

拞墰偺儁儞僊儞偼丄openMosixmigmon 偑摦偄偰偄傞僲乕僪偱丄偦偺廃傝偵僲乕
僪偑暲傃傑偡丅傑偨僾儘僙僗傕彫偝側崟巐妏偱墌宍偵昞帵偝傟偰偄傑偡丅

仺儊僀儞僾儘僙僗偺墌

 僾儘僙僗偑僲乕僪偺偳傟偐偵儅僀僌儗乕僩偡傞偲丄偦偺僲乕僪偼僾儘僙僗偺墌
傪帩偪傑偡丅偦偟偰丄偦偺僾儘僙僗偑拞墰偺僾儘僙僗傪昞偡墌偐傜儕儌乕僩偺
僾儘僙僗傪昞偡墌偵堏摦偟傑偡丅偦偺僾儘僙僗偼椢偺報偑晅偒丄尦乆偺偲偙傠
偐傜堏摦偟偨応強傊偲慄偑堷偐傟偰儅僀僌儗乕僔儑儞偑婲偙偭偨偙偲傪昞偟傑
偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.8.2. 僣乕儖僠僢僾僗廤丗

儅僂僗傪僾儘僙僗忋偵抲偔偲丄僾儘僙僗偺 PID 傪昞帵偟偰丄彫偝側僣乕儖僠僢
僾僂僀儞僪僂偵僐儅儞僪儔僀儞偑晅偒傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.8.3. 僪儔僢僋仌僪儘僢僾

 openMosixmigmon 偼姰帏偵僪儔僢僋仌僪儘僢僾懳墳偵側偭偰偄偄傑偡丅僾儘僙
僗偺偳傟傪捦傫偱(僪儔僢僌偟偰)傕丄偳偺僲乕僪(儁儞僊儞)傊傕僪儘僢僾偱偒
傑偡丅偦偆偡傞偲僾儘僙僗偼偦偙偺僲乕僪傊堏摦偟傑偡丅儕儌乕僩僲乕僪偺僾
儘僙僗傪僟僽儖僋儕僢僋偡傞偲丄儂乕儉僲乕僪傊偡偖偵憲傜傟傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.9. openmosixview FAQ

9.9.1. openMosixview 偑巹偺僔僗僥儉偱僐儞僷僀儖偱偒傑偣傫丅 
9.9.2. openMosixview 偼 SSH 偱巊偊傑偡偐
9.9.3.  openMosixview 傪婲摦偟傑偟偨偑丄僗僾儔僢僔儏丒僗僋儕乕儞偑弌偨
    偩偗偱偟偨丅偳偙偑埆偄偺偱偟傚偆丅
9.9.4.  openMosixviewprocs 傗 mosixview_client 偑摦偒傑偣傫丅
9.9.5.   openMosixview 愝掕僟僀傾儘僌偺儃僞儞偑偁傜偐偠傔慖戰偝傟偰偄側
    偄偺偼側偤丠 

9.9.1. openMosixview 偑巹偺僔僗僥儉偱僐儞僷僀儖偱偒傑偣傫丅 

傑偢 QT 偼 2.3.x 埲忋偑昁梫偱偡丅 QTDIR 娐嫬曄悢偼丄QT 傪僀儞僗僩乕儖偟
偨僨傿儗僋僩儕傪愝掕偟偰偄側偗傟偽偄偗傑偣傫丅偙傟偲摨偠傛偆側愢柧偑
INSTALL 僼傽僀儖偵偁傝傑偡丅僶乕僕儑儞 0.6 傛傝怴偟偄側傜丄乽make clean
乿傪偟偰 /openmosixview/Makefile丄 /openmosixview/config.cache 偺 2 偮
偺僼傽僀儖傪嶍彍偟偰偔偩偝偄丅偦偆偟偰偐傜丄嵞僐儞僷僀儖偟偰傒偰偔偩偝
偄丅屆偄僶乕僕儑儞偺僶僀僫儕偲僆僽僕僃僋僩僼傽僀儖偑偦偺傑傑偵側偭偰偄
傞偐傜偱偡丅偦偺懠壗偐栤戣偑偁傞側傜丄偦偺栤戣傪 openMosixview 偺儊乕儕
儞僌儕僗僩傊億僗僩偟偰偔偩偝偄(傕偟偔偼捈愙巹埗偵)丅 

9.9.2. openMosixview 偼 SSH 偱巊偊傑偡偐

傕偪傠傫偱偡丅僶乕僕儑儞 0.7 傑偱偼慻傒崬傒偱 SSH 傪僒億乕僩偟偰偄傑偟
偨丅 ssh 偑僋儔僗僞偺僲乕僪偦傟偧傟偵懳偟偰丄僷僗儚乕僪柍偟偱幚峴偱偒傞
傛偆偵偡傞昁梫偑偁傝傑偡(rsh 傪巊偆応崌傕傑偭偨偔摨條偱偡)丅

9.9.3. openMosixview 傪婲摦偟傑偟偨偑丄僗僾儔僢僔儏丒僗僋儕乕儞偑弌偨偩
偗偱偟偨丅偳偙偑埆偄偺偱偟傚偆丅

openMosixview 偼 & 傪晅偗偰(椺偊偽 openMosixview &)丄fork 偟偰僶僢僋僌
儔僂儞僪偵偟側偄偱偔偩偝偄丅 root 儐乕僓偑僷僗儚乕僪側偟偱奺僲乕僪偵
rsh 傕 ssh(偳偪傜傪巊偆偐偼儐乕僓師戞) 偑偱偒側偄偺偐傕偟傟側偄偺偱偼丠
root 偱乽rsh hostname乿傪帋偟偰偔偩偝偄丅僷僗儚乕僪傪媮傔傞僾儘儞僾僩偑
昞帵偝傟偢偦偺傑傑儘僌僀儞僔僃儖偵側傞偼偢偱偡丅 (ssh 傪巊偭偰偄傞側傜
丄root 偱乽ssh hostname乿偲偟偰偔偩偝偄) 僋儔僗僞忋偱偼 root 偵側傞昁梫
偑偁傝傑偡丅偲偄偆偺偼丄openMosixview 偑幚峴偡傞娗棟梡僐儅儞僪偵偼 root
偺尃尷偑昁梫偩偐傜偱偡丅 openMosixview 偼僨僼僅儖僩偱偼乽rsh乿傪巊偄傑
偡丅僋儔僗僞偵 ssh 偟偐僀儞僗僩乕儖偝傟偰偄側偄側傜丄/root
/.openMosixview 僼傽僀儖傪廋惓(傕偟偔偼嶌惉)偟偰丄偦偺拞偵乽1111乿傪擖
椡偟偰偔偩偝偄丅偙偺僼傽僀儖偼 openMosixview 偺儊僀儞愝掕僼傽僀儖偱丄嵟
屻偺乽1乿偼乽rsh 偺戙傢傝偵 ssh 傪巊偆乿偲偄偆堄枴偵側傝傑偡丅偙傟偱
openMosixview 偼乽ssh乿傪婲摦帪偐傜巊偆傛偆偵側傝傑偡丅

9.9.4. openMosixviewprocs 傗 mosixview_client 偑摦偒傑偣傫丅

openMosixview-client 偼 rsh 宱桼偱儕儌乕僩儂僗僩忋偱幚峴偟傑偡(僠僃僢僋
儃僢僋僗偵愝掕傪偡傟偽 ssh 偵側傝傑偡)丅rsh 偐 ssh 偑奺僲乕僪偺 /usr/
bin 偵僀儞僗僩乕儖偝傟偰偄側偗傟偽偄偗傑偣傫丅 rsh 傪巊偆側傜丄乽xhost
+hostname乿乽rsh hostname /usr/bin/openMosixview_client -display
your_local_host_name:0.0乿 ssh 傪巊偆側傜丄乽xhost +hostname乿乽ssh
hostname /usr/bin/openMosixview_client -display your_local_host_name:
0.0乿偲偟偰偔偩偝偄丅偙傟偑摦嶌偡傟偽丄openMosixview 傕摦偒傑偡丅
openMosixview 偑乽segmentation fault乿偟偰偟傑偆丅 mosix.map
(openMosixview 偱偼偙偺僼傽僀儖偼嶍彍偝傟偰偄傑偡) 傪僷乕僗偡傞嵺偵丄屆
偄僶乕僕儑儞偺 openMosixview 傗 Mosixview 傪巊偭偰偄傑偣傫偐
(openMosixview 1.2 傕偟偔偼 Mosixview > 1.0 偑埨掕斉偱偡)丅

9.9.5. openMosixview 愝掕僟僀傾儘僌偺儃僞儞偑偁傜偐偠傔慖戰偝傟偰偄側偄
偺偼側偤丠 

(automigration on/off, blocking on/off......) 巹傕偁傜偐偠傔慖戰偝偣偨
偄偱偡丅栤戣偼僲乕僪偐傜忣曬傪庢摼偡傞偲偙傠偵偁傝傑偡丅奺僋儔僗僞僲乕
僪偵儘僌僀儞偟偰偔偩偝偄丅偙傟傜偺忣曬偼僋儔僗僞慡懱偱嫟捠偱偼側偄偐傜
偱偡(巹尒偱偡)丅奺僲乕僪偺忬懺偼丄奺僲乕僪偺 /proc/hpc/admin 僨傿儗僋僩
儕偵曐懚偟偰偁傝傑偡丅偙傟傜偺忣曬傪庢摼偡傞偆傑偄曽朄偵偮偄偰抦傝偨偄
曽偼丄巹偵儊乕儖傪偔偩偝偄丅  

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9.10. openMosixview + ssh:

(偙偺 HOWTO 偼 SSH2 梡偱偡) rsh 偵戙傢偭偰 ssh 傪巊偆傋偒棟桼偼丄枅擔偺
傛偆偵怴暦偱栚偵偟傑偡(傑偨怴偨偵僗僋儕僾僩僉僨傿乕偑埨慡偱側偄僔僗僥儉
傗僱僢僩儚乕僋偵怤擖偟偨帪偵)丅 ssh 傪慖戰偡傟偽娫堘偄偁傝傑偣傫丅

帺桼亊僙僉儏儕僥傿亖堦掕    (僙僉儏儕僥傿偺僯儏乕僗僌儖乕僾偐傜)       

ssh 偺愝掕偑懡彮庤偑崬傫偱偄傞偺偼偙偺偨傔偱偡丅ssh 偼僷僗儚乕僪傪媮傔
傞僾儘儞僾僩柍偟偵儘僌僀儞偡傞栚揑偱巊梡偟偰傕埨慡偱偡丅偙偙偱偼偦偺愝
掕曽朄(偺堦偮)傪嫇偘傑偡丅 

傑偢丄ssh 僨乕儌儞傪儕儌乕僩僒僀僩偱摦偐偡昁梫偑偁傝傑偡丅傑偩僀儞僗僩
乕儖偟偰偄側偄側傜丄僀儞僗僩乕儖偟偰偔偩偝偄丅 (rpm -i
[sshd_rpm_packeage_from_your_linux_distribution_cd]) 傑偩摦嶌偟偰偄側偄
側傜丄壓婰偺傛偆偵摦偐偟偰偔偩偝偄丅

/etc/init.d/ssh start                                                  

偙偙偱 ssh乕keygen 傪巊偭偰丄儘乕僇儖儅僔儞偱 ssh 偺尞儁傾傪嶌惉偟側偗
傟偽偄偗傑偣傫丅

ssh-keygen                                                             

尞儁傾梡偵僷僗僼儗乕僘傪擖傟傞偨傔偺僾儘儞僾僩偑偱傑偡丅晛捠僷僗僼儗乕
僘偼僷僗儚乕僪傛傝挿偔偟偰丄暥復偵偡傞傛偆偱偡丅尞儁傾偼僷僗僼儗乕僘偵
傛偭偰埫崋壔偝傟偰壓婰偵曐懚偝傟傑偡丅

/root/.ssh/identity    //僾儔僀儀乕僩尞                                
and                                                                    
/root/.ssh/identity.pub     //岞奐尞                                   

僾儔僀儀乕僩尞偼扤偵傕搉偝側偄偙偲丅儕儌乕僩儂僗僩忋偱 /root/.ssh/
identity.pub 偺撪梕傪 /root/.ssh/authorized_keys 偵僐僺乕偟偰偔偩偝偄
(岞奐尞偼堦峴偵偡傞傛偆偵)丅 (/root/.ssh/identity.pub 傪儘乕僇儖儂僗僩
忋偺 /root/.ssh/authorized_keys 偵傕儕儌乕僩儂僗僩偱偟偨條偵僐僺乕偟偰
偔偩偝偄丅openMosixview 偼僷僗儚乕僪柍偟偱儘乕僇儖僲乕僪偵儘僌僀儞偱偒
傞昁梫偑偁傞偐傜偱偡)

 偙偺儕儌乕僩儂僗僩偵 ssh 偡傞偲岞奐尞偺僷僗僼儗乕僘傪梫媮偝傟傑偡丅惓
偟偄僷僗僼儗乕僘傪擖椡偡傟偽儘僌僀儞偱偒傑偡丅

 杮摉偺棙揰偼壗偱偟傚偆偐丅僷僗僼儗乕僘偼丄僷僗儚乕僪傛傝傕偢偭偲挿偄偺
偑晛捠偱偡偑丅

 ssh-agent 傪巊偆偲儊儕僢僩偑摼傜傟傑偡丅 ssh 偱偺儘僌僀儞偱僷僗僼儗乕
僘偺娗棟傪峴偄傑偡丅

ssh-agent                                                              

偙傟偱 ssh-agent 偑婲摦偟丄愝掕偑昁梫側娐嫬曄悢偑 2 偮偱偒傑偟偨(傑偩愝
掕偟偰偄側偗傟偽)丅壓婰偺傛偆偵擖椡偡傟偽丄

echo $SSH_AUTH_SOCK                                                    
偲                                                                     
echo $SSH_AGENT_PID                                                    

偙偺娐嫬曄悢偑惓偟偔僔僃儖偵僄僋僗億乕僩偝傟偰偄傞偐傢偐傝傑偡丅惓偟偔
側偗傟偽丄抂枛偐傜僇僢僩仌儁乕僗僩偟偰偔偩偝偄丅 bash 側傜丄

SSH_AUTH_SOCK=/tmp/ssh-XXYqbMRe/agent.1065                             
export SSH_AUTH_SOCK                                                   
SSH_AGENT_PID=1066                                                     
export SSH_AGENT_PID                                                   

csh 側傜丄

setenv SSH_AUTH_SOCK /tmp/ssh-XXYqbMRe/agent.1065                      
setenv SSH_AGENT_PID 1066                                              

偱偡丅偙傟傜偺娐嫬曄悢傪巊偭偰丄儕儌乕僩偺 sshd 偑儘乕僇儖偺 ssh-agent
偲捠怣傪 /tmp 偺僜働僢僩僼傽僀儖(偙偺椺偩偲 /tmp/ssh-XXYqbMRe/
agent.1065)傪巊偭偰峴偄傑偡丅偙傟偱 ssh-agent 偼僷僗僼儗乕僘傪儕儌乕僩
儂僗僩偵僜働僢僩宱桼偱搉偣傑偡 (傕偪傠傫捠怣傪埫崋壔偟偰)丅

 岞奐尞傪 ssh-add 僐儅儞僪傪巊偭偰 ssh-agent 偵搊榐偡傞昁梫偑偁傝傑偡丅

ssh-add                                                                

偙傟偱丄ssh 傪巊偭偰僷僗儚乕僪擖椡柍偟偱儕儌乕僩儂僗僩偵儘僌僀儞偱偒傞
傛偆偵側偭偨偼偢偱偡丅

 ssh-agent 偲 ssh-add 僐儅儞僪傪儘僌僀儞偺僾儘僼傽僀儖偵擖傟偰傕傛偄偱
偟傚偆丅

eval `ssh-agent`                                                       
 ssh-add                                                               

偙傟偱儘乕僇儖偺儚乕僋僗僥乕僔儑儞偵儘僌僀儞偡傟偽丄婲摦偟傑偡丅偲偆偲
偆傗傝傑偟偨丅埨慡側儘僌僀儞偑偱偒傑偡傛偆偵丅

 openMosixview openMosixview 偺儊僯儏乕偵 rsh 偐 ssh 傪慖戰偡傞崁栚偑偁
傝傑偡丅偙傟傪桳岠偵偡傟偽埨慡偱偼側偄僱僢僩儚乕僋娐嫬偱傕
openMosixview 傪棙梡偱偒傑偡丅偙偺愝掕傕曐懚偟偰偔偩偝偄(尰嵼偺愝掕傪曐
懚偡傞婡擻偼丄僶乕僕儑儞 0.7 偱捛壛偝傟傑偟偨)丅棟桼偼 rsh 傕偟偔偼 ssh
(愝掕偵傛傝傑偡) 傪巊偭偰丄僗儗乕僽偐傜弶婜壔僨乕僞傪庢摼偡傞偐傜偱偡丅

 惓偟偔僀儞僗僩乕儖偝傟偰偄側偄僒乕價僗傪慖戰偡傟偽丄openMosixview 偼摦
偒傑偣傫丅 (椺偊偽丄僷僗儚乕僪傪擖椡偡傞僾儘儞僾僩柍偟偵僗儗乕僽偵 rsh
偱偒側偗傟偽丄 rsh 偱 openMosixview 偼巊偊傑偣傫丅僷僗儚乕僪傪擖椡偡傞
僾儘儞僾僩柍偟偵僗儗乕僽偵 ssh 偱偒側偗傟偽丄ssh 偱 openMosixview 偼巊
偊傑偣傫)丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 10. openMosix 娭楢偺偦偺懠偺僾儘僌儔儉

10.1. 偼偠傔偵

openMosix 傪娔帇偟偨傝娗棟偟偨傝偡傞傾僾儕働乕僔儑儞偑偄偔偮偐偁傝傑偡
丅偙偺復偱偼娙扨偵偦傟傜傪夝愢偟傑偡丅徻嵶偼徣偒傑偡丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

10.2. openMosixView

openMosixview 偼 openMosix 偺娗棟偵摉偨偭偰嵟傕棙梡偝傟丄抦傟搉偭偰偄傞
傾僾儗僢僩偱偡丅偝傜偵徻偟偄偙偲偼 openMosix 偺娗棟偺復傪尒偰偔偩偝偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

10.3. openMosixapplet

openMosixApplet 偱 openMosix 偺晧壸傪儕傾儖僞僀儉偵尒傜傟傑偡丅儘乕僇儖
偵僨乕儌儞偑偄偰丄傾僾儗僢僩偑捠怣偡傞偺傪娔帇偟偰偄傑偡丅傾僾儗僢僩偼
chart2D 儔僀僽儔儕傪巊偭偰偄傞偺偱丄尒塰偊偑傛偔側偭偰偄傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

10.4. wmonload

wmonload 偼僔儞僾儖偱偡偑丄庤寉偱彫偝側僪僢僋傾僾儕働乕僔儑儞偱偡丅彫婯
柾側 openMosix 儀乕僗偺僋儔僗僞偱僲乕僪偺晧壸傪昞帵偟傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

10.5. openMosixWebView

openMosixWebView 偼 Web 偱 openMosix 偺娔帇寢壥傪恾偱昞帵偟傑偡丅
openMosixWebView 偼 PHP 僗僋儕僾僩傪巊偭偰 Web 偱 openMosix 僋儔僗僞傪
娔帇偟傑偡丅 openMosixview 偺 openMosixCollector 儘僌傪棙梡偟偰偄傑偡丅
嵟怴斉偼壓婰偐傜僟僂儞儘乕僪偱偒傑偡丅  openmosixwebview-0.2.12.tar.gz
(16 Feb 2003) <http://laurel.datsi.fi.upm.es/~rpons/openmosix/download/
openmosixwebview-0.2.12.tar.gz>

openMosixWebView 偺僗僋儕乕儞僔儑僢僩傪尒傞偩偗偱側偔丄摦偐偟偰傒偰偔偩
偝偄 :-) GNU General Public License (GPL) 偱儕儕乕僗偟偰偄傑偡丅README
偲 FAQ 傪尒偰偔偩偝偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 11. 嫟捠偺栤戣

11.1. 偼偠傔偵

偙偺復偵偁傞壽戣偺戝晹暘偼丄FAQ 偲偟偰傕惉傝棫偪傑偡丅FAQ 偼庤抁偵 "偳
偺傛偆偵夝寛偡傞偐"偵懳偡傞夞摎偱偡丅偟偐偟偙偙偱偼傕偭偲嵶偵擖傝丄側偤
栤戣偑惗偠傞偺偐傪愢柧偟偨忋偱丄偦傟傪偳偺傛偆偵夝寛偡傞偺偐傪愢柧偟傑
偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

11.2. 僾儘僙僗偑儅僀僌儗乕僩偟側偄

彆偗偰偔偩偝偄丅僾儘僙僗 XYZ 偑儅僀僌儗乕僩偟傑偣傫壓婰偱 Moshe Bar 巵
偼側偤僾儘僙僗偵儅僀僌儗乕僩偡傞傕偺丄偟側偄傕偺偑偁傞偺偐傪愢柧偟偰偄
傑偡丅偄偮傕偺傛偆偵 /proc/$pid/ 傪尒傞慜偵丄 cantmove傪尒偰偔偩偝偄丅
奩摉僾儘僙僗偑側偤儅僀僌儗乕僩偱偒側偄偺偐傢偐傞偱偟傚偆丅

僾儘僙僗傪儘僢僋偡傞偙偲傕偱偒傑偡偑丄僾儘僙僗偑儘僢僋偝傟偰偄側偄偐偳
偆偐傕僠僃僢僋偱偒傑偡丅

cat /proc/$PID/lock                                                    

亹PID 偼栤戣偺僾儘僙僗偺僾儘僙僗 ID 偱偡丅 

偱偼丄Moshe 巵帺恎偑偙偺審偵偮偄偰弎傋偨偙偲傪嫇偘傑偡丅 

傛偔偁傞偺偼丄摨偠僇乕僱儖傪巊偭偰偼偄傞偑丄RedHat 偲 Debian 偑崿嵼偟偰
偄傞偲偄偭偨傛偆側僨傿僗僩儕價儏乕僔儑儞偵憡堘偑偁傞働乕僗偱偡丅僨傿僗
僩儕價儏乕僔儑儞偑堎側傞偲丄rc 僗僋儕僾僩偑堎側傞傗傝曽偱 openMosix 傪
婲摦偡傞孹岦偵偁傝傑偡丅偁傞幚憰偱偼 /etc/inittab 傪偡偭偐傝彂偒姺偊偰
僨乕儌儞偡傋偰(偲偦偺巕嫙傕)傪

mosrun -h                                                              

偱婲摦偟偰偄傑偡丅偦偺傛偆偵婲摦偡傞偲儅僀僌儗乕僩偟傑偣傫丅偟偨偑偭偰
僾儘僙僗傪摦偐偡偲丄偙傟傜偺僾儘僙僗偡傋偰偼 /proc/pid/lock 偑 1 偵側傝
傑偡丅嫮惂揑偵儅僀僌儗乕僩偝偣傞偨傔偵偼丄偙偺僼傽僀儖偵 0 傪婰弎偟傑偡
丅

 偦傟偱偼丄壓婰偺扨弮側僾儘僌儔儉傪儘乕僇儖偺 CPU 悢傛傝懡偔婲摦偟偰丄
忢偵儅僀僌儗乕僩偝偣偰傒傑偟傚偆丅2-way SMP 僔僗僥儉偱偼丄偙偺僾儘僌儔
儉傪 3 夞婲摦偟丄僋儔僗僞撪偵偁傞僲乕僪偑儘乕僇儖偺僔僗僥儉偲帡偨傛偆側
懍搙傪帩偭偰偄傟偽丄儅僀僌儗乕僩偟傑偡丅

int main() {                                                           
    unsigned int i;                                                    
    while (1) {                                                        
        i++;                                                           
    }                                                                  
    return 0;                                                          
}                                                                      

Pentium 800Mhz 偲偄偆 CPU 偱偼丄僆乕僶乕僼儘乕偡傞傑偱偵懡彮帪娫偑偐偐
傝傑偡丅 

  壓婰偺傛偆側撪梕傪帩偮僒儞僾儖僾儘僌儔儉偼丄寛偟偰儅僀僌儗乕僩偟傑偣
傫丅

#include <sys/types.h>                                                 
#include <sys/ipc.h>                                                   
#include <sys/shm.h>                                                   
                                                                       
...                                                                    
                                                                       
key_t key; /* key to be passed to shmget() */                          
int shmflg; /* shmflg to be passed to shmget() */                      
int shmid; /* return value from shmget() */                            
int size; /* size to be passed to shmget() */                          
                                                                       
...                                                                    
                                                                       
key = ...                                                              
size = ...                                                             
shmflg) = ...                                                          
                                                                       
if ((shmid = shmget (key, size, shmflg)) == -1) {                      
   perror("shmget: shmget failed"); exit(1); } else {                  
   (void) fprintf(stderr, "shmget: shmget returned %d\n", shmid);      
   exit(0);                                                            
  }                                                                    
...                                                                    

 

 壓婰偺傛偆側僷僀僾傪巊偭偨僾儘僌儔儉偼丄偆傑偔儅僀僌儗乕僩偟傑偡丅

int pdes[2];                                                            
                                                                        
pipe(pdes);                                                             
if ( fork() == 0 )                                                      
  { /* child */                                                         
                                 close(pdes[1]); /* not required */     
                                 read( pdes[0]); /* read from parent */ 
                                 .....                                  
                 }                                                      
else                                                                    
                 { close(pdes[0]); /* not required */                   
                                 write( pdes[1]); /* write to child */  
                                 .....                                  
                 }                                                      

pthread 傪巊偆傛偆偵廋惓偝傟偨僾儘僌儔儉偼丄僶乕僕儑儞 2.4.17 偐傜儅僀
僌儗乕僩偼偟傑偣傫偑丄segmentation fault 偼偟側偔側傝傑偟偨丅

//                                                                     
// Very simple program demonstrating the use of threads.               
//                                                                     
// Command-line argument is P (number of threads).                     
//                                                                     
// Each thread writes "hello" message to standard output, with         
//   no attempt to synchronize.  Output will likely be garbled.        
//                                                                     
#include <iostream>                                                    
#include <cstdlib>              // has exit(), etc.                    
#include <unistd.h>             // has usleep()                        
#include <pthread.h>            // has pthread_ routines               
                                                                       
// declaration for function to be executed by each thread              
void * printHello(void * threadArg);                                   
                                                                       
// ---- Main program ------------------------------------------------- 
                                                                       
int main(int argc, char* argv[]) {                                     
                                                                       
  if (argc < 2) {                                                      
    cerr << "Usage:  " << argv[0] << " numThreads\n";                  
    exit(EXIT_FAILURE);                                                
  }                                                                    
  int P = atoi(argv[1]);                                               
                                                                       
  // Set up IDs for threads (need a separate variable for each         
  //   since they're shared among threads).                            
  int * threadIDs = new int[P];                                        
  for (int i = 0; i < P; ++i)                                          
    threadIDs[i] = i;                                                  
                                                                       
  // Start P new threads, each with different ID.                      
  pthread_t * threads = new pthread_t[P];                              
  for (int i = 0; i < P; ++i)                                          
    pthread_create(&threads[i], NULL, printHello,                      
                   (void *) &threadIDs[i]);                            
                                                                       
  // Wait for all threads to complete.                                 
  for (int i = 0; i < P; ++i)                                          
    pthread_join(threads[i], NULL);                                    
                                                                       
  // Clean up and exit.                                                
  delete [] threadIDs;                                                 
  delete [] threads;                                                   
  cout << "That's all, folks!\n";                                      
  return EXIT_SUCCESS;                                                 
}                                                                      
                                                                       
// ---- Code to be executed by each thread --------------------------- 
                                                                       
// pre:  *threadArg is an integer "thread ID".                         
// post:  "hello" message printed to standard output.                  
//        return value is null pointer.                                
void * printHello(void * threadArg) {                                  
  int * myID = (int *) threadArg;                                      
  cout << "hello, world, ";                                            
  // pointless pause, included to make the effects of                  
  //   synchronization (or lack thereof) more obvious                  
  usleep(10);                                                          
  cout << "from thread " << *myID << endl;                             
  pthread_exit((void* ) NULL);                                         
}                                                                      
                                                                       

僾儘僌儔儉偑僜働僢僩傪娷傓怓乆側僼傽僀儖僨傿僗僋儕僾僞傪巊偆偲丄儅僀僌
儗乕僩偟傑偡(僾儘僙僗偲偲傕偵僜働僢僩偼儅僀僌儗乕僩偟傑偣傫偑丄oMFS 傗
DFSA 傪巊梡偟偰偄傟偽僼傽僀儖偼儅僀僌儗乕僩偝傟傑偡)丅

 (忋婰偺僐乕僪偼 Moshe 巵偵傛傞傕偺偱偡丅Moshe Bar 巵屄恖偵傛傞傕偺丄傕
偟偔偼 Qlusters, Inc. 偺 CTO 偲偟偰偺 Moshe 巵偺偳偪傜偐偺棫応偱偡)丅 

openMosix 偺 man 傕嶲徠偟偰偔偩偝偄丅僾儘僙僗偑偳偆偟偰儅僀僌儗乕僩偟側
偄偐偵偮偄偰丄偦傟側傝偵愢柧偟偰偁傝傑偡丅 

壗傜偐偺棟桼偱丄堄恾偣偢偵僾儘僙僗偑儘僢僋偟偨傑傑偵側偭偰偟傑偭偨応崌
丄儘僢僋偝傟偨僾儘僙僗傪儅僀僌儗乕僩偡傞偵偼丄壓婰偺婰弎傪

# tell shells to allow subprocs to migrate to other nodes              
echo 0 > /proc/self/lock                                               

"/etc/profile" 偵扨偵捛婰偡傞偩偗偱偡丅拲堄丗偙偆偡傞偲帺暘偑朷傫偩傕偺
偩偗偱側偔丄偡傋偰偺僾儘僙僗偑儅僀僌儗乕僩壜擻偵側傝傑偡丅摿掕偺僾儘僙
僗偩偗傪儅僀僌儗乕僩偝偣偨偄側傜乽mosrun -l乿傪巊偭偰儅僀僌儗乕僩偝偣偨
偄僾儘僙僗偩偗傪偝偣偰偔偩偝偄丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

11.3. 僲乕僪偑壗傕尒偊傑偣傫

 傑偢奺儅僔儞偱摨偠僶乕僕儑儞偺僇乕僱儖傪巊偭偰偄傞偐尒偰偔偩偝偄丅乽摨
偠僇乕僱儖乿偲偼僶乕僕儑儞傪堄枴偟偰偄傑偡丅摨偠僜乕僗僶乕僕儑儞偐傜僴
乕僪僂僃傾傗僜僼僩僂僃傾偺搒崌偵傛偭偰丄奺僲乕僪偱暿乆偺僇乕僱儖傪峔抸
偟偰傕戝忎晇偱偡丅偟偐偟僋儔僗僞偵 openMosix 傪僀儞僗僩乕儖偟偨帪偵偼丄
儅僔儞偵偼偡傋偰 openmosix-x.x.x-y 僇乕僱儖偑擖偭偰偄側偗傟偽偄偗傑偣傫
丅openmosix-x.x.z-x 偑偁偭偨傝丄openmosix-x.x.x-y 偑偁偭偨傝丄openmosix
x.x.x-z 偑偁偭偨傝摍乆偱偼偄偗傑偣傫丅 

 mosmon 傪摦偐偟偰 t 傪墴偡偲丄壱摦拞偺儅僔儞偡傋偰偑尒傜傟傑偡丅mosmon
偑 mosix 偑摦偄偰偄側偄偲寈崘偟傑偡偐丅 

 寈崘偡傞側傜丄傑偢儅僔儞偺 IP 傾僪儗僗偑 /etc/mosix.map 偵偁傞偐妋擣偟
偰偔偩偝偄(127.0.0.1 偼巊傢側偄偱偔偩偝偄丅巊偭偰偄偨側傜丄嫲傜偔 DHCP
娭楢偱栤戣偑偁傝傑偡)丅mosix 偑掆巭偟偰偄傞偲寈崘偟側偄側傜丄偳偺儅僔儞
偑尒偊偰偄傞偐傪尒偰偔偩偝偄丅帺暘偺儅僔儞偟偐尒偊偰偄傑偣傫偐丅 

 帺暘偺儅僔儞偟偐尒偊側偄側傜丄帺暘偺儅僔儞偱僼傽僀傾乕僂僅乕儖偑摦偄偰
偄傞壜擻惈偑崅偔側傝傑偡丅僼傽僀傾乕僂僅乕儖偑 openMosix 傪幷偭偰偄傑偡
丅

 懠偺儅僔儞傕尒偊傞側傜丄尒偊側偄儅僔儞偺栤戣偱偁傞壜擻惈偑崅偔側傝傑偡
丅傕偆堦偮丅僲乕僪偵僱僢僩儚乕僋僇乕僪偑 2 枃偁傝傑偣傫偐丅偦偆側傜 /
etc/hosts 僼傽僀儖傪偄偠偭偰丄壓婰偺彂幃偱峴傪捛壛偟偰偔偩偝偄丅

non-cluster_ip  cluster-hostname.cluster-domain cluster-hostname       

傕偟偐偡傞偲宱楬僥乕僽儖傪愝掕偡傞昁梫偑偁傞偐傕偟傟傑偣傫偑丄傑偨暿偺
壽戣偱偡丅

奺儅僔儞偱僇乕僱儖僷儔儊僞傪暿乆偵愝掕偟偰偄傑偣傫偐丅摿偵乽Support
clusters with a complex network topology乿僆僾僔儑儞傪巊偭偰偄傞応崌丄
帡偨傛偆側僆僾僔儑儞偱偁傞乽Maximum network-topology complexity support
乿傪奺儅僔儞偱摨偠抣偵偟偰偔偩偝偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

11.4. 傛偔乽No such process乿偲偄偆僄儔乕偑偱傑偡丅

bash: child setpgid (4061 to 4061): No such process                    

偲偄偆僄儔乕偑傛偔弌傑偡丅偙傟偼偳偆偄偆堄枴偱偟傚偆丅 

忋婰偺峴偼丄巊偭偰偄傞僔僃儖偑幚嵺偵懠偺僲乕僪偵儅僀僌儗乕僩偟偨偙偲傪
堄枴偡傞偺偱偟傚偆偐丅偙偺 bash 偐傜偺弌椡偼丄openmosix 偺屆偄僶乕僕儑
儞偺僶僌偵傛偭偰婲偙傝傑偡丅婛偵廋惓偝傟偰僐儈僢僩嵪傒偱偡(Muli
Ben-Yehuda mulix@actcom.co.il)丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

11.5. DFSA ? MFS ?

崿棎偑傛偔尒傜傟傑偡丅偦傟偼 MFS 偲 DFSA 偑惓妋偵偼壗側偺偐偵偮偄偰偱偡
丅埲慜偳偺傛偆偵 MFS 偡傞偺偐偱榑偠偨捠傝丄MFS 偲偼儕儌乕僩偵偁傞僼傽僀
儖僔僗僥儉傪儘乕僇儖偵儅僂儞僩偟偰偄傞傛偆偵傒偣傞 openMosix 偺婡擻傪巜
偟傑偡丅捠忢 /mfs 偱儅僂儞僩偝傟傑偡丅傛偔偁傞岆夝偑 openMosix 傪巊偆偺
偵偼 MFS 偑昁梫偩丄偲偄偆傕偺偱偡丅偙傟偼惓偟偔偁傝傑偣傫偑丄MFS 偑
openMosix 傪巊偄傗偡偔偡傞偺偼帠幚偱偡丅

DFSA 偑桳岠偩偲丄僾儘僙僗傪儅僀僌儗乕僩偟偰儂乕儉僲乕僪偵栠偡偙偲柍偟偵
僔僗僥儉僐乕儖偑儕儌乕僩偵偁傞僲乕僪偱幚峴偝傟傑偡丅偙偺摦嶌(direct
filesystem access)偼丄僾儘僙僗偑僨乕僞傪儅僀僌儗乕僩偟偰偦偺媡(偙傟偑晛
捠) 偼側偄偲偄偆偙偲偱偡丅DFSA 偑 MFS 傪桳岠偵偟偰偄側偗傟偽丄乽偨偩偺
乿僉儍僢僔儏柍偟偺僱僢僩儚乕僋僼傽僀儖僔僗僥儉偵側傝傑偡丅

  戝傑偐偵尵偊偽丄DFSA 傪桳岠偵偟側偄偲丄I/O 偼偡傋偰儂乕儉僲乕僪偱幚峴
偝傟傑偡丅DFSA 傪桳岠偵偡傞偲丄僲乕僪偵僾儘僙僗傕僼傽僀儖傕懚嵼偟偰偄傟
偽丄偦偺僲乕僪偱 I/O 偑儘乕僇儖偵峴傢傟傑偡丅 

 偁傝偑偪側娫堘偄偼丄僇乕僱儖偱 DFSA 偺桳岠丒柍岠傪崿嵼偝偣偰偟傑偆偙偲
偱偡丅偦偙偱 DFSA 偑幚嵺偵桳岠偵側偭偰偄傞偺偐傪抦傞曽朄偑昁恵偵側傝傑
偡丅偙偺忣曬偼師偺傛偆偵擖椡偡傟偽傢偐傝傑偡丅

cat /proc/hpc/admin/version                                            

 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

11.6. Python 偺僩儔僽儖

Python 娭楢偺僩儔僽儖偑曬崘偝傟傞働乕僗傕偁傝傑偡丅傛偔傛偔挷傋偰傒傞偲
丄 openMosix 偵栤戣偑偁傞傢偗偱偼側偔丄glib 偵娭楢偟偨栤戣偱偟偨丅偟偐
偟 openMosix 偺栤戣偱偁傞偐偺偛偲偔尒偊傑偟偨丅

/lib/i686/lib* 傪儅僔儞偐傜嶍彍偟丄傾僾儕働乕僔儑儞傪摦揑偵 /lib/
libpthread 懠偵儕儞僋偟側偄傛偆偵偟偰夝寛偟偨儐乕僓傕偄傑偡丅偟偐偟怴偟
偄 glib 僶乕僕儑儞偱偼僶僌偑廋惓偝傟偰偄偰丄嵟嬤偺 openMosix 偱偼偙偺栤
戣偼夝寛偟偨傛偆偱偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 12. 僸儞僩偲 TIPS 廤

12.1. 儘僢僋偝傟偨僾儘僙僗

壗傜偐偺棟桼偱僾儘僙僗偑忢偵儂乕儉僲乕僪偵儘僢僋偝傟丄偦偺棟桼偑傢偐傜
側偄応崌丄偲傝偁偊偢偺懳嶔偲偟偰壓婰偺峴傪 ~/.profile 偵擖傟偰帺摦揑偵
儅僀僌儗乕僩偡傞傛偆偵偟偰偔偩偝偄丅

        if [ -x /proc/$$/lock ]; then                                  
           echo 0 > /proc/$$/lock                                      
        fi                                                             

偟偐偟栤戣偑壗側偺偐傪尒偮偗傞傛偆偵婃挘偭偰偔偩偝偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

12.2. 僾儘僙僗偺慖戰

儅僀僌儗乕僔儑儞傪桳岠偵偟偨偄僾儘僌儔儉傪寛傔傞慜偵丄愝掕傪僥僗僩偡傞
昁梫偑偁傞偱偟傚偆丅椺偊偽丄抶偄儅僔儞偱 KDE2 傪摦偐偟丄僋儔僗僞偵偐側
傝懍偄儅僔儞偑懚嵼偟偰偄偨偲偡傞偲丄kmail 偺傛偆側儕僜乕僗嬺偄偺僾儘僌
儔儉偑儅僀僌儗乕僩偝傟傞偺偑傢偐傞偱偟傚偆丅偦傟帺懱偼埆偄偲偼尵偊傑偣
傫偑丄儊乕儖傪彂偄偰偄傞偲僗僋儕乕儞偵偡偖暥帤偑昞帵偝傟偢偵丄偪傚偭偲
娫偑嬻偒傑偡丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

12.3. Java 偲 openMosix

 Green Threads JVM 偼儅僀僌儗乕僔儑儞偱偒傑偡丅棟桼偼 Java 偺僗儗僢僪偼
偦傟偧傟撈棫偟偨僾儘僙僗偩偐傜偱偡丅 Java green thread JVM 埲奜偺僗儗僢
僪偼丄Linux 偱偼儅僀僌儗乕僩偱偒傑偣傫丅 openMosix 偼僗儗僢僪傪巊偆僾儘
僌儔儉傪儅僀僌儗乕僩偱偒側偄偐傜偱偡丅

  Java 傾僾儕働乕僔儑儞偺僜乕僗傪帩偭偰偄傞側傜丄傾僾儕働乕僔儑儞傪
Java 僱傿僥傿僽偵僐儞僷僀儖偡傞偙偲傕壜擻偵側傞偐傕偟傟傑偣傫丅偦偆側傟
偽傾僾儕働乕僔儑儞偼暿偺僲乕僪偵儅僀僌儗乕僩偱偒傑偡丅

 Gian Paolo Ghilardi 巵偼乽Consideration on OpenMosix乿偲偄偆榑暥偱丄傑
偝偵 Java 偲 openMosix 偵娭楢偟偨榖戣偵偮偄偰怗傟偰偄傑偡丅 http://
www.democritos.it/events/openMosix/papers/crema.pdf < http://
www.democritos.it/events/openMosix/papers/crema.pdf> 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

12.4. openMosix 偲僴僀僷乕僗儗僢僨傿儞僌

傕偲傕偲 openMosix 偼丄僴僀僷乕僗儗僢僨傿儞僌傪柍岠偵偟偨忋偱丄尰忬偺
Linux 僗働僕儏乕儔偵偍偄偰惈擻傪敪婗偟傑偡丅柍岠偵偡傞偵偼僽乕僩僆僾僔
儑儞偱乽noht乿傪擖椡偡傞偐丄BIOS 偱僴僀僷乕僗儗僢僨傿儞僌傪柍岠偵偟偰偔
偩偝偄丅

偦傟偱傕傑偩僴僀僷乕僗儗僢僨傿儞僌偵嫽枴偑偁傞側傜丄 Intel 偺愢柧
<http://www.intel.com/technology/hyperthread/>傪尒偰偔偩偝偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

12.5. openMosix 偲僼傽僀傾乕僂僅乕儖

openMosix 偲僼傽僀傾乕僂僅乕儖偵偮偄偰丄幙栤偑傛偔偁傝傑偡丅 Amit 巵偑
偙偺揰偵偮偄偰彆偗慏傪弌偟偰偔傟傑偟偨丅

from hpc/comm.c:                                                       
                                                                       
#define MIG_DAEMON_PORT         0x3412                                 
#define INFO_DAEMON_PORT        0x3415                                 

廫恑悢偵曄姺偡傞偲丄4660 偲 5428 偵側傝傑偡(3412 偱偼側偔 1234 傪曄姺偟
偰偔偩偝偄丅僱僢僩儚乕僋僶僀僩僆乕僟乕偱曄姺偡傞偨傔偱偡丅徻偟偔偼 IP丄
TCP丄UDP 娭楢偺 RFC 傪尒偰偔偩偝偄)丅

mig_daemon 億乕僩偼 TCP 億乕僩丄info_daemon 偼 UDP 億乕僩偱偡丅偮傑傝
tcp/4660 偲 udp/5428 傪巊梡偟傑偡丅Matt 巵偑偳偙偐偱 tcp/723 偵傕尵媦偟
偰偄傑偟偨丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 13. 僀儞僗僩乕儖嵪傒 openMosix偺(晧壸)僥僗僩

13.1. 偪傚偭偲偟偨僥僗僩僗僋儕僾僩

openMosix 僋儔僗僞傪慺憗偔僥僗僩偡傞偵偼丄壓婰偺撪梕偱僗僋儕僾僩傪嶌惉
偟偰偔偩偝偄丅

awk 'BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}' &              

巹偼偙傟傪 test_mosix 偲偟偰曐懚偟偰偍偒傑偡丅偡傋偰偑婡擻偟偰偄傞偺偐
尒偨偄帪偵 mosmon 傪婲摦偟偰丄偙偺僗僋儕僾僩傪悢偊愗傟側偄傎偳摦偐偟傑
偡丅

for i in `ls /etc/` ; do ./test_mosix ; done                           

偙偆偟偰 openMosix 偑悢昩娫偼妶敪偵摦偔偺傪尒偰偔偩偝偄...

[howto6]

偙偺抜奒偱儂乕儉僲乕僪偱 awk 傪 kill 偟偰丄僾儘僙僗傪偡傋偰 kill 偟偰偔
偩偝偄 ;)  

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

13.2. Charles Nadeau 巵偵傛傞 Perl 偺僾儘僌儔儉

openMosix 僋儔僗僞傪僥僗僩偡傞 Perl 僾儘僌儔儉

 偙偙偵偁偘傞偺偼丄巹偑 openMosix 僋儔僗僞傪僥僗僩偡傞偨傔偵偝偔偭偲彂
偄偨僾儘僌儔儉偱偡丅openMosix-devel 儊乕儕儞僌儕僗僩偵 2002 擭 3 寧 6
擔偵搳峞偟傑偟偨丅 "Charles 巵偼偙偺彫偝側僾儘僌儔儉(Perl 偱彂偄偨)傪帺
暘偺僋儔僗僞(3 戜偺 Pentium 200MMX 偲 1 戜偺 Pentium 166)岦偗偵晧壸僥僗
僩栚揑偱彂偒傑偟偨丅偙偺僾儘僌儔儉偼偁傞億乕僩僼僅儕僆偵婎偯偄偰條乆側
僥僗僩傪堦掕帪娫撪偵僔儈儏儗乕僩偟傑偡丅僐乕僪偵偼偒偪傫偲偟偨夝愢偑偁
傝丄娙扨偵僥僗僩婎弨傪捛壛丒嶍彍偱偒傞傛偆偵側偭偰偄偰丄僥僗僩婎弨偺寧
扨埵偺暯嬒張棟検偲昗弨曃嵎傪曄峏偱偒傑偡丅億乕僩僼僅儕僆傪嵟揔壔偡傞栤
戣偼丄暘愅偟偰傕夝愅偱偒傑偣傫丅偟偨偑偭偰丄億乕僩僼僅儕僆傪壗夞傕僔儈
儏儗乕僩偟偰嵟屻偵寢壥傪曬崘偟傑偡丅拲堄偟偰傕傜偄偨偄揰偼丄偙偺僾儘僌
儔儉偼僥僗僩崁栚娫偺憡娭娭學偼峫椂偟偰偄側偄揰偱偡丅偱傕傑偩姰帏偱偼偁
傝傑偣傫偑丄偼偠傔偲偟偰偼傑偢傑偢偩偲巚偄傑偡丅偝傜偵僐乕僪傪僾儘僌儔
儉偺嵟屻偵捛壛偟偰丄僨乕僞偺曬崘婡擻傪夵慞偡傞偮傕傝偱偄傑偡(SVG
(Scalable Vector Graphics)僌儔僼嶌惉偑恑峴拞)丅偟偐偟僔儈儏儗乕僩偡傞晹
暘偼枮懌偵摦偒傑偡丅 openMosix 偵傛傞暲峴張棟偺挿強傪妶偐偡偨傔偵丄Perl
偺儌僕儏乕儖偱偁傞 Parallel::?ForkManager(CPAN 傛傝)傪巊偄傑偡丅偙偺儌
僕儏乕儖偱僗儗僢僪傪峀偘偰 openMosix 偑僋儔僗僞慡儅僔儞偵妱傝摉偰傜傟傞
傛偆偵偟偰偄傑偡(摑寁寁嶼偵偼暿偺儌僕儏乕儖偑昁梫偱偡丅椉幰偲傕朰傟偢僀
儞僗僩乕儖偟偰偔偩偝偄丅僐乕僪偺僐儊儞僩偵 URL 傪彂偄偰偍偒傑偡)丅傑偢
尒偰姶憐傪嫵偊偰偔偩偝偄丅偦傟偱偼丅"

#! /usr/bin/perl -w                                                                                                                                                                                                       
                                                                                                                                                                                                                          
# this mill unlock this process and all tis childs                                                                                                                                                                        
sub unlock {                                                                                                                                                                                                              
open (OUTFILE,">/proc/self/lock") ||                                                                                                                                                                                      
die "Could not unlock myself!\n";                                                                                                                                                                                         
print OUTFILE "0";                                                                                                                                                                                                        
}                                                                                                                                                                                                                         
                                                                                                                                                                                                                          
unlock;                                                                                                                                                                                                                   
                                                                                                                                                                                                                          
# this will count the nodes                                                                                                                                                                                               
sub cpucount {                                                                                                                                                                                                            
 $CLUSTERDIR="/proc/hpc/nodes/";                                                                                                                                                                                          
 $howmany=0;                                                                                                                                                                                                              
 opendir($nodes, $CLUSTERDIR);                                                                                                                                                                                            
 while(readdir($nodes)) {                                                                                                                                                                                                 
  $howmany++;                                                                                                                                                                                                             
 }                                                                                                                                                                                                                        
                                                                                                                                                                                                                          
 $howmany--;                                                                                                                                                                                                              
 $howmany--;                                                                                                                                                                                                              
 closedir ($nodes);                                                                                                                                                                                                       
 return $howmany;                                                                                                                                                                                                         
}                                                                                                                                                                                                                         
                                                                                                                                                                                                                          
my $processes=cpucount;                                                                                                                                                                                                   
$processes=$processes*3;                                                                                                                                                                                                  
                                                                                                                                                                                                                          
print("starting $processes processes\n");                                                                                                                                                                                 
                                                                                                                                                                                                                          
#Portfolio.pl, version 0.1                                                                                                                                                                                                
#Perl program that simulate a portfolios for various stock composition for a given period of time                                                                                                                         
#We run various scenarios to find the mix of assets that give the best performance/risk ratio                                                                                                                             
#This method is base on the book "The intelligent asset allocator" by William Bernstein                                                                                                                                   
#Can be used to test an OpenMosix cluster                                                                                                                                                                                 
#This program is licensed under GPL                                                                                                                                                                                       
#Author: Charles-E. Nadeau Ph.D., (c) 2002                                                                                                                                                                                
#E-mail address: charlesnadeau AT hotmail DOT com                                                                                                                                                                         
                                                                                                                                                                                                                          
use Parallel::ForkManager; #We use a module to parallelize the calculation                                                                                                                                                
                                                                                                                                                                                                                          
#Available at http://theoryx5.uwinnipeg.ca/mod_perl/cpan-search?filetype=%20distribution%20name%20or%20description;join=and;arrange=file;download=auto;stem=no;case=clike;site=ftp.funet.fi;age=;distinfo=2589            
                                                                                                                                                                                                                          
use Statistics::Descriptive::Discrete; #A module providing statistical values                                                                                                                                             
                                                                                                                                                                                                                          
#Available at http://theoryx5.uwinnipeg.ca/mod_perl/cpan-search?new=Search;filetype=%20distribution%20name%20or%20description;join=and;arrange=file;download=auto;stem=no;case=clike;site=ftp.funet.fi;age=;distinfo=2988 
                                                                                                                                                                                                                          
srand; #We initialize the random number generator                                                                                                                                                                         
                                                                                                                                                                                                                          
#Initializing constant                                                                                                                                                                                                    
$NumberOfSimulation=$processes;  #Number of simulation to run                                                                                                                                                             
$NumberOfMonth=100000; #Number of month for wich to run the simulation                                                                                                                                                    
$NumberOfStock=6; #Number of different stocks in the simulation                                                                                                                                                           
                                                                                                                                                                                                                          
#Portfolio to simulate                                                                                                                                                                                                    
#TODO: Read the stock details from a file                                                                                                                                                                                 
$Stock[0][0]="BRKB"; #Stock ticker                                                                                                                                                                                        
$Stock[0][1]=0.01469184; #Stock average monthly return                                                                                                                                                                    
$Stock[0][2]=0.071724934; #Stock average monthly standard deviation                                                                                                                                                       
$Stock[1][0]="TEST "; #Stock ticker                                                                                                                                                                                       
$Stock[1][1]=-0.01519; #Stock average monthly return                                                                                                                                                                      
$Stock[1][2]=0.063773903; #Stock average monthly standard deviation                                                                                                                                                       
$Stock[2][0]="SPDR"; #Stock ticker                                                                                                                                                                                        
$Stock[2][1]=0.008922718; #Stock average monthly return                                                                                                                                                                   
$Stock[2][2]=0.041688404; #Stock average monthly standard deviation                                                                                                                                                       
$Stock[3][0]="BRKB"; #Stock ticker                                                                                                                                                                                        
$Stock[3][1]=0.01469184; #Stock average monthly return                                                                                                                                                                    
$Stock[3][2]=0.071724934; #Stock average monthly standard deviation                                                                                                                                                       
$Stock[4][0]="TEST "; #Stock ticker                                                                                                                                                                                       
$Stock[4][1]=-0.01519; #Stock average monthly return                                                                                                                                                                      
$Stock[4][2]=0.063773903; #Stock average monthly standard deviation                                                                                                                                                       
$Stock[5][0]="SPDR"; #Stock ticker                                                                                                                                                                                        
$Stock[5][1]=0.008922718; #Stock average monthly return                                                                                                                                                                   
$Stock[5][2]=0.041688404; #Stock average monthly standard deviation                                                                                                                                                       
                                                                                                                                                                                                                          
                                                                                                                                                                                                                          
                                                                                                                                                                                                                          
                                                                                                                                                                                                                          
my $pm = new Parallel::ForkManager($NumberOfSimulation); #Specify the number of threads to span                                                                                                                           
                                                                                                                                                                                                                          
$pm->run_on_start(                                                                                                                                                                                                        
  sub { my ($pid,$ident)=@_;                                                                                                                                                                                              
  print "started, pid: $pid\n";                                                                                                                                                                                           
  }                                                                                                                                                                                                                       
);                                                                                                                                                                                                                        
                                                                                                                                                                                                                          
                                                                                                                                                                                                                          
                                                                                                                                                                                                                          
#We initialize the array that will contain the results                                                                                                                                                                    
@Results=();                                                                                                                                                                                                              
for $i (0..$NumberOfSimulation-1){                                                                                                                                                                                        
        for $j (0..$NumberOfStock+3){                                                                                                                                                                                     
                $Results[$i][$j]=0.0; #Equal to 0.0 to start                                                                                                                                                              
        }                                                                                                                                                                                                                 
}                                                                                                                                                                                                                         
                                                                                                                                                                                                                          
for $i (0..$NumberOfSimulation-1){ #Loop on the number of simulation to run                                                                                                                                               
        $Results[$i][0]=$i; #The first column of each line is the number of the simulation                                                                                                                                
        $pm->start and next; #Start the thread                                                                                                                                                                            
                                                                                                                                                                                                                          
                $TotalRatio=1; #The sum of the proprtion of each stock                                                                                                                                                    
                                                                                                                                                                                                                          
                #Here we calculate the portion of each investment in the portfolio for a given simulation                                                                                                                 
                for $j (0..$NumberOfStock-2){ #We loop on all stock until the second to last one                                                                                                                          
                        #TODO: Replace rand by something from Math::TrulyRandom                                                                                                                                           
                        $Ratio[$j]=rand($TotalRatio);                                                                                                                                                                     
                        $Results[$i][$j+1]=$Ratio[$j]; #We store the ratio associated to this stock                                                                                                                       
                        $TotalRatio=$TotalRatio-$Ratio[$j];                                                                                                                                                               
                }                                                                                                                                                                                                         
                $Ratio[$NumberOfStock-1]=$TotalRatio; #In order to have a total of the ratios equal to one, we set the last ratio to be the remainder                                                                     
                $Results[$i][$NumberOfStock]=$Ratio[$NumberOfStock-1]; #We store the ratio associated to this stock. Special case for the last stock                                                                      
                                                                                                                                                                                                                          
                $InvestmentValue=1; #Initially the investment value is 1 time the initial capital amount.                                                                                                                 
                my $stats=new Statistics::Descriptive::Discrete; #We initialize the module used to calculate the means and standard deviations                                                                            
                                                                                                                                                                                                                          
                for $j (1..$NumberOfMonth){ #Loop on the number of months                                                                                                                                                 
                                                                                                                                                                                                                          
                        $MonthlyGrowth[$j]=0.0; #By how much did we grow this month. Initially, no growth yet.                                                                                                            
                                                                                                                                                                                                                          
                        #We loop on each stock to find its monthly contribution to the yield                                                                                                                              
                        for $k (0..$NumberOfStock-1){                                                                                                                                                                     
                                                                                                                                                                                                                          
                        $MonthlyGrowth[$j]=$MonthlyGrowth[$j]+($Ratio[$k]*((gaussian_rand()*$Stock[$k][2])+$Stock[$k][1])); #We had the growth for this stock to the stock already calculated for the preceding stocks    
                        }                                                                                                                                                                                                 
                                                                                                                                                                                                                          
                        $stats->add_data($MonthlyGrowth[$j]); #Add the yield for this month so we can later on have the mean and standard deviation for this simulation                                                   
                        $InvestmentValue=$InvestmentValue*(1+$MonthlyGrowth[$j]); #Value of the Investment after this month                                                                                               
                }                                                                                                                                                                                                         
                $Results[$i][$NumberOfStock+1]=$stats->mean(); #Calculate the average monthly growth                                                                                                                      
                $Results[$i][$NumberOfStock+2]=$stats->standard_deviation(); #Calculate the standard deviation of the monthly growth                                                                                      
                                                                                                                                                                                                                          
        $pm->finish; #Finish the thread                                                                                                                                                                                   
}                                                                                                                                                                                                                         
$pm->wait_all_children; #We wait until all threads are finished                                                                                                                                                           
                                                                                                                                                                                                                          
#Printing the results                                                                                                                                                                                                     
print "Simulation ";                                                                                                                                                                                                      
for $j (0..$NumberOfStock-1){                                                                                                                                                                                             
        print "Ratio$Stock[$j][0] ";                                                                                                                                                                                      
}                                                                                                                                                                                                                         
print "  Mean StdDev YieldRatio\n";                                                                                                                                                                                       
for $i (0..$NumberOfSimulation-1){                                                                                                                                                                                        
        printf "%10d ", $Results[$i][0];                                                                                                                                                                                  
        for $j (1..$NumberOfStock){                                                                                                                                                                                       
                printf "   %6.2f ",$Results[$i][$j];                                                                                                                                                                      
        }                                                                                                                                                                                                                 
                                                                                                                                                                                                                          
        if($Results[$i][$NumberOfStock+2]!=0) {                                                                                                                                                                           
                printf "%5.4f %5.4f    %5.4f\n", $Results[$i][$NumberOfStock+1], $Results[$i][$NumberOfStock+2], ($Results[$i][$NumberOfStock+1]/$Results[$i][$NumberOfStock+2]);                                         
                                                                                                                                                                                                                          
        } else {                                                                                                                                                                                                          
                printf "%5.4f %5.4f    %5.4f\n", $Results[$i][$NumberOfStock+1], $Results[$i][$NumberOfStock+2], 0;                                                                                                       
                                                                                                                                                                                                                          
        }                                                                                                                                                                                                                 
}                                                                                                                                                                                                                         
                                                                                                                                                                                                                          
                                                                                                                                                                                                                          
                                                                                                                                                                                                                          
#Subroutines                                                                                                                                                                                                              
                                                                                                                                                                                                                          
#Subroutine to generate two numbers normally distributed                                                                                                                                                                  
#From "The Perl Cookbook", recipe 2.10                                                                                                                                                                                    
sub gaussian_rand {                                                                                                                                                                                                       
        my ($u1, $u2);                                                                                                                                                                                                    
        my $w;                                                                                                                                                                                                            
        my ($g1, $g2);                                                                                                                                                                                                    
                                                                                                                                                                                                                          
        do {                                                                                                                                                                                                              
                $u1=2*rand()-1;                                                                                                                                                                                           
                $u2=2*rand()-1;                                                                                                                                                                                           
                $w=$u1*$u1+$u2*$u2;                                                                                                                                                                                       
        } while ($w>=1 || $w==0); #There was an error in the recipe, I corrected it here                                                                                                                                  
                                                                                                                                                                                                                          
        $w=sqrt(-2*log($w)/$w);                                                                                                                                                                                           
        $g2=$u1*$w;                                                                                                                                                                                                       
        $g1=$u2*$w;                                                                                                                                                                                                       
        return wantarray ? ($g1,$g2) : $g1;                                                                                                                                                                               
                                                                                                                                                                                                                          
}                                                                                                                                                                                                                         

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

13.3. openMosix 偺晧壸僥僗僩

挊幰丗Matt Rechenburg 巵

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

13.3.1. 奣梫

偙偺晧壸僥僗僩偼丄openMosix 僋儔僗僞偲僇乕僱儖梡偺僥僗僩偱偡丅傾僾儕働
乕僔儑儞傪偄偔偮偐偲僇乕僱儖僥僗僩傪幚峴偟丄埨掕惈偲openMosix 偺偦偺懠
偺婡擻(椺偊偽丄僾儘僙僗偺儅僀僌儗乕僔儑儞丄mfs 摍)傪僠僃僢僋偟傑偡丅僥
僗僩傪偟偰偄傞娫僋儔僗僞偼傎偲傫偳壱摦偟懕偗傞偺偱丄僥僗僩傪偡傞慜偵丄
偦偺懠偺傾僾儕働乕僔儑儞傪掆巭偟偰偔偩偝偄丅僥僗僩偑廔傢傟偽丄僥僗僩偟
偨崁栚偦傟偧傟偵偮偄偰徻嵶側曬崘傪嫇偘傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

13.3.2. 徻嵶側愢柧

 openMosix 偺晧壸僥僗僩偼暋悢偺僾儘僌儔儉傪摦偐偟丄僔僗僥儉慡懱偺婡擻傪
僠僃僢僋偟傑偡丅師偵僥僗僩傾僾儕働乕僔儑儞偵偮偄偰偺愢柧傪偟傑偡丅

 丒 distkeygen: 偙偺傾僾儕働乕僔儑儞偼丄1024 價僢僩挿偺尞傪 4000 屄嶌惉
    偟傑偡丅fork 傪巊偭偰壜擻側尷傝偺僾儘僙僗傪 openMosix 僋儔僗僞偵偽
    傜嶵偒傑偡丅
   
    昁梫偵側傞傕偺丗gcc 僐儞僷僀儔偲 OpenSSL 儔僀僽儔儕 Copyright (C)
    2001 Ying-Hung Chen (GPL) http://www.yingternet.com/mosix
   
 丒 portfolio 乽portfolio乿偼 Perl 僾儘僌儔儉偱丄寛傔傜傟偨帪娫偵條乆側
    僥僗僩傪峴偄丄億乕僩僼僅儕僆傪僔儈儏儗乕僩偟傑偡丅偙偺曽朄偼丄
    William Bernstein 巵挊偺乽The intelligent asset allocator乿傪儀乕僗
    偵偟偰偄傑偡丅
   
    偙偺僾儘僌儔儉偺儔僀僙儞僗偼 GPL 偱偡丅挊幰丗Charles-E. Nadeau
    Ph.D., (c) 2002 儊乕儖傾僪儗僗: charlesnadeau AT hotmail DOT com
   
 丒 eatmem : sin 偲 sqrt 傪 1000000 夞扨弮偵寁嶼偟丄儖乕僾夞悢傪僼傽僀
    儖偵弌椡偟傑偡 (偳傫偳傫戝偒偔側傝傑偡)丅偙偺僥僗僩偼 openMosix 僋
    儔僗僞偱堦搙偵偱偒傞偩偗懡偔偺僾儘僙僗傪帺摦揑偵婲摦偟傑偡丅
   
 丒 forkit: 乽forkit乿僥僗僩偼乽eatmem乿僥僗僩偲帡偰偄傑偡偑丄fork 傪巊
    偭偰暋悢偺僾儘僙僗傪嶌惉偟傑偡(3*[openMosix僋儔僗僞偵偁傞僾儘僙僗
    悢)丅僾儘僙僗偑僼傽僀儖偵彂偒崬傓偙偲偼偁傝傑偣傫丅
   
 丒 mfstest 10MB 偺僼傽僀儖傪嶌惉偟丄偦傟傪偡傋偰偺僲乕僪偵僐僺乕偟偁偄
    傑偡丅偙偺僥僗僩偼 oMFS 偺惈擻傪僠僃僢僋偟傑偡丅
   
 丒 僇乕僱儖偺僔僗僥儉僐乕儖僥僗僩丗 Linux Test Project 偼丄SGI丄IBM丄
    OSDL丄Bull 偑嶲壛偟偰偄傞僾儘僕僃僋僩偱偡丅僾儘僕僃僋僩偺栚昗偼僆乕
    僾儞僜乕僗僐儈儏僯僥傿傊僥僗僩僷僢働乕僕傪採嫙偡傞偙偲偱偡丅偙偺僷
    僢働乕僕偵傛偭偰 Linux 偺怣棅惈偲寴楽偝丄埨掕惈傪妋棫偟傑偡丅 Linux
    Test Project 偱偼 Linux 僇乕僱儖偲僇乕僱儖偵娭楢偟偨婡擻偺僥僗僩岦
    偗偵僣乕儖傪廤傔偰偄傑偡丅栚昗偼僇乕僱儖偵懳偡傞僥僗僩傪帺摦壔偟丄
    Linux 僇乕僱儖傪夵椙偡傞偙偲偱偡丅僆乕僾儞僜乕僗懁偱嶲壛偟偨偄曽偼
    帺桼偵偙偺僾儘僕僃僋僩偵嶲壛偱偒傑偡丅徻偟偄忣曬偼丄http://
    ltp.sf.net 傪尒偰偔偩偝偄丅
   
 丒 moving: 乽moving.sh乿偼晧壸僥僗僩傪摦偐偟側偑傜乽
    start_openMosix_test.sh乿傪openMosix 僋儔僗僞偺奺僲乕僪傊堏摦偝偣傑
    偡丅乽start_openMosix_test.sh乿偼僥僗僩傪偟偰偄傞娫偢偭偲儅僀僌儗乕
    僩偟偰偄傑偡丅僋儔僗僞偱僥僗僩傪偳偺偔傜偄懕偗傞偐偵傕傛傝傑偡偑丄
    20 偐傜 40 攞儅僀僌儗乕僩偟傑偡丅
   
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

13.3.3. 晧壸僥僗僩僷僢働乕僕偺僀儞僗僩乕儖

傑偢僜乕僗僷僢働乕僕偐 rpm 傪壓婰偐傜僟僂儞儘乕僪偟偰偔偩偝偄丅 http://
www.openmosixview.com/omtest/

 丒 僜乕僗僷僢働乕僕傪巊偭偰丄
   
    椺偊偽 /usr/local 偵壓婰偺僐儅儞僪偱 openMosix 偺晧壸僥僗僩傪 unzip
    丄 untar 偟偰偔偩偝偄丅
   
              gunzip omtest.tar.gz                              
              tar -xvf omtest.gz                                
   
    師偵乽cd乿偟偰 /usr/local/omtest 僨傿儗僋僩偵峴偒丄壓婰傪幚峴偟偰偔
    偩偝偄丅
   
              ./compile_tests.sh                                
   
    偙傟偱昁梫側 Perl 儌僕儏乕儖偑僀儞僗僩乕儖偝傟丄僥僗僩僾儘僌儔儉偑
    僐儞僷僀儖偝傟傑偡丅偙傟傜偺儌僕儏乕儖偺僀儞僗僩乕儖偵偼丄root 偺尃
    尷偑昁梫偱偡丅僀儞僗僩乕儖屻偼堦斒儐乕僓偱傕 openMosix 偺晧壸僥僗僩
    偑峴偊傑偡丅 (/tmp 偵偁傞 root 偺 test-run 偐傜僥儞億儔儕僼傽僀儖傪
    嶍彍偟側偗傟偽偄偗側偄偱偟傚偆丅堦斒儐乕僓偱偼忋彂偒偡傞尃尷偑側偄
    偐傜偱偡)丅壓婰偺僐儅儞僪傪巊偭偰丄僥僗僩傪奐巒偡傞弨旛偑惍偄傑偡丅
   
              ./start_openMosix_test.sh                         
   
 丒 rpm 僷僢働乕僕傪巊偆
   
    omtest.rpm 傪僀儞僗僩乕儖偡傞嵺偵偼昁梫側傕偺偑偁傝傑偡丅 expect 傗
    compat-libstdc++-7.3-2.96.110(RH 8.0 側傜)摍偱偡丅師偺僐儅儞僪偱
    omtest.rpm 傪僀儞僗僩乕儖偟偰偔偩偝偄丅
   
              rpm -ihv omtest.rpm                               
   
    偙傟偱壓婰偺僐儅儞僪偱 openMosix 偺晧壸僥僗僩傪偼偠傔傜傟傑偡丅
   
              start_openMosix_test.sh                           
   
    (rpm 僷僢働乕僕偼 /usr/local/omtest 偵僀儞僗僩乕儖偝傟傑偡) (偙偺
    rpm 偱 perl 儌僕儏乕儖傕偄偔偮偐僀儞僗僩乕儖偝傟傞偙偲偵拲堄偟偰偔
    偩偝偄)丅 
   
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

13.3.4. 僥僗僩傪偼偠傔傞

[root@dhcp51 omtest]# ./start_openMosix_test.sh                                          
                                                                                         
                                                                                         
starting the openMosix stress test now!                                                  
                                                                                         
the results will be saved in : /tmp/openMosix-stress-test-report-03/16/2003-11:27:02.txt 
                                                                                         
oMFS is not mounted at /mfs! oMFS-test will be disabled.                                 
Please mount oMFS before running this openMosix-test                                     
You will find instructions how to configure and use oMFS at:                             
http://howto.ipng.be/openMosix-HOWTO/x222.htm#AEN243                                     
                                                                                         
                                                                                         
(return to continue, ctrl-c for cancel)                                                  

IV. openMosix 偱傾僾儕働乕僔儑儞傪摦偐偡

Table of Contents
14. 僐儞僷僀儖偺惈擻傪忋偘傞偵偼
   
    14.1. 偼偠傔偵
   
15. openMosix 傪棙梡偟偨夋憸張棟
   
    15.1. 偼偠傔偵
    15.2. Povray
   
16. 僶僀僆僀儞僼僅儅僥僢僋僗偲 openMosix
   
    16.1. 偼偠傔偵
    16.2. Blast
   
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 14. 僐儞僷僀儖偺惈擻傪忋偘傞偵偼

14.1. 偼偠傔偵

偙偺僙僋僔儑儞偼嶌惉拞偱偡丅

僐儞僷僀儖娐嫬偲偟偰 openMosix 傪棙梡偟傛偆偲偡傞恖乆偑偨偔偝傫偄傑偡偑
丄幐朷偟偰偟傑偆働乕僗偑懡偄傛偆偱偡丅 HOWTO 偺偙偺復偱偼丄openMosix 傪
巊偭偰僐儞僷僀儖偑壎宐傪庴偗傜傟傞傛偆偵丄惉岟儗儀儖傪傾僢僾偡傞曽朄傪
愢柧偟傛偆偲巚偄傑偡丅

傑偢妎偊偰偍偐側偗傟偽偄偗側偄偙偲偑 1 偮丅偦傟偼 openMosix 偑僋儔僗僞
偱婲摦偡傞僾儘僙僗傪偡傋偰儅僀僌儗乕僩偡傞傢偗偱偼側偄丄偲偄偆偙偲偱偡
丅暿偺僲乕僪偵儅僀僌儗乕僔儑儞偟偰岠壥偑偱傞傕偺偩偗偑儅僀僌儗乕僩偟傑
偡丅僐儞僷僀儖偼偳偆偐偲偄偆偲丄偦偺僾儘僙僗偑廫暘偵挿偔宲懕偟側偗傟偽
偄偗傑偣傫丅僇乕僱儖偺僐儞僷僀儖偼奣偟偰屄乆偑偁傑傝偵傕抁偄偺偱丄儅僀
僌儗乕僩偡傞偺偵廫暘偱偼偁傝傑偣傫丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 15. openMosix 傪棙梡偟偨夋憸張棟

15.1. 偼偠傔偵

偙偺僙僋僔儑儞偼嶌惉拞偱偡

 僐儞僺儏乕僞僌儔僼傿僢僋偼丄偨偔偝傫偺 CPU 僷儚乕傪昁梫偲偟懕偗偰偄傑
偟偨丅崱偱傕偦偺捠傝偱偡丅偙偺復偱偼 openMosix 偑僐儞僺儏乕僞僌儔僼傿僢
僋偵偳傟偩偗岠壥偑偁傞偺偐丄幚椺傪偁偘偰帵偟偨偄偲巚偄傑偡丅 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

15.2. Povray

Persistence of Vision Raytracer(Povray)偼丄崅昳幙偱姰慡偵僼儕乕側慺惏傜
偟偄 3D 僌儔僼傿僢僋僣乕儖偱偡丅

儗僀僩儗乕僔儞僌偼儗儞僟儕儞僌媄弍偺堦偮偱丄尰幚偺悽奅偱岝慄偑傗偭偰偔
傞夁掱傪僔儈儏儗乕僩偟丄偦偺応柺偺夋憸傪寁嶼偟傑偡丅偟偐偟偙偺張棟偼尰
幚偲偼媡曽岦偵峴偆偙偲偵側傝傑偡丅尰幚悽奅偱偼岝慄偼岝尮偐傜曻偨傟丄懳
徾傪徠傜偟傑偡丅岝偼懳徾偱斀幩偡傞偐丄岝傪捠偡懳徾偵懳偟偰偼摟夁偟偰偄
偒傑偡丅偙偺斀幩偟偨岝傪娽傗僇儊儔偺儗儞僘偑曔傜偊傑偡丅岝慄偺戝晹暘偼
娤嶡幰偵偼撏偒傑偣傫偺偱丄娤嶡幰偼応柺傪僩儗乕僗偡傞偺偵帪娫偑偐偐傝傑
偡丅

偙偺庬偺傾僾儕働乕僔儑儞偼 pvmpovray 傪巊偊偽娙扨偵暲楍張棟偑偱偒傑偡丅
pvmpovray 偼 Beowulf 僞僀僾偺僋儔僗僞忋偱摦嶌偡傞偙偲傪慜採偵偟偰偍傝丄
pvm 傪巊偭偰晧壸傪懠偺僲乕僪偵妱傝怳傝傑偡丅 openMosix 偼摨偠曽朄偱偙傟
傪峴偄傑偡偑丄偨偭偨 1 戜偺儅僔儞偱幚峴偟丄 openMosix 偑晧壸暘嶶傪峴偭
偰偔傟傑偡丅

A GREAT Howto on PVM Povray <http://pvmpov.sourceforge.net/
PVMPOV-HOWTO.html> 傪撉傔偽 pvmpovray 偺愝掕曽朄偑傢偐傝傑偡丅壓婰偑偪
傚偭偲偟偨梫栺偱偡丅

$ cd pvmpov3_1g_2                                                               
$ tar xfz ../povuni_s.tgz                                                       
$ tar xfz ../povuni_d.tgz                                                       
$ ./inst-pvm                                                                    
Trying to apply the patch.                                                      
Searching for rejected files                                                    
$                                                                               

aimk 偱僐儞僷僀儖偟偰偔偩偝偄(偙偺僗僋儕僾僩偼 pvm 偺 rpm 偑梡堄偟偰偄
傞儔僢僷乕)丅偳偪傜偵傕嫲傜偔僷僗偼捠偭偰偄側偄偱偟傚偆(aimk 偑懠偺僾儔
僢僩僼僅乕儉偺傾僾儕働乕僔儑儞偱偁傞偙偲傪妎偊偰偄傞曽傕偄傞偐傕偟傟傑
偣傫)丅

RH 8.0 傪巊偭偰偄傞側傜丄libpng 偲 zlib 偼 .notused 偺傛偆側応強偵堏摦
偟偨曽偑椙偄偱偟傚偆丅 libpng 偲 zlib 偺僶乕僕儑儞偑堎側傞偙偲偱惗偠傞
僶乕僕儑儞栤戣傪旔偗傞偨傔偱偡丅

export PATH=$PATH:/usr/share/pvm3/lib                                  
export PVMROOt=/usr/share/pvm3                                         

偙偙偱 aimk newunix 傪幚峴偟傑偡丅偦偟偰 pvm 傪婲摦偟偰丄偦偺傑傑偵偟傑
偡丅偙傟偱僨乕儌儞偑傾僋僥傿僽偵側偭偨傑傑偵側傝傑偡丅

嵟屻偵 pvm 偺弶怱幰儐乕僓偑抦傜側偄偙偲傪丅pvm 偼撈帺偺僷僗傪巊偆偺偱丄
pvmpov 傪僷僗偵娷傔傞偐愨懳僷僗傪巊偭偰婲摦偟偰偔偩偝偄丅

[root@dhcp71 povray31]# /usr/local/bin/pvmpov -L                             
/usr/src/povray/pvmpov3_1g_2/povray31/include/ +Iskyvase.pov                 
+Oskyvase.tga +NT16 +NW64 +NH64 +v +w1024 +h768                              
Persistence of Vision(tm) Ray Tracer Version 3.1g.Linux.gcc                  
  This is an unofficial version compiled by:                                 
  Jakob Flierl  - PVMPOV Version 3.1g.2                                      
  The POV-Ray Team(tm) is not responsible for supporting this version.       
Copyright 1999 POV-Ray Team(tm)                                              
Never found section  in file                                                 
/usr/src/povray/pvmpov3_1g_2/povray31/include/.                              
Initializing PVMPOV                                                          
  Spawning /usr/local/bin/pvmpov with 16 PVM tasks on 1 hosts...             
  ...16 PVM tasks successfully spawned.                                      
  Waiting up to 120s for first slave to start...                             
  Slave 0 successfully started.                                              
Parsing Options                                                              
  Input file: skyvase.pov (compatible to version 3.1)                        
  Remove bounds........On  Split unions........Off                           
  Library paths: /usr/local/lib/povray31 /usr/local/lib/povray31/include     
Output Options                                                               
  Image resolution 1024 by 768 (rows 1 to 768, columns 1 to 1024).           
  Output file: skyvase.tga, 24 bpp PNG                                       
  Graphic display.....Off                                                    
  Mosaic preview......Off                                                    
  CPU usage histogram.Off                                                    
  Continued trace.....Off  Allow interruption...On  Pause when               
done.....Off                                                                 
  Verbose messages.....On                                                    
Tracing Options                                                              
  Quality:  9                                                                
  Bounding boxes.......On  Bounding threshold: 25                            
  Light Buffer.........On  Vista Buffer.........On                           
  Antialiasing........Off                                                    
  Radiosity...........Off                                                    
Animation Options                                                            
  Clock value....   0.000  (Animation off)                                   
PVM Options                                                                  
  Block Width....      64  Block Height...      64                           
  PVM Tasks......      16                                                    
  PVM Nice.......       5                                                    
  PVM Arch.......                                                            
  PVM Slave...... /usr/local/bin/pvmpov                                      
  PVM WorkingDir. /usr/src/povray/pvmpov3_1g_2/povray31                      
Redirecting Options                                                          
  All Streams to console..........On                                         
  Debug Stream to console.........On                                         
  Fatal Stream to console.........On                                         
  Render Stream to console........On                                         
  Statistics Stream to console....On                                         
  Warning Stream to console.......On                                         
                                                                             
Starting frame 0...                                                          
 Slave 1 at dhcp71.office.be.stone-it.com successfully started.              
 Slave 2 at dhcp71.office.be.stone-it.com successfully started.              
 Slave 3 at dhcp71.office.be.stone-it.com successfully started.              
 Slave 4 at dhcp71.office.be.stone-it.com successfully started.              
 Slave 5 at dhcp71.office.be.stone-it.com successfully started.              
 Slave 6 at dhcp71.office.be.stone-it.com successfully started.              
 Slave 7 at dhcp71.office.be.stone-it.com successfully started.              
 Slave 8 at dhcp71.office.be.stone-it.com successfully started.              
 Slave 9 at dhcp71.office.be.stone-it.com successfully started.              
 Slave 10 at dhcp71.office.be.stone-it.com successfully started.             
 Slave 11 at dhcp71.office.be.stone-it.com successfully started.             
 Slave 12 at dhcp71.office.be.stone-it.com successfully started.             
 Slave 13 at dhcp71.office.be.stone-it.com successfully started.             
 Slave 14 at dhcp71.office.be.stone-it.com successfully started.             
 Slave 15 at dhcp71.office.be.stone-it.com successfully started.             
  0:00:53 86.46 of blocks complete.Not using dhcp71.office.be.stone-it.com   
for reassignment (77%)                                                       
  0:00:53 86.98 of blocks complete.Not using dhcp71.office.be.stone-it.com   
for reassignment (67%)                                                       
Not using dhcp71.office.be.stone-it.com for reassignment (86%)               
Not using dhcp71.office.be.stone-it.com for reassignment (85%)               
  0:00:55 89.06 of blocks complete.   640 of  768 lines finished (in frame   
0).Not using dhcp71.office.be.stone-it.com for reassignment (65%)            
  0:00:56 91.67 of blocks complete.Not using dhcp71.office.be.stone-it.com   
for reassignment (72%)                                                       
  0:00:56 92.71 of blocks complete.Not using dhcp71.office.be.stone-it.com   
for reassignment (80%)                                                       
  0:00:57 93.75 of blocks complete.                                          
Slave at dhcp71.office.be.stone-it.com has exited.                           
  0:00:57 94.79 of blocks complete.                                          
Slave at dhcp71.office.be.stone-it.com has exited.                           
                                                                             
Slave at dhcp71.office.be.stone-it.com has exited.                           
  0:00:58 95.83 of blocks complete.                                          
Slave at dhcp71.office.be.stone-it.com has exited.                           
  0:00:58 96.35 of blocks complete.   672 of  768 lines finished (in frame   
0).Not using dhcp71.office.be.stone-it.com for reassignment (77%)            
                                                                             
Slave at dhcp71.office.be.stone-it.com has exited.                           
  0:00:58 97.14 of blocks complete.   688 of  768 lines finished (in frame   
0).                                                                          
Slave at dhcp71.office.be.stone-it.com has exited.                           
  0:00:59 97.92 of blocks complete.                                          
Slave at dhcp71.office.be.stone-it.com has exited.                           
  0:00:60 98.44 of blocks complete.   704 of  768 lines finished (in frame   
0).                                                                          
Slave at dhcp71.office.be.stone-it.com has exited.                           
  0:01:03 100.00 of blocks complete.   768 of  768 lines finished (in        
frame 0).                                                                    
Finishing frame 0...rtw. 768                                                 
                                                                             
                                                                             
Waiting for remaining slave stats.                                           
                                                                             
                                                                             
PVM Task Distribution Statistics:                                            
           host name  [ done ] [ late ]           host name  [ done ] [      
late ]                                                                       
dhcp71.office.be.stone-it.com  [ 5.21%] [                                    
0.00%]dhcp71.office.be.stone-it.com  [ 7.81%] [ 0.07%]                       
dhcp71.office.be.stone-it.com  [ 8.85%] [                                    
1.17%]dhcp71.office.be.stone-it.com  [ 4.69%] [ 0.00%]                       
dhcp71.office.be.stone-it.com  [ 8.85%] [                                    
0.98%]dhcp71.office.be.stone-it.com  [ 4.17%] [ 0.00%]                       
dhcp71.office.be.stone-it.com  [ 5.21%] [                                    
0.00%]dhcp71.office.be.stone-it.com  [ 8.33%] [ 0.52%]                       
dhcp71.office.be.stone-it.com  [ 5.21%] [                                    
0.00%]dhcp71.office.be.stone-it.com  [ 5.73%] [ 0.72%]                       
dhcp71.office.be.stone-it.com  [ 7.29%] [                                    
2.73%]dhcp71.office.be.stone-it.com  [ 4.17%] [ 0.00%]                       
dhcp71.office.be.stone-it.com  [ 5.21%] [                                    
0.00%]dhcp71.office.be.stone-it.com  [ 6.77%] [ 0.13%]                       
dhcp71.office.be.stone-it.com  [ 4.69%] [                                    
0.00%]dhcp71.office.be.stone-it.com  [ 7.81%] [ 0.00%]                       
                                                                             
                                                                             
POV-Ray statistics for finished frames:                                      
skyvase.pov Statistics (Partial Image Rendered), Resolution 1024 x 768       
---------------------------------------------------------------------------- 
Pixels:          303104   Samples:          303104   Smpls/Pxl: 1.00         
Rays:           1192710   Saved:                 0   Max Level: 0/5          
---------------------------------------------------------------------------- 
Ray->Shape Intersection          Tests       Succeeded  Percentage           
---------------------------------------------------------------------------- 
Cone/Cylinder                  1842227          900504     48.88             
CSG Intersection               2742731          323346     11.79             
CSG Union                      1801008          521692     28.97             
Plane                         20223278        11233348     55.55             
Quadric                        1801008         1196533     66.44             
Sphere                         1801008          461786     25.64             
Bounding Object                1842227          900504     48.88             
---------------------------------------------------------------------------- 
Calls to Noise:            1201944   Calls to DNoise:        2108954         
---------------------------------------------------------------------------- 
Shadow Ray Tests:          2856188   Succeeded:                85620         
Reflected Rays:             889606                                           
---------------------------------------------------------------------------- 
Smallest Alloc:                  9 bytes   Largest:            20508         
Peak memory used:          5643343 bytes                                     
---------------------------------------------------------------------------- 
Time For Trace:    0 hours  1 minutes   7.0 seconds (67 seconds)             
    Total Time:    0 hours  1 minutes   7.0 seconds (67 seconds)             

尒偰偺捠傝傾僾儕働乕僔儑儞偑暋悢偵暘妱偝傟丄屄乆偵摦偔偙偲偑傢偐傝傑偡
丅 openMosix 偼懠偺儅僔儞偵懳偟偰丄晧壸偺嬒峵傪庢傞張棟傪峴偭偰偄傑偡丅

棙梡偱偒傞 CPU 悢偺 2丄3 攞偺岠壥偲偄偆慺惏傜偟偄寢壥偵側傝傑偟偨丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 16. 僶僀僆僀儞僼僅儅僥僢僋僗偲 openMosix

16.1. 偼偠傔偵

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

16.2. Blast

偙偺暘栰偱巒廔棙梡偡傞傾僾儕働乕僔儑儞偵 Blast 偑偁傝傑偡丅 Blast 偑巟
忈側偔摦嶌偡傞偨傔偵僷僢僠偑梡堄偝傟偰偄傑偡丅 <http://
stl.bioinformatics.med.umich.edu/software/OM_BLAST_patch/
openmosixpatch.html> 偟偐偟偦傟偩偗偑巟忈側偔摦偔庤抜偱偼偁傝傑偣傫丅

傑偢偙偺僷僢僠偵偼婛抦偺栤戣偑偁傝傑偡丅傑偨 Blast 偺僶乕僕儑儞偵傛偭偰
偼丄segmentation fault 偑婲偙傞偙偲偑偁傝傑偡丅偙偺尰徾偼偨偄偰偄偺応崌
丄僀儞僞乕僱僢僩偐傜僟僂儞儘乕僪偟偰偒偨嶌惉嵪傒僨乕僞儀乕僗偵婲場偟偰
偄傑偡丅枹張棟偺僨乕僞儀乕僗偵懳偟偰 formatdb 傪偐偗傞偲丄僄儔乕偑夝徚
偝傟傞応崌偑偁傝傑偡丅

blast 僷僢僠偺師偼丄偨偔偝傫偺曽乆偑棙梡偟偰偄傞 MPIBlast <http://
mpiblast.lanl.gov/> 偱偡丅openMosix 偑 MPI 傪崅懍壔偡傞孹岦偵偁傞丄偲偄
偆帠幚偑偁傝傑偡丅openMosix 偵偙偺愝掕傪擖傟傞偲丄慺惏傜偟偄寢壥偵側傞
偐傕偟傟傑偣傫丅偟偐偟偙偺帠幚傪妋擣偡傞偵偼丄偝傜偵挷嵏傪偡傞昁梫偑偁
傝傑偡丅

V. openMosix 偺奐敪

Table of Contents
17. openMosix 偺撪晹傪尒傞
   
    17.1. 偼偠傔偵
   
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Chapter 17. openMosix 偺撪晹傪尒傞

17.1. 偼偠傔偵

偙偺晹暘偺挊幰偼 Amit Shah 巵偱偡丅

尰忬僇乕僱儖偵偮偄偰偺僪僉儏儊儞僩偼廫暘偲偼尵偊傑偣傫丅棃廡偵傕彂偗傟
偽偲巚偭偰偄傑偡丅偦偺傛偆側傢偗偱丄偙偙偱偼僜乕僗偑偳偺傛偆偵峔惉偝傟
偰偄傞偐傪帵偟偰偍偒傑偡丅

openMosix 偺僐乕僪偺戝晹暘偼丄hpc/ 偲 include/hpc 偵偁傝傑偡丅arch/i386
僨傿儗僋僩儕偐傜偼偠傑偭偰 mm/丄fs/ 摍丄僇乕僱儖僼傽僀儖偺偁偪偙偪偵搉
偭偰僷僢僠偑偨偔偝傫偁傝傑偡丅嫽枴偑偁傞僐乕僪傪挷傋丄尰忬偑偳偆側偭偰
偄傞偺偐峫偊偰傒傞昁梫偑偁傝傑偡(僇乕僱儖傪僐乕僨傿儞僌偟偨偙偲偑偁傟偽
丄栤戣偼側偄偼偢偱偡)丅

偙偙偵嫇偘傞偺偼丄奺僜乕僗僼傽僀儖偺拞偱奆偝傫偑扵偟偰偄傞偼偢偺傕偺偱
偡丅

 丒  hpc/badops.c: 娫堘偭偨憖嶌傪堦庤偵堷偒庴偗傞僼傽僀儖丅僄儔乕僐乕僪
    傪曉偡応崌偑傎偲傫偳丅
   
 丒 hpc/balance.c: 晧壸暘嶶偺僐乕僪(晧壸亄儊儌儕巊梡検亄僲乕僪媦傃慡懱
    偺巊梡検)丅
   
 丒  hpc/comm.c: 僋儔僗僞撪晹偺捠怣偺僙僢僩傾僢僾丅
   
 丒  hpc/config.c: openMosix 梡偺愝掕僐乕僪丅婲摦僗僋儕僾僩傪摦偐偟偨屻
    偵巊梡丅
   
 丒  hpc/decay.c: 懠偺僲乕僪偐傜廂廤偟偨忣曬偲偦偺忬懺傪暘嶶偝偣傞丅
   
 丒  hpc/deputy.c: 戙棟幚峴偝傟傞僐乕僪丅儕儌乕僩忋偱偺僔僗僥儉僐乕儖
    (偮傑傝僾儘僙僗偑儅僀僌儗乕僩偟偨屻)傗僔僌僫儖摍偺僒乕價僗丅
   
 丒  hpc/dfsa.c: Direct File System Access 偺僐乕僪丅暘嶶僼傽僀儖僔僗僥
    儉偺拪徾儗僀儎丅
   
 丒  hpc/div.c: 彫悢揰彍嶼傪峴偆傾儖僑儕僘儉丅
   
 丒 hpc/export.c: 懠偺僼傽僀儖偑昁梫偲偡傞僔儞儃儖傪僄僋僗億乕僩丅
   
 丒  hpc/freemem.c: 儊儌儕偺嬻偒偲暯嬒抣偺忣曬傪婰榐偟丄昁梫偵墳偠偰奐
    曻偡傞丅 Linux 偺 mm/ 僐乕僪傪戝暆偵棳梡丅
   
 丒  hpc/hpcadmin.c: openMosix 偺娗棟抣傪挷惍(/proc/hpc 宱桼偱)丅
   
 丒  hpc/hpcproc.c: /proc/hpc 偺僐乕僪丅
   
 丒  hpc/info.c: 忣曬僨乕儌儞丅晧壸偲儊儌儕巊梡検偺忬懺傪僋儔僗僞慡懱偵
    搉偭偰憲庴怣(儅儖僠僉儍僗僩)偡傞丅
   
 丒  hpc/init.c: 弶婜壔僐乕僪丅僨乕儌儞偺弶婜壔摍丅
   
 丒  hpc/kernel.c: 乽僐傾乿側僐乕僪偺傎偲傫偳丅廳梫側傾儖僑儕僘儉偺偡傋
    偰丅
   
 丒  hpc/load.c: 儘乕僇儖偺晧壸偺墘嶼摍丅
   
 丒  hpc/mig.c: 儅僀僌儗乕僔儑儞傪埖偆僐乕僪丅偙偺僼傽僀儖偺僐乕僪偼丄
    儅僀僌儗乕僔儑儞偺搙偵幚峴偝傟傞丅戙棟仺儕儌乕僩丄儕儌乕僩仺戙棟丄
    儕儌乕僩仺儕儌乕僩丅
   
 丒  hpc/prequest.c: 僾儘僙僗偺儕僋僄僗僩傪埖偆丅僔僌僫儖丄儊儌儕梫媮摍
    丅
   
 丒  hpc/remote.c: 僾儘僙僗偑儕儌乕僩偵偁傞帪偵幚峴偝傟傞僐乕僪丅僔僗僥
    儉僐乕儖傪儕儌乕僩偱埖偄丄戙棟僾儘僙僗偵惂屼傪搉偡摍丅
   
 丒  hpc/rinode.c: fs/ 偵娭楢偟偨崁栚丅DFSA 偑棙梡丅
   
 丒 hpc/service.c: 僨乕儌儞偺愝掕丄儊儌儕偺妋曐摍丅
   
 丒 hpc/syscalls.c: 儕儌乕僩偺僔僗僥儉僐乕儖偡傋偰傪埖偆丅
   
 丒 hpc/ucache.c: ucache 傪埖偆丅mm/丄fs/ 偑棙梡丅
   
偦偺懠 auto_syscalls.c 傗 alternate.c 偺傛偆側僼傽僀儖偼丄僐儞僷僀儖帪
偵嶌惉偝傟傑偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Appendix A. 峏偵忣曬偑昁梫側応崌

A.1. IRC

openMosix 僼儕乕僋偑丄彆偗傪媮傔偰偄傞恖偨偪偵僆儞儔僀儞偱 IRC 偵帪娫傪
妱偄偰偄傑偡丅#openMosix 偺 irc.freenode.net 偑偦偙偱偡丅嶲壛偟偰丄栤戣
傗傾僀僨傿傾摍乆傪媍榑偟傑偟傚偆丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

A.2. 偝傜偵抦傞偵偼

 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

A.3. 東栿

偙偺 HOWTO 偺堦晹傪東栿偟偰偄傞曽乆傗帺崙岅偱暯堈側 openMosix 偺僪僉儏
儊儞僩傪彂偄偰偄傞曽乆傕偄傑偡丅

偙偺僪僉儏儊儞僩傪東栿偟偰偄傞側傜丄偍抦傜偣偔偩偝偄丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

A.3.1. 拞崙岅

 Ding Wei 巵偑僪僉儏儊儞僩傪拞崙岅偱彂偄偰偄傑偡丅壓婰偱撉傔傑偡丅http:
//software.ccidnet.com/pub/disp/Article?columnID=732&articleID=25795&
pageNO=1

儘乕僇儖 <http://howto.ipng.be/Mosix-HOWTO/openMosix-HOWTO-download/
BJEC-openMOSIX.pdf>偵僐僺乕偟偨拞崙岅偺僪僉儏儊儞僩偺 PDF 偱偡丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

A.3.2. 僗儁僀儞岅

Miquel Catal醤 Co飔has 僒幛僱僂儕僞僋丄僜丄僠丄僰丅乽丒働丒儗丒丄丒僋欷
儂僸儞僼丄丄僉丄僯丄丄丄丣丄働丅乿 http://w3.akamc2.net/ 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

A.4. 儕儞僋

 

 丒 openMosix on Sourcefourge <http://openmosix.sourceforge.net/ >
   
 丒 the openMosix HOWTO <http://howto.ipng.be/openMosix-HOWTO/ >
   
 丒 the openMosix FAQ <http://openmosix.leonora.org/FAQ.php?
    openMosixFAQ >
   
 丒 the openMosix WIKI <http://howto.ipng.be/openMosixWiki/index.php >
   
 丒 the openMosix Community Contributions <http://
    openmosix.sourceforge.net/community.html >
   
 丒 openmosixview <http://www.openmosixview.com/ >
   
 丒   Mosix Debian HOWTO <http://www.infofin.com/~gandalf/doc/
    mosix-debian/mosix-debian.html> 
   
 丒   K12 LTSP Mosix HOWTO <http://k12os.org/modules.php?op=modload&
    name=News&file=article&sid=14&mode=thread&order=0>
   
 丒 Mosix Mandrake Linux Terminal Server Project <http://
    mosix-ltsp.dynu.com/> 
   
 丒  openMOSIXVIEW, a GUI for managing openMosix-Cluster <http://
    www.openmosixview.com/> 
   
 丒   User Mode openMosix, a virtual openMosix cluster running in
    User-mode <http://www.mosixview.com/umopenmosix/umopenmosix.html> 
   
 丒  RxLinux, Web Interface for central configuration and management
    <http://www.fusionw3.com/rxlinux/> 
   
 丒   LTSP+OpenMosix: A Mini How-To <http://www.k12ltsp.org/
    ltsp-om5.html> 
   
 丒  FuBAR: An openMosix cluster at Texas AM - Corpus Christi <http://
    www.sci.tamucc.edu/wiki/CSClub/FuBAR>  
   
 丒 Charting the Land of Elliptic Curves using openMosix <http://
    modular.fas.harvard.edu/Tables/Notes/rochester/index.html>
   
 丒 openMosixWebView <http://laurel.datsi.fi.upm.es/~rpons/openmosix/>
   
 丒 Italian experiences with openMosix clusters <http://
    www.democritos.it/events/openMosix.html> 偼丄偦偺僇儞僼傽儗儞僗偱僾
    儗僛儞僥乕僔儑儞偝傟偨榑暥偄偔偮偐傊偺儕儞僋偱偡丅偙偺榑暥偼
    openMosix 偺儊乕儕儞僌儕僗僩偱嵞嶰幙栤偝傟傞偙偲傪僇僶乕偟偰偄傑偡
    丅
   
     仩 Osservatorio Astronomico Cagliari (pdf)Securing an openMosix
        cluster in an untrusted networking environment. <http://
        www.democritos.it/events/openMosix/papers/cagliari.pdf>
       
     仩 D.T.I. dell'Universit di Milano, Polo didattico e ricerca,
        Crema (pdf) Experiences with Java and C programs on openMosix.
        <http://www.democritos.it/events/openMosix/papers/crema.pdf>
       
     仩 Riello Group (pdf) Use of openMosix for parallel I/O balancing
        on storage (backup) <http://www.democritos.it/events/openMosix/
        papers/riello.pdf>
       
     仩 INFM & Dept. of Physics University of Napoli (pdf) Documents a
        number of small to large clusters and their uses. (Includes
        many references to software and projects.) <http://
        www.democritos.it/events/openMosix/papers/napoli.pdf>
       
     仩 Conecta srl (pdf) Contains more information on Kraken, the
        openMosix based game server. Included is how they monitor the
        cluster's temperature via lmsenors and how they improved
        internode communications using iproute2 queue controls. <http:/
        /www.democritos.it/events/openMosix/papers/conecta.pdf>
       
     
   
 丒 openMosix with Diskless client <http://www.telusplanet.net/public/
    jagstep/docs/OMcluster.txt>
   
 丒 Use networked Linux systems to solve your computing challenges by
    Daniel Robbins <http://www-1.ibm.com/servers/esdd/articles/
    openmosix.html?t=gr,lnxw79=OpenMosix1>
   
 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

A.5. 儊乕儕儞僌儕僗僩

 丒  openMosix mailing list <http://openmosix.sourceforge.net/
    mailing.html> 
   
 丒  openmosix-view mailing list <http://lists.sourceforge.net/lists/
    listinfo/mosixview-user> 
   
 丒 ClumpOS mailing list <http://clumpos.psoftware.org/#LIST> 
   
 

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

A.6. 擔杮岅斉幱帿

偙偺東栿傪偡傞偵摉偨偭偰師偺擔杮岅僒僀僩傪嶲峫偵偝偣偰偄偨偩偒傑偟偨丅

 丒 僋儔僗僞峔抸偺KnowHow <http://www.chem.nagoya-u.ac.jp/og/wiki/
    wiki.cgi/ClusterBuild?page=FrontPage>(柤屆壆戝偺徏杮偝傫丅51戜偱
    openMosix両)
   
峑惓偵偁偨偭偰丄師偺曽乆偵偍悽榖偵側傝傑偟偨丅偁傝偑偲偆偛偞偄傑偟偨丅

 丒 嫬恀懢榊偝傫
   
 丒 徏杮惓榓偝傫
   
 丒 晲堜怢岝偝傫
   
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Appendix B. 僋儗僕僢僩

偙偺 HOWTO 偱偼僋儗僕僢僩偵嵹傞曽乆偺儕僗僩偑挿偔側偭偰偄傑偡偑丄幚嵺偼
偙偙偵嵹傞傋偒曽乆偡傋偰偑傢偐偭偰偄傞傢偗偱偼偁傝傑偣傫丅峷專偟偰偄偨
偩偄偨曽乆偺偍柤慜傪壓婰偵捛壛偟偰偄傑偡丅

偍柤慜偑偙偙偵嵹偭偰偄側偄偲巚傢傟偨曽偼丄偨傔傜傢偢偵巹偵楢棈偟偰偔偩
偝偄丅婌傫偱偙偺儕僗僩偵捛壛偝偣偰偄偨偩偒傑偡丅

 Scot W. Stevenson

巹偑偙偺 HOWTO 傪堷偒宲偖慜偵 Scot W. Stevenson 巵偑偝傟偨嶌嬈偵懳偟偰
姶幱偟側偗傟偽偄偗傑偣傫丅傑偝偵斵偑偙偺僪僉儏儊儞僩傪偼偠傔偨偐傜偱偡
丅

Assaf Spanier

Scott 巵偲偲傕偵偙偺 HOWTO 偺峔惉偺僪儔僼僩偲復棫偰傪偟偰偔傟傑偟偨丅傑
偨丄偙偺僪僉儏儊儞僩偱巹傪彆偗偰偔傟傞偲栺懇偟偰偔傟傑偟偨丅

Matthias Rechenburg

Matthias Rechenburg 巵偼 openMosixview 偲偦傟偵晅悘偟偨僪僉儏儊儞僩傪嶌
惉偟偰偔傟傑偟偨丅偙偺僪僉儏儊儞僩偵偼偦偺惉壥偑擖偭偰偄傑偡丅

Jean-David Marrow

偼丄Clump/OS 偺挊幰偱丄偙偺 HOWTO 偵斵偺僪僉儏儊儞僩傪嵹偣偰偄偨偩偒傑
偟偨丅 

 Bruce Knox

偼丄openMosix 偺 Web 僒僀僩偺儊儞僥僫乕偱丄偁傜備傞墖彆偲僼傿乕僪僶僢僋
傪偨偔偝傫偟偰偔傟傑偟偨丅 

Evan Hisey

偼丄WIKI 偵僪僉儏儊儞僩傪師乆偲捛壛偟偰偔傟傑偟偨丅

Charles Nadeau

偼丄WIKI 偵僪僉儏儊儞僩傪師乆偲捛壛偟偰偔傟傑偟偨丅

Louis Zechter

Moshe Bar

斵偑彂偄偨僐乕僪偵偮偄偰彂偄偰偔傟傑偟偨丅斵偑曉摎偱偒傞幙栤偵摎偊傞偙
偲傪庤揱偭偰偄偨偩偒傑偟偨丅

Amit Shah

openMosix 偺撪晹偵偮偄偰彂偒偼偠傔偰傕傜偄傑偟偨丅

Mirko Caserta

偙偺 HOWTO 偵摉偰傞嫄戝側僷僢僠傪憲偭偰偔傟傑偟偨丅 

Ramon Pons

偙偺 HOWTO 偺峑惓偲傾僪僶僀僗傪偟偰偄偨偩偒傑偟偨丅

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

Appendix C. GNU Free Documentation License

Version 1.1, March 2000

    Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place,
    Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy
    and distribute verbatim copies of this license document, but
    changing it is not allowed.
   
劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

0. PREAMBLE

The purpose of this License is to make a manual, textbook, or other
written document "free" in the sense of freedom: to assure everyone the
effective freedom to copy and redistribute it, with or without
modifying it, either commercially or non-commercially. Secondarily,
this License preserves for the author and publisher a way to get credit
for their work, while not being considered responsible for
modifications made by others.

This License is a kind of "copyleft", which means that derivative works
of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft license
designed for free software.

We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals; it
can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work that contains a notice
placed by the copyright holder saying it can be distributed under the
terms of this License. The "Document", below, refers to any such manual
or work. Any member of the public is a licensee, and is addressed as
"you".

A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
within that overall subject. (For example, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.

The "Invariant Sections" are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License.

The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License.

A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the general
public, whose contents can be viewed and edited directly and
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input to
text formatters. A copy made in an otherwise Transparent file format
whose markup has been designed to thwart or discourage subsequent
modification by readers is not Transparent. A copy that is not
"Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain ASCII
without markup, Texinfo input format, LaTeX input format, SGML or XML
using a publicly available DTD, and standard-conforming simple HTML
designed for human modification. Opaque formats include PostScript,
PDF, proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the machine-generated
HTML produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus
such following pages as are needed to hold, legibly, the material this
License requires to appear in the title page. For works in formats
which do not have any title page as such, "Title Page" means the text
near the most prominent appearance of the work's title, preceding the
beginning of the body of the text.

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and
you may publicly display copies.

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

3. COPYING IN QUANTITY

If you publish printed copies of the Document numbering more than 100,
and the Document's license notice requires Cover Texts, you must
enclose the copies in covers that carry, clearly and legibly, all these
Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts
on the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present the
full title with all words of the title equally prominent and visible.
You may add other material on the covers in addition. Copying with
changes limited to the covers, as long as they preserve the title of
the Document and satisfy these conditions, can be treated as verbatim
copying in other respects.

If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.

If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a publicly-accessible computer-network location containing a complete
Transparent copy of the Document, free of added material, which the
general network-using public has access to download anonymously at no
charge using public-standard network protocols. If you use the latter
option, you must take reasonably prudent steps, when you begin
distribution of Opaque copies in quantity, to ensure that this
Transparent copy will remain thus accessible at the stated location
until at least one year after the last time you distribute an Opaque
copy (directly or through your agents or retailers) of that edition to
the public.

It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release the
Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy of
it. In addition, you must do these things in the Modified Version:

 A. Use in the Title Page (and on the covers, if any) a title distinct
    from that of the Document, and from those of previous versions
    (which should, if there were any, be listed in the History section
    of the Document). You may use the same title as a previous version
    if the original publisher of that version gives permission.
   
 B. List on the Title Page, as authors, one or more persons or entities
    responsible for authorship of the modifications in the Modified
    Version, together with at least five of the principal authors of
    the Document (all of its principal authors, if it has less than
    five).
   
 C. State on the Title page the name of the publisher of the Modified
    Version, as the publisher.
   
 D. Preserve all the copyright notices of the Document.
   
 E. Add an appropriate copyright notice for your modifications adjacent
    to the other copyright notices.
   
 F. Include, immediately after the copyright notices, a license notice
    giving the public permission to use the Modified Version under the
    terms of this License, in the form shown in the Addendum below.
   
 G. Preserve in that license notice the full lists of Invariant
    Sections and required Cover Texts given in the Document's license
    notice.
   
 H. Include an unaltered copy of this License.
   
 I. Preserve the section entitled "History", and its title, and add to
    it an item stating at least the title, year, new authors, and
    publisher of the Modified Version as given on the Title Page. If
    there is no section entitled "History" in the Document, create one
    stating the title, year, authors, and publisher of the Document as
    given on its Title Page, then add an item describing the Modified
    Version as stated in the previous sentence.
   
 J. Preserve the network location, if any, given in the Document for
    public access to a Transparent copy of the Document, and likewise
    the network locations given in the Document for previous versions
    it was based on. These may be placed in the "History" section. You
    may omit a network location for a work that was published at least
    four years before the Document itself, or if the original publisher
    of the version it refers to gives permission.
   
 K. In any section entitled "Acknowledgements" or "Dedications",
    preserve the section's title, and preserve in the section all the
    substance and tone of each of the contributor acknowledgements and/
    or dedications given therein.
   
 L. Preserve all the Invariant Sections of the Document, unaltered in
    their text and in their titles. Section numbers or the equivalent
    are not considered part of the section titles.
   
 M. Delete any section entitled "Endorsements". Such a section may not
    be included in the Modified Version.
   
 N. Do not retitle any existing section as "Endorsements" or to
    conflict in title with any Invariant Section.
   
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.

You may add a section entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.

You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of Front-Cover
Text and one of Back-Cover Text may be added by (or through
arrangements made by) any one entity. If the Document already includes
a cover text for the same cover, previously added by you or by
arrangement made by the same entity you are acting on behalf of, you
may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

5. COMBINING DOCUMENTS

You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice.

The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of Invariant
Sections in the license notice of the combined work.

In the combination, you must combine any sections entitled "History" in
the various original documents, forming one section entitled "History";
likewise combine any sections entitled "Acknowledgements", and any
sections entitled "Dedications". You must delete all sections entitled
"Endorsements."

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

6. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other
documents released under this License, and replace the individual
copies of this License in the various documents with a single copy that
is included in the collection, provided that you follow the rules of
this License for verbatim copying of each of the documents in all other
respects.

You may extract a single document from such a collection, and
distribute it individually under this License, provided you insert a
copy of this License into the extracted document, and follow this
License in all other respects regarding verbatim copying of that
document.

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, does not as a whole count as a Modified Version of
the Document, provided no compilation copyright is claimed for the
compilation. Such a compilation is called an "aggregate", and this
License does not apply to the other self-contained works thus compiled
with the Document, on account of their being thus compiled, if they are
not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one quarter
of the entire aggregate, the Document's Cover Texts may be placed on
covers that surround only the Document within the aggregate. Otherwise
they must appear on covers around the whole aggregate.

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

8. TRANSLATION

Translation is considered a kind of modification, so you may distribute
translations of the Document under the terms of section 4. Replacing
Invariant Sections with translations requires special permission from
their copyright holders, but you may include translations of some or
all Invariant Sections in addition to the original versions of these
Invariant Sections. You may include a translation of this License
provided that you also include the original English version of this
License. In case of a disagreement between the translation and the
original English version of this License, the original English version
will prevail.

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such parties
remain in full compliance.

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

10. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the
GNU Free Documentation License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in
detail to address new problems or concerns. See http://www.gnu.org/
copyleft/.

Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

How to use this License for your documents

To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and license
notices just after the title page:

    Copyright (c) YEAR YOUR NAME. Permission is granted to copy,
    distribute and/or modify this document under the terms of the GNU
    Free Documentation License, Version 1.1 or any later version
    published by the Free Software Foundation; with the Invariant
    Sections being LIST THEIR TITLES, with the Front-Cover Texts being
    LIST, and with the Back-Cover Texts being LIST. A copy of the
    license is included in the section entitled "GNU Free Documentation
    License".
   
If you have no Invariant Sections, write "with no Invariant Sections"
instead of saying which ones are invariant. If you have no Front-Cover
Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being
LIST"; likewise for Back-Cover Texts.

If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License, to
permit their use in free software.

劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒劒 

嶕堷

