MPI集羣
集羣計算機是指用一組聯網的PC或工作站來搭建成的,提供比單個PC(節點)計算性能高得多的計算機。
集羣系統(Cluster)主要解決下面幾個問題:
1.高可靠性(HA)。
2.高性能計算(HP)。
3.負載平衡。
HA:利用集羣管理軟件,當主服務器故障時,備份服務器能夠自動接管主服務器的工作,並及時切換過去,以實現對用戶的不間斷服務。
HP:充分利用集羣中的每一臺計算機的資源,實現複雜運算的並行處理,通常用於科學計算領域,比如基因分析,物理與化學分析等。
負載平衡:即把負載壓力根據某種算法合理分配到集羣中的每一臺計算機上,以減輕主服務器的壓力,降低對主服務器的硬件和軟件要求。
在實際應用中,最常見的情況是利用集羣解決負載平衡問題,比如用於提供WWW服務。在這裏主要展示如何使用LVS(Linux Virtial Server)來實現實用的WWW負載平衡集羣系統
1. MPI安裝
1.1 APT安裝
軟件包中包含了mpich,可以直接通過apt-get下載安裝。
sudo apt-get install -y mpich
觀察mpicc版本信息:
mpicc -v
1.2 安裝包安裝
2. 集羣設置
- 安裝SSH,設置SSH免密登錄
- 設置NFS共享目錄
2.1 安裝SSH,設置SSH免密登錄
所謂的公鑰,相當於自家系統的一個身份標識,是公開的。所謂的私鑰,相當於一個認證文件,本質上書寫了允許哪些機器對你進行免密訪問。
2.2 設置NFS共享目錄
3. 基礎編譯壞境配置
在下載與安裝編譯環境之前,爲了使軟件包保持最新的狀態,需要在命令行中鍵入命令sudo apt-get update
,從源服務器下載最新的軟件包列表
sudo apt-get update
:更新apt的資源版本目錄
爲了正常編譯MPI代碼,需要安裝C, C++
與Fortran
的編譯環境。
Ubuntu缺省情況下,並沒有提供這些語言的編譯環境,因此需要手動安裝。
如果單獨安裝這些編譯環境非常麻煩。幸運的是,build-essential
工具提供了許多與編譯相關的軟件包,包括gcc/g++/gfortran
等編譯器、libc6-dev
等必要的庫與其他工具。於是,我們只需要通過包管理器安裝build-essential即可。
apt-get
命令的 -y
選項默認安裝過程中同意所有的默認選擇。
sudo apt-get install -y build-essential
下載與安裝完成後,可鍵入下面的命令觀察gcc版本信息。
gcc -v