網路爆發式增長帶動線上交易與電子商務,熱門 Web 伺服器極易在流量尖峰過載。單顆處理器效能提升有限,科學家轉向「並行運算」——多電腦協同完成任務。
面對負載增長有兩條路:
叢集是獨立電腦系統組成的鬆散耦合多處理器系統,節點間透過網路實現行程間通訊,應用程式可共享記憶體進行訊息傳遞,達到分散式運算。近年微處理器、記憶體、匯流排與網路技術進步,軟體並行技術成熟,廉價 PC/工作站叢集甚至能與超級電腦競爭。例如 16 顆普通微處理器叢集可達億次浮點運算,成本不足 40 萬元。
叢集建構非簡單疊加,各組件需依主要應用調校以達最佳狀態,無標準統一方案。本文拋磚引玉,介紹多種建構方案。
在 Linux 上以 MPICH 套件建構小型四節點叢集,建立基本認知。
/etc/hosts 加入:192.168.1.1 node1 server192.168.1.2 node2192.168.1.3 node3192.168.1.4 node4/etc/hosts.equiv 加入:node1 node2 node3 node4p4 策略執行分散式並行應用。/mirror,/etc/exports 加入:/mirror node1(rw) node2(rw) node3(rw) node4(rw)/mirror,/etc/fstab 加入:server:/mirror /mirror nfs rw,bg,soft 0 0/mirror 供各節點分發軟體任務與共享資料檔。/mirror 下建立子目錄 (如 /mirror/username) 存放 MPI 程式與資料。僅需在伺服器編譯 MPI 程式,複製至專屬子目錄,再以 p4 策略執行。