摘 è¦ï¼šæœ¬æ–‡æŽ¢è¨Žå’Œç ”究了基于beowulfé›†ç¾¤çš„â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²çš„æ§‹æž¶ä»¥åŠé—œéµæŠ€è¡“,å°â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²çš„ç ”ç©¶å’Œå»ºè¨æä¾›äº†ä¸€å¥—å¯è¡Œåˆ‡å¯¦çš„解決方案,å°ç›¸é—œçš„ç ”ç©¶å…·æœ‰æŒ‡å°Žæ„義。
é—œéµè©žï¼šbeowulfï¼Œé›†ç¾¤ï¼Œé€æ˜Žå·¥å» ,工æ¥ä»¥å¤ªç¶²
1〠å‰è¨€
  以太網是一種æˆåŠŸçš„ä¿¡æ¯ç¶²çµ¡æŠ€è¡“ï¼Œé€²å…¥å¸‚å ´å·²è¿‘30年了,在辦公自動化ç²å¾—äº†å»£æ³›çš„æ‡‰ç”¨ã€‚ä»¥å¤ªç¶²å…·æœ‰æˆæœ¬ä½Žã€ç©©å®šå’Œå¯é ç‰è«¸å¤šå„ªé»žï¼Œå®ƒå·²ç¶“æˆç‚ºæœ€å—æ¡è¿Žçš„通信網絡之一。以太網的典型通信特點是隨機接入ã€è¼‰æ³¢åµè½ã€ç¢°æ’žæª¢æ¸¬å’Œç«¶çˆæ²–çªã€‚
  然而以太網是為é¢å‘辦公自動化ç‰å¯¦æ™‚æ€§è¦æ±‚ä¸é«˜çš„é ˜åŸŸè€Œè¨è¨ˆçš„ï¼Œå‚³è¼¸å ±æ–‡å…·æœ‰æŽ’éšŠå»¶é²ä¸ç¢ºå®šçš„缺陷,無法ä¿è‰æ•¸æ“šå‚³è¼¸çš„å¯¦æ™‚æ€§è¦æ±‚ï¼Œæ‰€ä»¥ç„¡æ³•åœ¨å·¥æ¥æŽ§åˆ¶ä¸å¾—åˆ°æœ‰æ•ˆçš„ä½¿ç”¨ã€‚éš¨è‘—ç®¡æŽ§ä¸€é«”åŒ–æŠ€è¡“çš„ç™¼å±•ï¼Œè¿«åˆ‡è¦æ±‚能將管ç†å±¤çš„以太網å‘下延伸,直到è¨å‚™å±¤ï¼Œå½¢æˆä¸€å€‹çµ±ä¸€çš„無需數據轉æ›çš„逿˜Žçš„æ•¸æ“šéˆè·¯ã€‚å› æ¤ï¼Œå·¥æ¥ä»¥å¤ªç¶²æŠ€è¡“已經æˆç‚ºäººå€‘關注的é‡é»žï¼Œæœ¬æ–‡ç ”究了基于beowulfé›†ç¾¤çš„â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²æ§‹å»ºçš„æœ‰é—œå•題,為高性能ã€ä½Žæˆæœ¬ã€é«˜æ•¸æ“šè™•ç†èƒ½åŠ›å’Œå¯¦æ™‚æ€§èƒ½çš„å·¥æ¥ä»¥å¤ªç¶²å»ºè¨æä¾›äº†ä¸€å¥—簡單便æ·çš„解決方案。
2ã€ â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²
  2.1 â€œé€æ˜Žå·¥å» â€åŠå…¶ç‰¹é»ž
ã€€ã€€é€æ˜Žå·¥å» 是21世紀æå‡ºçš„ä¸€å€‹å‰µé€ æ€§çš„æˆ°ç•¥ï¼Œå®ƒå°‡æ§‹å»ºäº’é€£ç¶²åŸºç¤Žçš„æŠ€è¡“èˆ‡æ–½è€å¾·è‡ªå‹•化的產å“èžåˆã€‚其宗旨是將ç¾å˜çš„ã€é–‹æ”¾çš„和已經è‰å¯¦çš„æŠ€è¡“å¼•å…¥å¸‚å ´ï¼Œå¾žè€Œæ¶ˆæ¸›å°ˆæœ‰ç³»çµ±çš„é›†æˆéšœç¤™ã€‚逿˜Žå·¥å» 的實施將大大減少系統集æˆçš„工作é‡ï¼Œä¹Ÿæœƒæ¸›å°‘從è¨è¨ˆå’Œæ¦‚念到實際é‹è¡Œç”¢å“çš„æ™‚é–“ã€‚â€œé€æ˜Žå·¥å» â€æ˜¯å»ºç«‹åœ¨æ–°çš„ä¿¡æ¯æŠ€è¡“å’Œé€šè¨ŠæŠ€è¡“åŸºç¤Žä¸Šçš„ï¼Œé€™äº›æŠ€è¡“åŒ…æ‹¬OPC開放ã€è»Ÿä»¶æ¨™æº–å’ŒWeb技術ç‰ã€‚逿˜Žå·¥å» ä¸çš„一個顯著的特點是將Web訪å•的功能擴展到I/O級,從而實ç¾é 程調解I/O的功能,而ä¸åƒ…僅是åœç•™åœ¨è¨ªå•I/Oä¿¡æ¯ã€‚
  2.2 â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²åŠå…¶å¯¦è³ªåˆ†æž
ã€€ã€€â€œé€æ˜Žå·¥å» â€åž‹å·¥æ¥ä»¥å¤ªç¶²æ˜¯å·¥æ¥ä»¥å¤ªç¶²çš„å®Œå…¨è§£æ±ºæ–¹æ¡ˆï¼Œä¹Ÿå°±æ˜¯èªªä¼æ¥ç¶²å¾žä¸Šåˆ°ä¸‹å®Œå…¨æ˜¯ç”±ä»¥å¤ªç¶²çµ„æˆã€‚實ç¾äº†æ•´å€‹å·¥å» å°ç”¨æˆ¶ä¾†èªªæ˜¯â€œé€æ˜Žâ€çš„,如圖1是傳統混åˆåž‹å·¥æ¥ä»¥å¤ªç¶²å’Œâ€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²çš„æ¯”較。
  如圖1å·¦å´a的傳統混åˆåž‹å·¥æ¥ä»¥å¤ªç¶²å…¶å¯¦æ˜¯ä¸€ç¨®æŠ˜ä¸çš„æ–¹æ¡ˆï¼Œä¹Ÿæ˜¯æ¯”較容易實ç¾çš„æ–¹æ¡ˆï¼Œæ˜¯ç›®å‰è¨±å¤šå…¬å¸çš„å·¥æ¥ç¶²çµ¡æž¶æ§‹æ¨¡åž‹ã€‚在工æ¥ç¾å ´çš„管ç†å±¤å’Œè»Šé–“層使用以太網,å‘上å¯ä»¥å’ŒInternet連接,å‘下å¯ä»¥è®€å–車間里å„個控制å系統的狀態信æ¯ã€‚在è¨å‚™å±¤ï¼Œä»ç„¶é‡‡ç”¨ç¨è‡ªçš„ç¾å ´ç¸½ç·šæŠ€è¡“,如CANã€Profibusã€ASI ç‰ã€‚它們與以太網之間通éŽå°ˆç”¨çš„網關連接。這種方案å¯ä»¥æœ€å¤§é™åº¦åœ°åˆ©ç”¨ç¾æœ‰ä»¥å¤ªç¶²æ‰€èƒ½æä¾›çš„通信功能。æ¯å€‹ç¶²é—œæ˜¯ä»¥å¤ªç¶²çš„ç¯€é»žï¼ŒåŒæ™‚也是下é¢å系統的主站。網關å¯ä»¥å¯¦ç¾å°å系統實時的控制,并把å系統內部的信æ¯é€²è¡Œé 處ç†ï¼ŒåªæŠŠä¸€äº›é‡è¦çš„ä¿¡æ¯æŒ‰ç…§TCP/IP çš„å¹€çš„æ ¼å¼ç™¼é€åˆ°ä»¥å¤ªç¶²ä¸Šã€‚
  這種方案的好處是é¿å…以太網直接å°å‚³æ„Ÿå™¨å’ŒåŸ·è¡Œå™¨ç‰åº•層è¨å‚™çš„訪å•,減少了以太網上實時數據的傳é€é‡ï¼Œæ¸›å°‘了沖çªçš„æ©Ÿæœƒï¼Œåœ¨ä¸€å®šç¨‹åº¦ä¸Šé¿å…äº†åœ¨æƒ¡åŠ£çš„å·¥æ¥æ¢ä»¶ä¸‹å‚³è¼¸å¯¦æ™‚數據出ç¾é²å»¶çš„å•é¡Œã€‚ä½†é€™ç¨®æ¨¡åž‹é‚„åªæ˜¯ä¸€å€‹éŽæ¸¡åž‹çš„çµæ§‹ï¼Œå› 為è¨å‚™ç¾å ´ç¸½ç·šçš„ç¹å¤šå”è°åŒæ¨£å½±éŸ¿è‘—終端用戶的使用,而ç¾å ´ç¸½ç·šçš„çµ±ä¸€é–‹æ”¾çš„æ€æƒ³é‚„是沒有完全實ç¾ã€‚åŒæ™‚由于在工æ¥ç’°å¢ƒä¸‹ï¼Œä»¥å¤ªç¶²çš„å¯é 性和數據處ç†èƒ½åŠ›éƒ½æœƒæ”¶åˆ°å½±éŸ¿ï¼Œåœ¨ä¸€å®šç¨‹åº¦æœ‰æ‰€é™ä½Žï¼Œåœ¨é›»ç£å…¼å®¹æ€§æ–¹é¢ä¹Ÿæœ‰å¾…äºŽé€²ä¸€æ¥æé«˜
ã€€ã€€åŸºäºŽæ–°åž‹çš„â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²å…¶ç¶²çµ¡æž¶æ§‹æ¨¡åž‹å¦‚圖1å³å´b所示,其整個網絡是基于統一的å”è°ï¼Œæ‰€ä»¥ç”¨æˆ¶å¯å°å¾žé«˜å±¤çš„管ç†å±¤åˆ°åº•層的è¨å‚™å±¤çš„任一個è¨å‚™é€²è¡Œè¨ªå•,而無需知é“é€™ç¨®è¨ªå•æ˜¯å¦‚何進行的。普通的傳感器ã€åŸ·è¡Œå™¨é€šéŽå·¥æ¥ä»¥å¤ªç¶²I/O模塊連接到以太網上,管ç†å±¤çš„主機å¯é‡‡ç”¨IP訪å•的方å¼èˆ‡å„個è¨å‚™é€²è¡Œé€šä¿¡ã€‚這種方案的優點是ç¾å ´ç›£æŽ§ç¶²çµ¡çš„å…¨é¢è§£æ±ºæ–¹æ¡ˆï¼Œä½†å¯¦ç¾èµ·ä¾†é‚„有許多技術å•題需è¦è§£æ±ºã€‚主è¦è¦å°ä»¥å¤ªç¶²é€²è¡Œé¢å‘實時控制的修改,還è¦åœ¨ç¶²çµ¡å±¤ä»¥ä¸Šå¼•入實時控制算法,彌補以太網在傳輸確定性數據方é¢å…ˆå¤©æ€§çš„ä¸è¶³ã€‚
  而Beowulf 集群技術解決了如何通éŽä½¿ç”¨æ™®é€šPC來é”到高性能ã€é«˜å¯¦æ™‚的計算系統的å•é¡Œã€‚è¿‘å¹´ä¾†ï¼Œé›†ç¾¤ç³»çµ±è¿…é€Ÿç™¼å±•ï¼Œä¸»è¦æ˜¯å› 為集群çµé»žç‚ºå·¥ä½œç«™ç³»çµ±çš„è™•ç†æ€§èƒ½è¶Šä¾†è¶Šå¼·ï¼Œæ›´å¿«çš„處ç†å™¨å’Œæ›´é«˜æ•ˆçš„多CPU機器已大é‡é€²äººå¸‚å ´ï¼Œä»¥åŠå±€åŸŸç¶²æ–°æŠ€è¡“和新å”è°çš„引入,集群çµé»žé–“的通信能ç²å¾—更高的帶寬和較å°çš„å»¶é²ï¼Œé›†ç¾¤ç³»çµ±æ¯”傳統的并行計算機更易于èžåˆåˆ°å·²æœ‰çš„網絡系統ä¸åŽ»ã€‚é›†ç¾¤é–‹ç™¼å·¥å…·æ—¥è‡»æˆç†Ÿï¼Œå…¶åƒ¹æ ¼ä¹Ÿæ„ˆåŠ ä¾¿å®œå¹¶ä¸”æ˜“äºŽæ§‹å»ºã€‚å¦å¤–é›†ç¾¤çš„å¯æ“´å±•性良好,çµé»žçš„æ€§èƒ½ä¹Ÿå¾ˆå®¹æ˜“通éŽå¢žåŠ å…§å˜æˆ–改善處ç†å™¨æ€§èƒ½ç²å¾—æé«˜ã€‚å› æ¤é‡‡ç”¨é›†ç¾¤æŠ€è¡“ä¾†è§£æ±ºâ€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²çš„實施的難題已經æˆç‚ºå¯èƒ½ã€‚下é¢è¨Žè«–如何通éŽå»ºç«‹beowulf集群系統來大大æé«˜å·¥æ¥ä»¥å¤ªç¶²çš„è¨ˆç®—æ©Ÿè™•ç†æ€§èƒ½å’Œæ•¸æ“šå‚³è¼¸èƒ½åŠ›ï¼Œè§£æ±ºå·¥æ¥ä»¥å¤ªç¶²ä¸å¯¦æ™‚性能的關éµå•題,來實ç¾â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²çš„å•題。
[align=center]

(a) 傳統混åˆåž‹å·¥æ¥ä»¥å¤ªç¶²

(b) â€œé€æ˜Žå·¥å» â€åž‹å·¥æ¥ä»¥å¤ªç¶²
圖1ã€å‚³çµ±æ··åˆåž‹å·¥æ¥ä»¥å¤ªç¶²èˆ‡â€œé€æ˜Žå·¥å» â€åž‹å·¥æ¥ä»¥å¤ªç¶²æ¯”較[/align]
3〠Beowulf 集群系統
  集群,是由一組ç¨ç«‹çš„計算機系統構建的一個æ¾è€¦åˆçš„å¤šè™•ç†æ©Ÿç³»çµ±ï¼Œç³»çµ±ä¸å„進程借助網絡實ç¾é€šä¿¡ã€å…±äº«å…§å˜å‚³éžä¿¡æ¯ï¼Œå¾žè€Œå¯¦ç¾åˆ†å¸ƒå¼å¹¶è¡Œè¨ˆç®—。一組廉價的微機å”åŒå·¥ä½œå¯ä»¥é”到超級計算機的性能。目å‰ï¼Œé›†ç¾¤å·²ç¶“æˆç‚ºå„é«˜æ€§èƒ½è¨ˆç®—æ©Ÿå» å•†çš„ç ”ç©¶ç†±é»žã€‚
  Beowulf的定義至今還有çˆè°ï¼Œä½†å¤§å¤šæ•¸äººå·²ç¶“è´ŠåŒå°‡ç”¨å¸‚售微機構建的廉價計算集群的稱為Beowulf系統。第一個Beowulf于1994年誕生于美國航空航天局的戈é”德空間飛行ä¸å¿ƒï¼Œè©²ä¸å¿ƒç§‘å¸å®¶Sterling和他的åŒäº‹ï¼Œå°‡16臺Intel486微機用標準以太網連接æˆä¸€å€‹è¨ˆç®—集群,ç²å¾—70å…†flopsçš„æŒçºŒé‹ç®—èƒ½åŠ›ï¼Œå»ºé€ è©²é›†ç¾¤åƒ…è²»4è¬ç¾Žå…ƒï¼Œè€Œç•¶æ™‚å¸‚å ´ä¸Šå‡ºå”®çš„å…·æœ‰ç›¸åŒæ€§èƒ½çš„超級計算機約為100è¬ç¾Žå…ƒä¸€è‡ºã€‚Beowulf ç³»çµ±æ‰€å…·æœ‰çš„åƒ¹æ ¼å„ªå‹¢æ˜¯å‚³çµ±çš„å¹¶è¡Œè¨ˆç®—æ©Ÿæ‰€ç„¡æ³•æ¯”æ“¬çš„ã€‚
  Beowulf系統除了強大的計算能力和極為優越的性價比,還具有其它諸多優點。首先,它ä¾è³´çš„都是一些æˆç†Ÿçš„ã€å®¹æ˜“ç²å¾—的計算機技術和è¨å‚™ï¼Œä¸å˜åœ¨æŠ€è¡“上的風險。其次,很多構建Beowulf系統所用的軟件å¯ä»¥å…費從Internet網上下載,構建方法手冊ã€å¹«åŠ©æ–‡ä»¶ç‰éƒ½å¯ä»¥åœ¨Internet網上ç²å¾—,這ä¸ä½†é™ä½ŽBeowulfç³»çµ±çš„æˆæœ¬ï¼Œä¹Ÿä½¿ç³»çµ±çš„æ§‹å»ºè¼ƒç‚ºå®¹æ˜“。第三ã€å¾®æ©Ÿæ˜¯æ‡‰ç”¨æœ€ç‚ºå»£æ³›ï¼Œæœ€ç‚ºå»£å¤§ç§‘ç ”å·¥ä½œè€…ç†Ÿæ‚‰çš„ä¸€é¡žè¨ˆç®—æ©Ÿï¼ŒBeowulfç³»çµ±èˆ‡ç¾æœ‰è»Ÿã€ç¡¬ä»¶çµåˆï¼Œå…許用戶在一個熟悉的硬件和軟件環境下開發,調試和é‹è¡Œå¹¶è¡Œç¨‹åºï¼Œé€™ç‚ºä½¿ç”¨è€…帶來了很大的方便。第四ã€Beowulfç³»çµ±å…·æœ‰è‰¯å¥½çš„ç§»æ¤æ€§ï¼ŒåŒæ™‚Beowulf系統亦具有良好的å¯ä¼¸ç¸®æ€§ï¼Œé€™å°ç³»çµ±çš„æ§‹å»ºã€ç¶è·ä»¥åŠè³‡æºçš„充分利用都å分有利。
4〠基于beowulfé›†ç¾¤çš„â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²çš„ç ”ç©¶èˆ‡å¯¦ç¾
  4.1 beowulf集群系統的構建
  PC集群屬于高性能集群計算ã€å¹¶è¡Œè¨ˆç®—技術ä¸çš„一種,集群構建時組æˆéƒ¨åˆ†å¯æ ¹æ“šè¦é‹è¡Œçš„ä¸»è¦æ‡‰ç”¨é€²è¡Œèª¿æ•´ï¼Œå› æ¤ï¼Œæ§‹é€ 集群系統的方案å¯ä»¥æ ¹æ“šå…·é«”需è¦èª¿æ•´ã€‚而Beowulfé›†ç¾¤ä¸»è¦æ˜¯ä½¿ç”¨æ™®é€šçš„ã€ç›¸å°å»‰åƒ¹çš„è¨ˆç®—æ©Ÿæ§‹å»ºèƒ½å¤ è™•ç†ç¹é‡è¨ˆç®—的集群。這里我們采用PC集群構建Beowulf 集群系統。Beowulf PC集群系統采用通用PC作為節點,其å„個節點由基于Intelã€é‹è¡ŒLinux或Windowsç‰é€šç”¨æ“作系統的節點計算機緊密集æˆï¼Œå®ƒä¹Ÿå¯ä»¥å˜åœ¨å¤šå€‹ç¶²çµ¡é€šä¿¡æ¨¡å¼æˆ–路徑,在工æ¥ä»¥å¤ªç¶²ç’°å¢ƒä¸‹æˆ‘們這里都采用以太網通信。
[align=center]

圖2ã€Beowulf PCé›†ç¾¤ç³»çµ±æ‹“æ’²çµæ§‹ç¤ºæ„圖[/align]
  如圖2所示,我們采用16臺CPU為PIV-2.66GHzã€å…§å˜ç‚º512Mã€ç¡¬ç›¤ç‚º80GB/7200RPMã€é…有雙網å¡çš„æ™®é€šPC機作為節點組æˆé›†ç¾¤æ©Ÿï¼Œå¯¦ç¾åŸºäºŽæ¶ˆæ¯å‚³éžçš„分布å¼å…§å˜çš„并行Beowulf PC集群系統。采用CISCO2900XLç³»åˆ—äº¤æ›æ©Ÿï¼ˆ24å£/100Mï¼‰ï¼Œå°‡äº¤æ›æ©Ÿè¨ç½®ç‚º3個虛擬網段,其ä¸çš„一個網段è¨ç½®ç‚ºä¿¡æ¯æŽ¥æ”¶ç¶²æ®µï¼ˆLAN1) ,å¦ä¸€å€‹ç¶²æ®µè¨ç½®ç‚ºä¿¡æ¯ç™¼é€ç¶²æ®µï¼ˆLAN2 )。LAN1åªè² 責接收來自節點計算機的消æ¯ï¼Œå°‡æŽ¥æ”¶åˆ°çš„æ¶ˆæ¯ç™¼é€åˆ°LAN2çš„å„個端å£ï¼ŒLAN2將消æ¯ç™¼é€åˆ°ç›¸æ‡‰çš„節點計算機,以使å„節點計算機的兩個網å¡åˆ†åˆ¥é€²è¡Œæ¶ˆæ¯çš„發é€å’ŒæŽ¥æ”¶ï¼Œæé«˜æ¶ˆæ¯å‚³éžçš„é€Ÿåº¦ã€‚äº¤æ›æ©Ÿçš„第3個網段用于將系統與局域網連接,從而實ç¾é 程登錄æœå‹™ç‰åŠŸèƒ½ã€‚
  為é”到更快的é‹è¡Œé€Ÿåº¦ï¼Œå¯æ¸…除å„節點æ“作系統ä¸ä¸å¿…è¦çš„æœå‹™ä»¥æé«˜æ‡‰ç”¨ç¨‹åºçš„執行效率,并且å¯ä»¥é‡‡ç”¨å°‡NFS通訊和數據通訊分別ç¶å®šåœ¨ä¸åŒç¶²å¡ä¸Šçš„æ–¹æ³•æé«˜æ•¸æ“šå‚³è¼¸é€Ÿåº¦ï¼Œç”šè‡³å¯ä»¥åœ¨æ¯å€‹ç¯€é»žå®‰è£ä¸‰å¡Šç¶²å¡ï¼Œå…¶ä¸ä¹‹ä¸€ç¶å®šNFS,å¦å…©å¡Šç¶å®šæ•¸æ“šé€šè¨Šï¼Œé”åˆ°é«˜é€Ÿé€šä¿¡çš„ç›®çš„ã€‚åŒæ¨£é‡‡ç”¨ä»¥ä¸ŠæŠ€è¡“,å°äºŽ48個ATHLON 1G節點的Beowulf系統,其峰值é‹ç®—速度å¯ä»¥é”到38Gflops/sec。
  4.2 軟件環境的æå»º
  通常在Beowulf集群上é‹è¡Œçš„軟件是 Linuxæ“作系統ã€å¹¶è¡Œè™›è™•ç†æ©Ÿ PVM(Parallel Virtual Machine),和消æ¯å‚³éžæŽ¥å£MPI(Message Passing Interfaceï¼‰ã€‚é›†ç¾¤ç’°å¢ƒä¸æ‡‰ç”¨è¼ƒå¤šçš„æ˜¯æ¶ˆæ¯å‚³éžæ¨¡åž‹ã€‚消æ¯å‚³éžæ¨¡åž‹ç‚ºç·¨ç¨‹è€…æä¾›äº†éˆæ´»æ€§ä½†å»å°‡å„個并行執行部分之間復雜的信æ¯äº¤æ›å’Œå”èª¿æŽ§åˆ¶çš„ä»»å‹™äº¤çµ¦äº†ç·¨ç¨‹è€…ï¼Œå¢žåŠ äº†ç·¨ç¨‹è€…çš„è² æ“”ï¼Œé€™æ˜¯æ¶ˆæ¯å‚³éžç·¨ç¨‹æ¨¡åž‹çš„劣勢。
ã€€ã€€ç›®å‰æ¯”較æµè¡Œçš„æ¶ˆæ¯å‚³éžè»Ÿä»¶æ˜¯å¹¶è¡Œè™›æ“¬æ©ŸPVM(parallel virtual machine)和消æ¯å‚³éžæŽ¥å£MPI(message passing interface)。MPI是一個顯示的消æ¯å‚³éžæ¨¡å¼ï¼Œåœ¨å…¶ä¸ï¼Œä»»å‹™é€šéŽç™¼é€æ¶ˆæ¯ç›¸äº’通信。其最大的優點是高性能,點到點通信函數模型ã€å¯æ“作數據類型都比PVMè±å¯Œï¼Œç¾¤çµ„通信的函數庫也更大,但是ä¸å¦‚PVMéˆæ´»ã€‚MPIå’ŒPVM都æä¾›äº†ä¸€å¥—å‡½æ•¸é›†ï¼Œä¸”å„æœ‰æ‰€å°ˆã€‚它們能在所有的并行平臺上é‹è¡Œï¼ŒåŒ…括PVPã€SMPã€MPP(massively parallel processor)ã€å·¥ä½œç«™å’ŒPC組æˆçš„集群系統,并已經在Windows平臺上實ç¾ï¼Œæä¾›äº†å°Cã€Fortranå’ŒJava語言的ç¶å®šã€‚Beowulf集群系統的微機æ“作系統多為:UNIXã€Linuxã€WindowsNT/2000/XP。它們都具有很強網絡支æŒåŠŸèƒ½å’Œå¯é 性。其ä¸Linux作為著å的開放æ“作系統,å¯ä»¥åœ¨Internet上å…費下載,被多數Beowulf系統作為æ“作系統。
ã€€ã€€åœ¨å¯¦éš›çš„é …ç›®å¯¦æ–½ä¸é‡‡ç”¨äº†Redhat Linux9.0æ“作系統,安è£å¥½LinuxåŽï¼Œå°Linux進行網絡é…置。在所有的çµé»žå¾®æ©Ÿä¸Šå®‰è£TCP/IP網絡å”è°ï¼Œå¹¶å°‡æ‰€æœ‰çš„çµé»žå¾®æ©Ÿè¨ç½®ç‚ºåŒä¸€å·¥ä½œçµ„,çµé»žå¾®æ©Ÿå®šç¾©ä¸åŒçš„網絡å以便å€åˆ†ã€‚å†å°‡çµé»žå¾®æ©Ÿä¸Šå®‰è£MPI軟件MPICH1.2.5.2作為集群的支æ’環境,并把å˜å„²å¹¶è¡Œç¨‹åºçš„ç¡¬ç›¤åˆ†å€æˆ–文件夾è¨ç½®ç‚ºå…±äº«ã€‚
  4.3 Beowulfé›†ç¾¤ç³»çµ±åœ¨â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²ä¸çš„實施
[align=center]

圖3ã€åŸºäºŽBeowulfé›†ç¾¤çš„â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²æ‹“æ’²çµæ§‹åœ–[/align]
  基于Beowulfé›†ç¾¤çš„â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²æ§‹æž¶å¦‚圖3,Beowulf集群系統在新的工æ¥ä»¥å¤ªç¶²ä¸å’Œé€šç”¨è¨ˆç®—機一樣連接到ä¸å¤®äº¤æ›æ©Ÿï¼Œæ•´å€‹ç¶²çµ¡åˆ†ç‚º4層,分別是計算機管ç†å±¤ï¼ˆè¨ˆç®—機ä¸å¿ƒï¼‰ï¼Œç®¡ç†äººå“¡å±¤ï¼ˆç®¡ç†å±¤ï¼‰ï¼Œè»Šé–“層(生產線上工æ¥PC機)以åŠè¨å‚™å±¤ï¼Œå„層通éŽé«˜é€Ÿä¸å¤®äº¤æ›æ©Ÿé€£æŽ¥ï¼Œå¦å¤–通éŽInterneté 程管ç†äººå“¡å¯ä»¥æŽ¥å…¥ï¼Œå°æ•´å€‹â€œé€æ˜Žå·¥å» â€é€²è¡Œæ“控。當然,è¦å¯¦ç¾å®Œå…¨æ„ç¾©ä¸Šçš„â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²ï¼Œé‚„需è¦è§£æ±ºCSMA/ CD ç›£è½æ©Ÿåˆ¶çš„安全å•題,數據的沖çªå•題ç‰ç‰å…¶å®ƒæœ‰é—œçš„å•題,這里é™äºŽç¯‡å¹…,ä¸ä¸€ä¸€è¨Žè«–。
5ã€æ€§èƒ½æ¸¬è©¦èˆ‡çµæžœåˆ†æž
  工æ¥ä»¥å¤ªç¶²çš„æ¸¬è©¦é€šå¸¸åŒ…括以下幾個é‡è¦çš„æŒ‡æ¨™ï¼šï¼ˆ1)最大響應時間。å°äºŽæ¯å€‹ç¯€é»žçš„å ±æ–‡ï¼Œåœ¨ç¶²çµ¡æ£å¸¸é‹è¡Œçš„æƒ…æ³ä¸‹ï¼Œå ±æ–‡å¾žç™¼é€åˆ°æŽ¥æ”¶åŽç”¢ç”ŸéŸ¿æ‡‰æ‰€ç¶“æ·çš„æœ€å¤§çš„延鲿™‚間。(2)數據包丟失率。在æ£å¸¸å·¥ä½œçš„æƒ…æ³ä¸‹ï¼ŒæŒ‡å®šæ™‚間內數據包的丟失數目。(3)傳輸介質。普通以太網傳輸介質在工æ¥ç¾å ´çš„æ¸¬è©¦çµæžœå¹¶ä¸ä»¤äººæ»¿æ„。以太網的傳輸介質是å¦èƒ½ä¿è‰æ•¸æ“šç©©å®šã€å¯é 地傳輸是é‡è¦çš„鏿“‡æ¨™æº–。(4)傳輸速率。在網絡æ£å¸¸å·¥ä½œçš„æƒ…æ³ä¸‹ï¼Œå–®ä½æ™‚間所能傳é€çš„æ¯”ç‰¹ä½æ•¸ã€‚
ã€€ã€€ä»¥å‹•æ…‹é€šä¿¡é‡æ¿¾æ³¢åž‹å·¥æ¥ä»¥å¤ªç¶²çš„的標準測試æ¢ä»¶ï¼šå¹€é•·åº¦512 Byte ,測試時間600s,幀間è·9.6μsåšæ¸¬è©¦ã€‚æ¸¬è©¦çµæžœå¦‚下:通信é‡ï¼š300MB/s,最大響應時間:187.3ns;丟失幀數:11ã€‚ç”±æ¸¬è©¦çš„çµæžœå¯è¦‹ï¼Œåœ¨å¯¦æ™‚æ€§è¦æ±‚䏿˜¯æ¥µé«˜çš„å·¥æ¥å ´åˆï¼Œé€™ç¨®æ–¹æ¡ˆå·²ç¶“完æˆå¯ä»¥æ»¿è¶³è¦æ±‚ã€‚ä»¥ä¸Šæ–¹æ¡ˆåœ¨å¤ªé™½èƒ½é›»æ± ç”Ÿç”¢ç·šçš„å·¥æŽ§æ©Ÿç®¡ç†å’ŒæŽ§åˆ¶çš„å¯¦æ–½ä¸æˆæœ¬ç¯€ç´„了近80%ï¼Œè€ŒåŒæ¨£é”到了良好的效果。
6ã€çµè«–與展望
  本文討論了如何構建基于Beowulfé›†ç¾¤çš„â€œé€æ˜Žå·¥å» åž‹â€å·¥æ¥ä»¥å¤ªç¶²ï¼Œè©²ç³»çµ±é‡‡ç”¨ç”±å¾®æ©ŸåŠé«˜é€Ÿä»¥å¤ªç¶²çµ¡çµ„æˆçš„分布å¼ã€åŒæ§‹ã€å°ç‰é›†ç¾¤çµæ§‹å½¢å¼ï¼Œç”±16臺微機組æˆçš„Beowulf集群系統擔當了以太網ä¸è¨ˆç®—ä¸å¿ƒèˆ‡æ•¸æ“šè™•ç†ä¸å¿ƒçš„é‡ä»»ï¼Œé”åˆ°äº†é«˜æ€§èƒ½è¶…ç´šè¨ˆç®—æ©Ÿçš„æŒ‡æ¨™ã€‚è€Œä»¥å¤ªç¶²ç”±äºŽçµæ§‹ç°¡å–®ã€æ§‹é€ 容易,å¯ä»¥ä½Žå»‰çš„åƒ¹æ ¼ç²å–較高的局域網數據傳輸性能, å› è€Œä¹Ÿå’ŒBeowulf 集群系統相輔相æˆï¼Œå…±åŒè§£æ±ºäº†å·¥æ¥ä»¥å¤ªç¶²çš„æ•¸æ“šå‚³è¼¸å¯¦æ™‚å•題。
åƒè€ƒæ–‡ç»ï¼š
  1.Korch M,Rauber T. Evaluation of Task Pools for the Implementation of Parallel Irregular Algorithms[C]. Proceedings of the International Conference on Parallel Processing Workshops, 2002.
  2.æŽè²´æ˜Ž.俞國æš.ç¾…å®¶èž.基于Linuxçš„Beowulf集群的實ç¾[J].計算機工程.2003: 29(II).
  3.王韜.æŽæ›‰æ˜Ž.SMP Cluster:如何開發兩級并行[J].計算機工程與科å¸.2002,24(4).
  4.æŽç¿€,ç¾…å®¶èž,王è¯å¿ . 基于BEOWULFçš„PC集群系統è¨è¨ˆåŠå¹¶è¡Œç·¨ç¨‹çš„ç ”ç©¶[J].微計算機信æ¯.2005,21(8-3):64-67