Journal of Computer Chemistry, Japan
Online ISSN : 1347-3824
Print ISSN : 1347-1767
ISSN-L : 1347-1767
Software News and Review
Rocks : an open source Linux OS for buildinga PC-cluster environment
Shigeru SUEHARA
Author information
JOURNAL FREE ACCESS FULL-TEXT HTML

2015 Volume 14 Issue 4 Pages A25-A32

Details
Abstract

PCクラスタ環境を簡単に構築できるオープンソースのLinux OS: Rocks の特徴を紹介し,インストールする際のポイントを,PCクラスタ構築の未経験者の視点から説明する.また,本格的なジョブ管理システムの導入と,簡単なジョブファイルを用いた具体例も示した.

1 はじめに

読者の皆さんはどのような計算機環境で仕事をなさっておいででしょうか.複数のシミュレーションPCを,常に独立な計算機としてご使用ではありませんか.計算に関わる入出力ファイルを整理するために「あちらのPC」から「こちらのPC」にコピーしたり移動したりしていませんか.コンピュータを利用しているにもかかわらず,こういう不便を不思議に思いつつも,あるいは必要悪と思いつつ,見て見ぬ振りをして日々のシミュレーションを行ってはいませんか.

数値シミュレーションに利用している複数のPCを一纏めに(クラスタ化)して管理し,入出力ファイル類を一元化して使用できたら楽ができるはずです.場合に応じて,各計算機を独立して,あるいは複数のPCをまとめて(並列化して)使うことができれば仕事の効率も上がります(Figure 1).スーパーコンピュータを使った経験のある方は,ジョブ管理システムの便利さをご存知でしょう(Figure 2).ジョブをシステムに投げておくことができたら,マシンタイムを無駄にしてはいけないと夜中や週末に端末の前にまでやってきて,ジョブを“マニュアルスタート” させる必要もなくなり,時間を有効に使えるようになります.

Fig.1.

 “Sun Grid Engine”, a distributed resource management system installed in Rocks OS, allows the cluster-wide computational resources to be used effectively with simple setup and operations.

Fig.2.

 Rocks OS system provides a Web-based interface for checking the cluster operating status.

本稿では,このような問題を簡単に解決できるLinux クラスタ構築用ディストリビューションの1つ,“Rocks OS” (オープンソースウェア)を紹介し,インストール時のコツを簡単に述べたいと思います.

2  Rocks :PCクラスタ環境構築用Linux Cluster OS

Rocksは大変良く知られたCentOS (RedHat系のLinuxの1つ)がベースとなっており,PCクラスタ環境の構築に向けてソフトウェアのパッケージングが強化されたディストリビューションです.インストール後は,並列コンパイル環境(MPI/OpenMPの利用が可能なmpif90/mpif77, mpiccなど)や,ジョブ管理システム(Sun Grid Engine),ファイルやフォルダを共有し一元管理できるネットワークファイルシステム(NFS)などが,ほぼ設定なしで使えるようになっています.また,ハードウェアに,高速ノード間通信が可能なInfiniband (DDR/QDR/FDRなど)ハードウェアが搭載されていれば,多くの場合,それらのデバイスを自動的に認識し,簡単な設定ですぐに利用できるようになっています.

Rocks OSを用いれば,新しい計算ノードの追加も容易ですし,計算資源の管理についても最低限の煩わしさで済むようになります.その運用管理のしやすさから,科学技術計算用PCクラスタを提供するベンダーの一部では,実際にRocksを実装して販売いるところもあります.数値計算を実行するシステムを,個人あるいは研究室レベルで構築・管理するのであれば,オープンソースのRocksの導入を最初に検討して頂きたいところなのですが,どうやら日本での知名度はそれほど高くはなく,ユーザーもあまり多くは存在しないように見受けられます.以下で紹介するように,いつかのポイントに注意しさえすれば,インストールはそれほど難しくはありません.Rocksを使えば,プロが作るようなレベルのPCクラスタ環境を構築することができますから,インストールにトライしてみる価値は十分にあります.

3 1台のPCからでもRocks Cluster は始められる

ジョブ管理システムを含めて,全てのRocksの機能を1台から利用できます.この場合は“フロントエンドノード” 1台のみのPCクラスタ環境になりますが,特に何かの機能が削がれているわけではありません.2台目以降に接続されるPCは全て“計算ノード” となり,新しい計算ノードのインストールは,ネットブートでほぼ自動的に行われます.後々の拡張を考えて,1台目のPCにはイーサネットポートが2つあるものを準備しましょう(1つは外部ネットへの接続,他方は計算ノードが利用するクラスタ内部のネットワークに接続します).

4 Rocksをインストールしてみましょう

Rocksのインストールは多くのLinuxディストリビューションの場合とほとんど変わらず,メニューで促されたいくつかの入力欄を埋めていくだけですが,楽に作業をすすめるための「コツ」があります.それは可能な限り,Rocksが用意した「デフォルト設定」でインストールしていくということです .自己流にカスタマイズしてインストールするのはRocks環境に慣れてからにしましょう.

まず,最初の1台,フロントエンドノードのインストールを行います.

4.1 インストール前の準備

現在使用しているデスクトップ用のPCなどで,Rocksのサイトにアクセス (https://www.rocksclusters.org/)しましょう.続いて,Downloadメニューからインストール用のディスクイメージをダウンロードして,インストールディスクを作成します.この時,Jumboイメージを選択して,DVDでインストールディスクを作成すると,インストール時のディスクの入れ替えがなく便利です.

早速作成したディスクを使って1台目のPC(フロントエンドノード)のインストールにとりかかりたいところですが,その前に,BIOSメニューでHyper-Threading(HT)機能 を OFFにします.また,フロントエンドノードに割り当てられる外部接続のためのネットワーク情報のメモも用意しておきましょう.

HT機能をOFFにするためには,PCの電源投入直後にSET UP用のキー(BIOSメニューに入るためのキー;DELキーかF2キーであることが多い)を押して,BIOS設定画面に入ります.そして,メニューからHyper-Threadingの設定を探しだしてOFFにします.Hyper-Threading機能とは,簡単に言えばインテルCPU内部の処理回路をより効率的に働かせるための機能です.この機能をONにすると,結果として,実コア数(プロセッサコア数)の2倍のコア数が,システムやアプリケーション側から見えるようになります.デスクトップアプリケーション用途のPCであれば,この機能のメリットを活かせる場合もありますが,浮動小数点演算ばかりの単純な科学技術計算用PCでは,BIOSレベルでこの機能をオフにすることが通例となっています.

ネットワーク情報のメモには,eth1に割り当てられる固定IPアドレス,ネットマスクや,そこに接続される外部ネットワークに関する情報(WAN側にあるゲートウェイアドレスやDNSアドレス等)を記しておきます.Rocks OSでは,デフォルトでFigure 3のような構成を想定しており,1台目のフロントエンドノードだけが外部ネットに接続されることに注意してください.また,全てのPC(フロントエンドノードと計算ノード)は,eth0のポートを介して接続され,外側から見えないローカルネットワークを形成します.こちらのネットワークの設定は全てインストーラが自動でやってくれます.

Fig.3.

 Schematic picture of a typical Rocks OS networking. The “eth0” ports of all nodes, i.e. front-end and compute nodes) are connected to an ethernet switch (HUB). The Rocks cluster has a public IP address on the "eth1" port of the front-end node that can be accessed from a public internet (WAN). Optionally, a fast network, "Infiniband" can be utilized for interconnecting all nodes.

4.2 インストール開始 (最初の1台:フロントエンドノード)

いよいよインストールを開始します.まず,インストールDVDを光学ドライブにセットしてPCをブートします.BIOSの設定によってはインストールDVDで起動しない場合もあるかもしれませんが,その時はBIOSメニューでブート時の起動デバイスの優先順位を確認してください.インストールDVDでのブートに成功するとFigure 4のような画面があらわれます.そして,画面左下に“boot:” のプロンプトが表示されたら,すぐに,“build” と打ち込んでリターンキーを押します.

Fig.4.

 Opening/Splash screen (Rocks Version: 6.1.1/Sand Boa).

プロンプト表示後に,“build” と打ち込めず,タイムアウトして先に進んでしまった場合は,PCをリセットして再トライしてください.PCによっては,ごく初期のインストール作業の後に,グラフィカルユーザーインターフェース(GUI)を用いたインストール設定画面(Figure 5)があらわれないことがあります.そのような場合には,buildに続けてオプションパラメータを入力すると対処可能である場合があります(例えば,グラフィックカードドライバの問題であれば,Figure 4にあるように“build nomodeset xdriver=vesa resolution=1024x768” などと入力すれば解決する

Fig.5.

 Installing with the graphical user interface.

以上の作業後,“Waiting for Network Manager to configure eth1” という表示でしばらく停止しますが,ここで,そのままタイムアウトを待ちます.するとGUIインストール設定画面になります(Figure 5).

以降では,インストールするプログラムパッケージの選択やネットワーク環境の情報等を入力していきます.昨今のデスクトップ用Linuxではインストール時に10項目程度の入力しかないものもありますが,それよりは少し多く情報を入力することになります.

まず,Figure 5の“Select Your Rolls” という表示の下の“CD/DVD-based Roll” を選択して,“Next” ボタンを押します.するとRollの選択画面になります.Rocksでは,一連のソフトウェアパッケージがグループ化されており,その一団を“Roll” という単位で扱います.本来目的に応じて必要なRollだけを選択する方が良いはずなのですが,何かパッケージの不足があっては後々面倒ですから,Rollの選択は慎重に行いたいところです.一般的なバンド計算や分子動力学計算パッケージしか利用しない私の場合は,確実に不必要だと思える kvmとbioを除外して,他の全てのRollを選択しています.不安ならば,全てのRollを選択してもよいでしょう.選択が終了したら,“Submit” ボタンを押します.すると,また “Select Your Rolls” の画面(Figure 5に似た画面)に戻りますが,今度は左側に先ほど選択したRollが表示されます.今回はさらに追加するRollはありませんが,アップデートされたRollの追加CD/DVDがある場合はこの画面で対応します.今回はそのまま“Next” ボタンを押して先に進みます.

今度は,構築するクラスタの情報を入力する“Cluster Information” 画面になります.“Fully-Qualified Host Name” は,WAN側から見たフロントエンドノードのフルネームです(外部ネットからアクセスする場合の名前です).例えば,私の場合は,研究所のLAN(nims.go.jp)に,フロントエンドノード(sspc01とします)を接続するので,“sspc01.nims.go.jp” と入力しています.“Cluster Name” の方は,“sspc01” にします.“Certificate Organization” 以降の項目は,構築するPCクラスタが利用する暗号化通信の鍵の認証局を自分にしてしまうための設定ですので,自分達の研究室なり何なりの情報を入力しておけば問題ないでしょう.ただし,“Certificate Country” で,“jp” と入力すべきところを,“japan” などとすると,入力フォーマットが正しくないので警告されます.全て入力し終えたら,“Next” ボタンを押して,次の設定に移ります.

“Ethernet Configuration for Public Network” 画面の“Public Network Interface” の項目は,デフォルトで設定(“eth1” )のままで,“IP address” ,“Netmask” の入力欄には,メモしておいた固定IPアドレスとネットマスクを入力します.そして,“Next” ボタンを押すと,今度は,“Ethernet Configuration for Private Network” (クラスタ内部のネットワーク)の設定画面になります.ここでは,デフォルトで設定された各値(Private Network Interfaceが,eth0であることなど)を確認するのみで変更の必要はありません.“Next” ボタンで先に進みます.最後のネットワーク設定画面 “Miscellaneous Network Settings” では,GatewayアドレスとDNSサーバのアドレスを指定します.後者はコンマで区切って複数指定することもできます(ただしスペースを挟んではいけません).“Next” ボタンで次に進みます.

“Root Password” 画面があらわれたら,パスワードを設定します(確認のためのパスワードの入力も必要です).Root (スーパーユーザー)のパスワードは,PCクラスタの管理・運用に重要で,後ほどすぐに使いますから忘れないようにしてください.“Next” ボタンで先に進みます.“Time Configuration” では,“Time Zone” を“Asia/Tokyo” に設定します.標準時を同期させるための“NTP Server” は所属組織のLANに用意されていることが多いので,LAN管理者に問い合せて教えてもらうか,外部サーバへのアクセスが直接可能であるなら,“npt.nict.jp” などを利用するとよいでしょう.まれにNTPサーバを利用せず,時間が大幅にずれたままでシステムを運用し続けていると,思わぬトラブルを招くことがありますので注意してください(ファイルの更新情報などに矛盾が生じるため).“Next” ボタンを押すと,ハードディスクの分割設定に入ります.

“Disk Partitioning” 画面では,“Auto Partitioning” を設定します.ここで“Next” ボタンを押すと,実際のインストールが開始されます.インストール中,画面下に“Next” ボタンが表示されますが無視します.何もせずしばらく見守っていると画面に進捗状況が表示され,インストールが完了すると,最後に再起動されます.この時,DVDがイジェクトされるので,すばやく取り出します.BIOS設定でHDDより優先的にDVDから起動されるような設定をしていた場合,DVDを取り出す作業を怠ると,リブート後に再度DVDから立ち上がり,先ほどのインストール画面をまた見ることになるので注意が必要です(インストール後にDVDが自動でイジェクトされない場合はBIOSメニューのブート順の設定を変更することで対応してください).再起動後は,ブート進捗バーが画面下にあらわれ,“CentOS” の文字に向かって右側に伸びていきます.最後にGUIのログイン画面があらわれればインストール成功です.

4.3 ユーザーの登録

インストール後の最初の設定として,ユーザーの登録を行います.システム管理者である自分も通常は一般ユーザーとして利用するわけですから,まずは自分を登録しましょう.ログイン画面からrootユーザーとしてログインします (ユーザー名はroot,パスワードはインストール時に入力したもの).そして,メニューから,Applications ⇒ System Tools ⇒ Terminal を選択し,端末アプリケーションを立ち上げます.通常のLinuxと同様に,“useradd” , “passwd” コマンドで新規ユーザーとそのパスワードを設定しますが,ここで,Rocksクラスタ環境特有の注意事項として,ユーザー追加後に,“rocksコマンド” でユーザー情報の同期を行う必要があります(/home以下と/export/home以下がバインドされ,ノード間で各ユーザーのホームディレクトリが共有されるようになります).Rocks OSでの具体的なユーザー登録は以下のようになります.

ユーザー登録: ユーザー名が “suehara” の例

# useradd suehara (ユーザーの追加)

# passwd suehara (パスワードの設定)

# rocks sync users (ユーザー情報の同期)

これで,PC1台で構築された自分用のRocksクラスタ環境ができました.他のユーザーを登録する場合も上記と同様になります.次にジョブ管理システムの設定を行います.

5 ジョブ管理システムを使ってみましょう

5.1 ジョブ管理システム(Sun Grid Engine; SGE)の設定

最初にジョブ管理システムの簡単な設定を行います.rootユーザーでログインしますが,ここで管理者らしく振舞うための練習として,GUIからのログインではなく,CTRL+ALT+F2キー(F2からF6のどれかでもよい)を同時に押して,直接コンソール(端末)画面に入ってみましょう.違和感があれば,GUI画面に戻って(CTRL+ALT+F1キーを押せばGUI画面に戻ります),ログインし,端末アプリケーションを立ち上げてから操作しても構いません.ログインしたら,ジョブ管理システムのインストールコマンドを下記に従って入力します.

# cd /opt/gridengine

# ./install_execd

このコマンド実行中にあらわれる質問には全てReturn(Enter)キーで回答します(デフォルト設定となる).

設定された内容を確認するには,“qconf” コマンドを使います.

# qconf -sq all.q(全ノードが属するキューであるall.qを表示する)

...

slots 1,[sspc01.local=16] (この行を見つける)

...

slotsという行にフロントエンドノードの名前が見つかれば,フロントエンドノード自身が計算ノードとしても登録されています(計算ノードが追加されていくと,この行にそのノードの名前が自動的に追加されていきます).ここで,“sspc01.local=16” とは,フロントエンドノード(sspc01)が,計16コアを有しているということを示しています.もし,BIOS設定でHT機能をONのままインストールしてしまった場合,この値は16ではなく32となっているはずです.その場合は,実コア数の16に修正するために, # qconf -mq all.q (all.qの設定を編集する) で設定ファイル開き直します.編集コマンドはスクリーンエディタの“vi” に準じます(変更なしでの強制終了は“:q!” ,修正して終了は,“:wq” というキー操作になります).この修正を行った場合でも,BIOS設定でHT機能をOFFにすることは忘れないでください.

ジョブ管理システムの設定ファイルを修正した場合は,下記のようにしてジョブ管理システムのサービスを再起動する必要があります(もしくはリブートします).

# /etc/init.d/sgemaster.sspc01 stop

# /etc/init.d/sgemaster.sspc01 start

# /etc/init.d/sgeexecd.sspc01 stop

# /etc/init.d/sgeexecd.sspc01 start

各計算ノードやキューの状態は,“qstat” コマンドで確認できます.

これでジョブ管理システムの設定は終了です.

5.2 ジョブの投入例

早速,ジョブ管理システムを試してみましょう.ジョブ管理システムの利用には,ジョブファイルが必要です.まず,一般ユーザーでログインして,自分のホームディレクトリなどで,下記の内容のファイルを作成してください.ジョブの内容は30秒待って終了するというもので,開始時間と終了時間を出力します.エディタはAccessoriesメニュー以下にあるテキストエディタ等が利用できます(もちろんemacsや viなども利用できます).

ジョブファイルの記述例(ファイル名:test.job)

#!/bin/bash

#

#$ -cwd (カレントディレクトリをワーキングディレクトリにする)

#$ -V  (環境変数を引き継ぐ)

#$ -j y  (エラー出力を標準出にマージする)

#$ -q all.q  (キューはall.qを指定)

#$ -S /bin/bash (このファイルをbashスクリプトとみなす)

date (開始時間を出力)

sleep 30 (30秒だけ待つ処理)

date (終了時間を出力)

上記のファイルができたら,ジョブを投入します.

30秒ほど経過するとtest.job.oXXXX(XXXXはジョブ受付番号)というファイルが作られます.ここにジョブの出力がまとめられています.ジョブを投入した後すぐに,“qstat” コマンドを実行すると,処理待ちや処理中のジョブの情報を見ることができます(終了していると何も表示されません).また,ブラウザを起動して,フロントエンドノード( http://sspc01.nims.go.jp/ )のホームページで動作状況を確認してもよいでしょう(Figure 2).長時間のジョブを途中で強制終了したい場合には,“qstat” コマンドでジョブ受付番号(XXXX)を調べて,“qdel XXXX” とします.

上例はシングルプロセスのジョブでしたが,例えば16並列のMPIジョブ(OpenMPI)の場合の典型的なジョブファイルは以下のようになります(program.xは並列コンパイラで作成した実行ファイル).

ジョブファイルの記述例(16並列ジョブファイル: test16.job)

#!/bin/bash

#

#$ -cwd

#$ -V

#$ -j y

#$ -S /bin/bash

#$ -q all.q

#$ -pe orte 16 (16並列で実行する)

mpirun -np 16 $HOME/bin/program.x

ファイルができたら,ジョブを投入します.

多くのジョブが投入された場合には,PCクラスタ上の上限のコア数までの処理は同時に実行され,残りのジョブは必要なコア数が確保できるまで待ち状態になります(ただし,ジョブ管理システムを介さず,直接コマンドを叩いて即実行されるプログラムについては,このコア数の管理ができないので注意が必要です).

6 計算ノードの追加も簡単

追加のPCを接続して,クラスタ環境を増強してみましょう.計算ノードを追加する場合,そのPCのHT機能をあらかじめオフにしておきます.また,BIOS設定メニューからブートシーケンスの設定を探し,ネットワークブートを優先するように設定しておきます(PXE/LAN boot,あるいはイーサネットボードを挿すような記述がありますのでそれを選択します).LANケーブルの接続については,フロントエンドノードと新たに加えられる計算ノードが,クラスタ内部接続用の“eth0” ポート経由となるようにします(Figure 3参照). この接続で,新しい計算ノードが,そのブート時にフロントエンドノードにアクセスできるようになります.ここまで準備できたら,追加するPCの電源を一度切っておきます.

フロントエンドノードを立ち上げ,rootユーザーでログインし,端末アプリケーションを立ち上げます.そして次のコマンドを実行します.

すると,“Choose Appliance Type” と表示されるので,“Compute” を選択しOKを押します.

次に,先ほど電源を落としたPCをブートし,しばらく待ちます(場合によっては時間がかかります).ネットブートが成功し,フロントエンドノードが新しいPCを発見すると,その旨のメッセージがフロントエンドノード上の画面に表示され,そのすぐ後に,ネットワークカードのMACアドレスと一緒に“compute-0-0 ( )” という表示にかわります.そのままじっと見守っていると,“compute-0-0 (*)” というように先に表示されたメッセージの括弧の中に“*” (アスタリスク記号)があらわれ,インストールがネットワーク越しに開始されます.この段階までくると,新しいノードの追加は終了したも同然なのですが,なんとインストール完了の明確な通知がないのが現在のRocksの仕様のようです.そこで,対処療法として,この画面でF8キーを押して,この作業を終了できればインストール完了,終了できなければ,まだインストール途中であると判断します.インストール完了後,計算ノードが正しく追加されたかどうかは,“qstat -f“コマンド や “ rocks list host “ コマンド,あるいは“qconf -sq all.q” コマンドで表示されるslots行などで確認することができます.

以上で,計算ノードの拡張についてのポイント紹介は終了です.

7 Rocks を使う上でのコツ

Rocks は通常のLinuxと同じですから,その利用について堅苦しく考える必要はありません.ただし,“クラスタ OS” としての側面もありますから,ここでは,それに関連して覚えておいて損のないことを紹介したいと思います.

まず,全ノード間(フロントエンドノード,計算ノードの全て)で共有されるディレクトリを2つ覚えてください./home以下と/share/apps以下です.これらのディレクトリは,自動的にインストールされたNFS(ネットワークファイルシステム)によって,ノード間で共有されており,かつ,取り扱い自由度の高い(神経質にならなくてもよい)場所となっています.(/share/appsはオンデマンドで作成(マウント)されるディレクトリで,最初は存在しませんが,一度読み書きのアクセスをすると自動的に作られます.) 例えば,Rocks OSが用意したデフォルトコンパイラ(OpenMPIやgcc等)ではなく,Intel製コンパイラや,最新版のOpenMPI,あるいはgcc等を利用したいと思った場合,システムが管理するコンパイラのディレクトリを探し出して,そこに慎重にコンパイラのファイル群を配置するよりは,自由に使えるこれらのディレクトリをインストール先として利用する方が安心です(システムに致命的な変更を加える心配がない).コンパイラが用意する共有ダイナミックライブラリ(libxxx.soなど)への各計算ノードからのアクセスに関しても,ディレクトリが共有されているので,もちろん問題がありません.例えば,筆者は/share/apps以下に,intelディレクトリを作成し,そこ(/share/apps/intel)にIntelコンパイラやそれをベースに作成したOpenMPIをインストールしています.また,libxc(交換相関汎関数ライブラリ), libint(分子計算用積分ライブラリ)などの外部ライブラリは,/share/apps/extlibs/以下に配置しています.ユーザー間で共有する必要のない共有ライブラリなどは,ホームディレクトリ(/home/ユーザー名)以下に整理しておくという方法もあります.

次に,運用には欠かせないPCクラスタ環境全体のブートアップとシャットダウンの手続きについてです.ブートアップの順番は,フロントエンドノードの電源を投入し,立ち上がった後,計算ノードの電源を投入します.シャットダウンは逆の順番となります(計算ノード,フロントエンドノードの順でシャットダウン).具体的にはフロントエンドノード上で(rootユーザー権限で) 以下のコマンドを実行します.

# rocks run host command="shutdown -h now" (計算ノードのシャットダウン)

# shutdown -h now (フロントエンドノードのシャットダウン)

電源の切断,投入に関しては,“計算ノードは遅刻・早退” であると覚えてください.

最後のポイントは,PCクラスタの全体の運用かかわる特殊な操作は,“rocksコマンド” にまとめられているということです.“rocks list ~” (設定情報を見る), “rocks set ~” (設定する), “rocks run ~” (実行する)等としてrocksコマンド群が整備されています.これを念頭に置いておけば,数多くのrocksコマンドに眩暈を起こさずにすむでしょう.

Rocks OSのホームページ(http://www.rocksclusters.org/)には沢山の情報がありますが,まずは本稿で挙げたポイントを意識して運用に臨んでみてください.

8 最後に

デスクトップのコンピュータについてはかなり慣れ親しんだ方でも,PCクラスタの構築となると尻込みしてしまうかもしれません.単独のPCの知識だけでなく,ネットワークやサーバの仕組み,それに付随する高度な専門知識も必要とされるのではないかと感じるのが普通だからです.しかし,Rocksのインストールでは,そのバリアを感じることはないでしょう.デフォルトの設定が絶妙で,そのレールにうまく乗ってしまえば,苦労せずにPCクラスタ環境を構築できます.実は,数年前までは,筆者もRocksクラスタの存在を知らず,ネットワークファイルの管理やジョブの管理に手間取りながら,“PCクラスタに似たような何か” を苦労して立ち上げ,運用していました.しかし今では,計算シミュレーション用のPCは全てRocksに置き換わっています.筆者にRocksを紹介して下さった同僚の新井正男博士には大変感謝しております.紙面数の都合上,具体的には紹介できませんでしたが,ハイパフォーマンスPCの世界では標準的に利用されている高速通信ネットワークの“Infiniband” も(そのハードウェアがPC存在していれば),現在のRocks では自動的に認識され,ドライバもインストールされます.あとは簡単な設定をするだけで使えるようになりますので,予算に余裕があれば是非チャレンジしてみてください.

 
© 2015 Society of Computer Chemistry, Japan
feedback
Top