...

知っておきたい SoftLayerの基礎知識

by user

on
Category: Documents
168

views

Report

Comments

Transcript

知っておきたい SoftLayerの基礎知識
HPC on SoftLayer
構築ガイド (Ver1)
2015年 5月
日本アイ・ビー・エム株式会社
HPC on SoftLayer 構築ガイド
目次
• はじめに
• 知っておきたいSoftLayerの基礎知識
• OSSで構築するHPCクラスタシステム概説
• HPCクラスタシステムデザインパターン
• IBM SoftLayerを使う準備
• HPC用ノードをオーダーする ヘッドノード:仮想サーバー
• HPC用ノードをオーダーする 演算ノード:ベアメタルサーバー
• 共有ストレージをオーダーする
• HPCクラスタソフトウェアをセットアップする
• OpenFOAMをセットアップしてみる
• 高速ファイル転送プログラム HSCPをセットアップする
• 参考情報
3
4
12
17
22
25
30
43
50
61
67
72
IBM Japan Copyright 2015
2
はじめに
本書はHPC(High Performance Computing)クラスタシステムを、クラウド(IaaS)環境で構築するための
ガイドです。IaaS には IBM SoftLayer を採用しています。
SoftLayer を利用した HPCクラスタシステムのデザインパターンから各役割ノードの構築・設定と、簡単
な利用⽅法、ジョブスケジューラや開発環境などのミドルウェアの設定と、アプリケーションの利用例と
してOSSの流体解析ソフトウェアOpenFOAMの構築⽅法を解説しています。
対象読者
クラウドでHPCクラスタを組んでみようという技術者の⽅
必要なスキル
Linuxのスキル(Linux OSを使ったことがある、OSSを導入したことがある など)
ご注意事項
1. 本書は、2015年4月現在のIBM SoftLayerのIaaS基盤を利用しています。SoftLayerのサービス内容
は常に進化しておりサービスの名称、内容や制限事項、ポータルの画⾯表⽰イメージなどが異なる場
合があります。
2. 本書に沿って構築を⾏う場合、IBM SoftLayerの利用者登録が必要になります。 また、無償評価枠を
超えた利用に関しては別途システム利用料が従量課⾦(時間課⾦または月額課⾦)されます。IBM
SoftLayerの無償評価アカウントの作成⽅法については下記URLをご参照の上、事前にご準備ください。
http://www.ibm.com/cloud-computing/jp/ja/softlayer_freecloud.html
3. 本書に従ってシステムを構築した際の不具合、障害、その他課⾦など発⽣しうる⼀切の問題の責任は
負いかねます。
4. 評価に利用するデータなどは、評価用のサンプルデータなどをご用意ください。
IBM Japan Copyright 2015
3
基礎知識
HPC概説
デザインパターン
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
知っておきたい
SoftLayerの基礎知識
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
4
基礎知識
HPC概説
知っておきたいSoftLayerの基礎知識
① SoftLayer サービス ポートフォリオ
デザインパターン
IBM SoftLayerとは
IBM SoftLayer はIBMが提供するクラウドサービス(IaaS)です。
物理サーバーであるベアメタルサーバーをはじめとする豊富なサービスを⾃由に組み合わせてインフラを構築できるのが特徴です。
オーダー(VM)
すべての機能は「Webポータル」から制御可能です。また数千を超える豊富なAPI を使ってシステムを構築できるのも特徴です。
下記に、SoftLayerが提供するサービスのポートフォリオを⽰します。
オーダー(ベアメタル)
オーダー(NAS)
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
5
基礎知識
HPC概説
知っておきたいSoftLayerの基礎知識
② 世界中のDC間の⾼速データ転送無料なバックボーンを準備
デザインパターン
グローバルに展開するデータセンターとそれを繋ぐ強⼒なネットワーク
オーダー(VM)
IBM SoftLayer は 米国を中心に各国の主要都市にデータセンターを設置し、さらにそのバックエンドのデータセンター間接続を10G40Gbpsの高速回線で結んでいます。 さらにデータセンター間のネットワークを利用したデータ転送料⾦は無料です
(データ転送に課⾦する他のクラウドサービスに⽐べこの点は⼤きなメリットと⾔えます)
参照先:http://www.softlayer.com/data-centers
オーダー(ベアメタル)
オーダー(NAS)
HPCソフトウェア
OpenFOAM
ファイル転送
IBM Japan Copyright 2015
参考情報
2015年4月アムステルダムに二箇所目のデータセンターが開設しました。 (東京は2014年12月開設済)
以降は、インド(チェンナイ)、イタリア(ミラノ)、ニューヨーク、ブラジル(サンパウロ)、中国(北京)
に展開予定です。
6
基礎知識
HPC概説
知っておきたいSoftLayerの基礎知識
③物理サーバー(ベアメタル)も選択可能
デザインパターン
非仮想化も専有も共有も自在に扱えるサーバー・リソース
IaaSであるSoftLayerが他社クラウドを⼤きく違う点としてサーバー・リソースの実装の多さにあります。純粋に物理サーバーを専有できる
ベアメタルサーバーと、仮想サーバー(専有と共有)が選択可能です。
オーダー(VM)
HPCという観点ではベアメタルサーバーが選択できるのは⼤きなアドバンテージになります。
また各国のデータセンターでほぼ同様の構成が構成できる均⼀性も⼤きなアドバンテージになります。 下記にその詳細を⽰します。
オーダー(ベアメタル)
オーダー(NAS)
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
7
基礎知識
HPC概説
知っておきたいSoftLayerの基礎知識
④SoftLayerが取得している認証関連の情報
デザインパターン
SoftLayerがもつセキュリティ認証と運用ツール
オーダー(VM)
データーセンターの物理的な安全性(Tier3)から、取得済みの各種セキュリティの認証、セキュアな運用を実現する運用ポリシーとツール
など、最善を尽くしたものになっています。また品質の均⼀性も考慮されており、世界中どのデータセンターでも同じ基準と品質を維持して
いるのも⼤きな特徴です。 HPCソリューションの様な⼤事なデータをやりとりするためにはこのような基準は最低限満たしおけば安心と⾔え
ます。下記にその認証関連の情報を⽰します。
オーダー(ベアメタル)
オーダー(NAS)
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
8
基礎知識
HPC概説
知っておきたいSoftLayerの基礎知識
⑤課⾦の仕組み (クレジットカード払いの場合)
デザインパターン
キーワードは「アニバーサリーデート(ABD)」
オーダー(VM)
SoftLayerは、サービスによって月額課⾦と時間課⾦があります。基本は月に1回その精算があります。 これは契約した日付を基準に算定が
⾏われています。 下記にその課⾦モデルを紹介します。また請求書払いの契約(別途日本IBMとの個別契約が必要)は異なるポリシーが適用さ
れます。ご注意ください。このポリシーは変更されることがあります。申し込み時のMSA(規約)も併せて確認ください。
オーダー(ベアメタル)
オーダー(NAS)
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
9
基礎知識
HPC概説
知っておきたいSoftLayerの基礎知識
⑥デバイスキャンセルポリシーとそのタイミング
デザインパターン
デバイス不要時のキャンセルについて
利用が終了したデバイスはポータルから「Cancel」を選択することで可能です。 しかしなら月額課⾦のサービスもあります。サービス毎に
下記のポリシーが存在しますので、あらかじめ把握しておくと良いでしょう。
実際に削除される
タイミング
課⾦がらみで
誤解しやすい点
仮想サーバー(時間)
任意
即時
仮想サーバー(月)
任意、まはた次のABD
即時、または次のABD
ベアメタル(時間)
任意
即時
ベアメタル(月)
任意
次のABD
ABD前に削除しても未使用日数分の返
⾦はない
IPアドレス
任意
即時
ABD前に削除しても未使用日数分の返
⾦はない
オブジェクト・ストレー
ジ
任意
即時
たとえ削除したとしても、ABDまでに
利用した最⼤容量が課⾦対象
イメージ・テンプレート
任意
即時
たとえ削除したとしても、ABDまでに
利用した最⼤容量が課⾦対象
オーダー(ベアメタル)
削除を依頼できる
タイミング
オーダー(VM)
サービスの種類
オーダー(NAS)
ABD前に削除しても未使用日数分の返
⾦はない
HPCソフトウェア
OpenFOAM
ファイル転送
IBM Japan Copyright 2015
参考情報
課⾦の仕組みは変更する可能性があります。こちらに掲載されているいかなる情報について、
⼀切の責任、また賠償責任を負いません。詳細および最新情報はSoftLayerのwebサイトをご参照ください。
10
基礎知識
HPC概説
知っておきたいSoftLayerの基礎知識
⑦SoftLayerのネットワーク構成
デザインパターン
SoftLayer デザインパターン設計で重要なネットワーク構成
オーダー(VM)
SoftLayerでHPCクラスタシステムを組む際に、把握しておきたいのがSoftLayerのネットワーク構成です。今回演算ノードに採用するベアメ
タルサーバーは標準で5つの物理LANポートで構成されデータセンターに置かれています。それぞれ2本がPublic Network(外部)、Private
Network(内部)に割り当てられ、残りの1本がManagement Network(管理用)となっています。下記にその概念図を⽰します。それぞれ
Publicが赤、Managementが緑、Privateが⻘で表現されています。 実際に同じ色のLANケーブルでデータセンター内で構成されています。
オーダー(ベアメタル)
Private Network のデータ転送には⼀切課⾦がかからないので、HPCクラスタシステムで⼤きなデータ転送を⾏っても安心です。 またベア
メタルサーバーは10Gbpsもサポートしていますので帯域も十分です。
インターネット側への通信については月額20TB分までが、ベアメタルサーバーの利用料⾦に含まれています。
オーダー(NAS)
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
11
基礎知識
HPC概説
デザインパターン
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
OSSで構築する
HPCクラスタシステム概説
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
12
基礎知識
HPC概説
OSSで構築するHPCクラスタシステム概説
HPCクラスタを構築する上で理解しておくべき用語(1)
デザインパターン
HPCクラスタシステム
オーダー(VM)
HPC(High Performance Computing)分野で主流となっているシステム実装です。x86サーバーを複数のネットワークで接続した構成が主流
です。オペレーティングシステムは LinuxやWindows、HPCに必要な各種ミドルウェアもOSSで構成できます。総じて「HPCクラスタ」や
「クラスタシステム」「クラスタ」と略されて呼ばれます。
ヘッドノード(管理サーバー)
オーダー(ベアメタル)
多くのHPCクラスタシステムでは、このヘッドノードのみが外部ネットワークと接続され、ユーザーとのインターフェイスが集約されていま
す。後述の「ジョブスケジューラ」のマスターサーバーの機能で各演算ノードへ割り振る計算ジョブの管理を担います。他には、各演算ノー
ドの管理・監視やユーザー管理などを⾏うゲートウェイでもあります。
また、ヘッドノードは例えば、ファイルサーバーや開発サーバー(コンパイル・デバッグなどを実⾏する)、⽐較的小さなHPCクラスタシステ
ムの場合は、演算ノードも兼ねている場合もあります。
オーダー(NAS)
演算ノード(計算サーバー)
HPCソフトウェア
主にユーザーの計算を担当するサーバー(ノード)です。複数台のサーバーで構成されます。高速な演算環境を実現するために、演算ノードに
はその時点で最新かつ最速なCPUと⼤容量メモリ(64GB以上)を採用することが多いです。各演算ノード間はネットワーク(1G/10Gbps
Ethernet)もしくはHPCクラスタシステム専用高速インターコネクト(InfiniBand)で接続されています。
その台数規模は、数台から数万台といった範囲になります。
ファイルサーバー(NFSサーバー)
OpenFOAM
各演算ノードで共有ディスクを参照して並列計算を⾏う場合に必要なサーバーです。Ethernetで構成される中小規模のHPCクラスタシステム
の場合はNFSサーバーで共有することが多いです。あるいは計算に必要な scratchディレクトリをNFSで定義している場合もあります。
ファイル転送
後述のHPC専用高速インターコネクトでシステムが構成されている場合は高速なファイル共有の仕組みを持ったHPC専用高速共有ストレージ
(LustreやGPFS等)が構成されている場合もあります。 本書ではNFSサーバーを基本に構成していきます。
また、ファイルサーバーも基本的には外向けネットワークを構成し、外部マシンからのファイル転送を受け入れる構成が主流です。通常は
SCP等を使って⾃身のマシンからHPCクラスタシステムにファイルを転送して計算を⾏います。ヘッドノードがファイルサーバーを兼ねた構
成も多く存在します。
参考情報
IBM Japan Copyright 2015
13
基礎知識
HPC概説
OSSで構築するHPCクラスタシステム概説
HPCクラスタを構築する上で理解しておくべき用語(2)
デザインパターン
HPC用⾼速インターコネクト InfiniBand (インフィニバンド)
オーダー(VM)
HPC分野で主流となっている高速インターコネクトです。特に広帯域、低レイテンシが評価され世の中のx86サーバーベースのHPCクラスタ
システムのほぼすべてで採用されています。提供メーカーはMellanoxとIntelの2社です。 転送スピード(バンド幅)は現⾏製品で
FDR(56Gbps)とQDR(40Gbps)の2種類があります。FDRはMellanoxの技術であり、Mellanoxからのみ提供されています。またレイテンシ
はノード間で0.1us位とEthernetでは実現出来ない性能を誇ります。
最近は仮想化技術にも対応してきており仮想マシンからInfiniBandが利用できるようになっています。さらにInfiniBandを採用したストレー
ジは BigDataや Analytic などHPC以外でも利用されはじめています。
オーダー(ベアメタル)
オーダー(NAS)
GPGPU向けデバイス
HPCソフトウェア
GPGPU(General-purpose computing on graphics processing units; GPUによる汎目的計算)とは、グラフィック処理の為の演算を⾏う専用デ
バイスであるGPUを演算に利用することを指します。このGPUには膨⼤な数の演算コアと高速なメモリが搭載されており、これを演算リソースとす
ることで単位サーバーあたりの演算性能を格段に向上させることが出来ます。NVIDIA社製とIntel社製のものがあります。
現在NVIDIA製の最新GPU「Kepler」は実に1デバイスで2000を超えるGPUコアプロセッサを搭載しています。メモリには高速なGDDR5のメモリを
搭載しています。もう⼀つのGPUにIntel製の Xeon Phiがあります。NVIDIA社のGPUとの間に互換性はありません。
OpenFOAM
GPU対応のHPCアプリケーションも登場しています。⾃身でアプリケーションを開発するには、CUDAと呼ばれる開発プラットフォームが必要です。
ファイル転送
IBM Japan Copyright 2015
参考情報
Image from http://www.softlayer.com/GPU
14
基礎知識
HPC概説
OSSで構築するHPCクラスタシステム概説
HPCクラスタを構築する上で理解しておくべき用語(3)
デザインパターン
ジョブスケジューラ
HPCクラスタシステムのミドルウェアで最も重要なのがジョブスケジューラです。ジョブスケジューラはユーザーが希望したリソース量と、
演算ノードの空き状況を把握して適切なリソースをユーザーの計算ジョブに割り当てます。
オーダー(VM)
空きリソースが要求リソースより少ない場合は、リソースが空きになるまでそのジョブを待ち⾏列に待たせます。特権を持った計算ジョブを
先に処理したり、実⾏中の計算ジョブの実⾏状態の確認、キャンセルなど多くの機能があります。投入する計算ジョブには様々なポリシーを
適用できます。コア数、実⾏するノード、実⾏時間やユーザー制限など様々な設定が可能です。
オーダー(ベアメタル)
ジョブスケジューラは商用のものからOSS まで様々あります。本書ではOSSの「SLURM」を利用します。SLURMは、商用のジョブスケ
ジューラPBSの互換コマンドをサポートし、世の中の著名なHPCクラスタでも多く採用されています。また定期的にメンテナンスもされてお
り、アカウンティング機能(リソース利用状況をDB保管できる機能)が構成でき、そして優れた安定性が評価されています。
MPI(Message Passing Interface)
オーダー(NAS)
複数の演算ノードをまたいだ計算を⾏う際の通信インターフェースを担うミドルウェアです。MPIは標準規格であり、多数のディストリ
ビューションがあります。 2000年当初は「MPICH」が、最近では「OpenMPI」が広く利用されています。OpenMPIは rpmパッケージもあ
りyumでインストールすることも可能です。本書でもOpenMPIを取り上げて説明を⾏います。
HPCソフトウェア
MPIを使うと、各演算ノードで動作している同⼀バイナリのプロセス間通信を⾏い、擬似的に⼤規模なメモリ空間を形成して計算を⾏うこと
ができます。MPIが無ければHPCクラスタシステムで⼤規模な計算は⾏えません。各演算ノード間の通信はネットワークを介します。そのた
めHPCクラスタシステムでは、10Gbpsイーサネットや InfiniBandなど高速なインターコネクトが必要になります。
OpenFOAM
OpenFOAM
ファイル転送
OpenFOAMは、OSSの流体解析パッケージです。2000年頃から日本でも使われ初め、現在では多くの製造業や研究機関で採用されています。
最⼤の特徴はオープンソースであること、豊富なオプションライブラリが存在することです。以前は、オープンソースということもあり、
セットアップに関する情報が十分でなく、また⼤規模計算時の安定性に課題があると評価されていました。しかし近年は、メンテナンスに商
用アプリケーションベンダーが介入し、定期的にアップデートが繰り返され、かつバイナリパッケージも登場し実用に耐えうるものになって
きています。本書ではこの OpenFOAM の導入・セットアップについても触れています。
参考情報
IBM Japan Copyright 2015
15
基礎知識
HPC概説
OSSで構築するHPCクラスタシステム概説
HPCクラスタシステムで「IBM SoftLayer」が最適な訳
デザインパターン
IBM SoftLayerとは
⼀番の特徴は物理サーバーが使えるサービス「ベアメタルサーバー」です。
オーダー(VM)
ベアメタルサーバーはそのハードウェア構成を⾃由に選択でき、デプロイ時間がわずか4時間です。まさに⼤規模データと高性能が必要な
HPCクラスタシステムに最適なクラウドと⾔えます。 IBM SoftLayerの詳細は IBMやコミュニティからから提供されているウェブサイトや
各種資料をご参照ください。
IBM SoftLayer と HPC
オーダー(ベアメタル)
HPCクラスタシステムは、基本「非仮想化環境」が性能も出しやすく、サーバーCPUやメモリのスペックにもこだわる場合が多いので
SoftLayerの「ベアメタルサーバー」と非常に相性が良いです。HPCクラスタシステムの⼀番⼤事なこと「⼤規模並列計算に耐えうるコン
ポーネントで構成」するために下記の条件がすべて揃っているのがIBM SoftLayerです。
HPCインターコネクト
ジョブスケジューラ
サーバー
(10GbE、InfiniBand)
(Platform LSFなど)
高速なローカル
並列共有
高速かつセキュアな
I/Oデバイス
ファイルシステム
ファイル転送
(SSD、Fusion-ioなど)
(Elastic Storage)
(Asperaなど)
HPCソフトウェア
ベアメタル
⼤容量高速メモリ
オーダー(NAS)
最新CPUと
GPGPUデバイス
(nVIDIA K80など)
OpenFOAM
ファイル転送
データセンターにもよりますが、上記のコンポーネントがほぼすべて手に入る SoftLayer は、クラウド環境でのHPC運用に十分耐えうると判
断できます。特にこれらのデバイスを⾃由に選択できるベアメタルサーバーは、まさにHPC向けのIaaSとしては最も優れた環境といえるで
しょう。
資料中に SoftLayer のポータルツールなどSoftLayerの機能に関する記述も多く登場します。 可能な限り詳しく説明しますが、不明な点は
SoftLayerから提供されている各種ドキュメントを参照ください。
参考情報
IBM Japan Copyright 2015
16
基礎知識
HPC概説
デザインパターン
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
HPCクラスタシステム
デザインパターン
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
17
基礎知識
HPC概説
HPCクラスタシステム デザインパターン
HPCクラスタシステムの基本デザインパターン
デザインパターン
HPCクラスタシステムの基本デザインパターン
クラウド上での構築は、オンプレミスで構築する場合と同様の構成を前提とします。下記にそのイメージ図を⽰します。
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
HPCソフトウェア
OpenFOAM
ファイル転送
この基本デザインパターンを基にSoftLayerのサービスに併せて、HPCクラスタシステムを設計してきます。
参考情報
IBM Japan Copyright 2015
18
基礎知識
HPC概説
HPCクラスタシステム デザインパターン
基本デザインからSoftLayerのデザインパターンに仕上げる指針(1)
デザインパターン
SoftLayer向けにHPCクラスタシステムをデザインする
それではまず、前述のデザインパターンに⽰した各ノードの設計指針を解説します。
ユーザーがログインし、ジョブスケジューラなどで、演算ノードにジョ
ブを投入したり、コンパイルなどの事前処理を⾏うノードです。ヘッド
ノードのサイジングは多岐にわたりますが下記の3パターンが主な選択
肢になります。
ユーザーからジョブとして投入された計算を⾏います。演算ノードは高
性能かつ高スループットが必須です。単純に演算能⼒という観点では仮
想サーバーでも問題ありませんが、並列計算のネットワークと共有ファ
イルのスループットが必要になるためベアメタルが推奨です。
想定シナリオ
時間課⾦型のベアメタルや仮想サーバーも、短期間の利用や、開発環境
やテスト環境の利用であれば検討の対象になります。
デザインパターン
仮想サーバー
(専有型)
2コア以上
メモリ8GB以上
⼤規模クラスタ
(演算ノード16台以上)
⻑期間利用
ベアメタル
4コア以上
メモリ16Gb以上
ローカルHDD必要
10Gbpsのネットワーク
仮想サーバー
(専有型)
4コア以上
メモリ16B以上
通常HPCクラスタシステム
としての演算ノード構成
ベアメタル
8コア以上
メモリ16GB以上
(用途に応じて要増量)
ローカルHDD必要
10Gbpsのネットワーク
CPUは最新モデル(Haswell)推奨
HDDはSSD推奨
GPU等の拡張デバイスを必要とする
場合は2U以上の⼤型サーバーが必要
演算ノードに対してGPUを搭載したり、ローカルにSSD、またはさらに
高速なFlashメモリ(Fusion-IOなど)の搭載を想定している場合は、PCI
拡張デバイスが装着可能なベアメタルを利用しましょう。
IBM Japan Copyright 2015
参考情報
また短期間の時間軸でコスト重視の場合は規模に関係無く仮想サーバー
(専有型)を選択します。処理性能に揺らぎのある共有型の仮想サー
バーは HPCでの利用はおすすめしません。
小規模クラスタ
(演算ノード8台まで)
短期間orテスト利用
ファイル転送
実際には、ヘッドノードがファイルサーバーを兼ねることもあります。
その場合は中小規模でもベアメタルを選択してローカルディスクをある
程度確保しておくのがよいでしょう。ヘッドノードの冗⻑化には吹く数
台の構成、またはベアメタルが選択肢となります。
デザインパターン
OpenFOAM
中規模クラスタ
(演算ノード16台まで)
⻑期間利用
想定シナリオ
HPCソフトウェア
仮想サーバー
(専有型)
2コア以上
メモリ4GB以上
オーダー(NAS)
小規模クラスタ
(演算ノード8台まで)
短期間orテスト利用
オーダー(ベアメタル)
演算ノード
オーダー(VM)
ヘッドノード
19
基礎知識
HPC概説
HPCクラスタシステム デザインパターン
基本デザインからSoftLayerのデザインパターンに仕上げる指針(2)
デザインパターン
SoftLayer向けにHPCクラスタシステムをデザインする(続き)
前ページの続きです。ここではネットワークとファイルサーバーについての設計指針について解説します。 外部ネットワークとの接続につい
ても触れていきます。
ユーザーが計算を⾏う際に各ノードで解析データや実⾏プログラムを共
有するサーバーです。ここでは規模と性能の観点から設計指針を以下の
ように定義します。
HPCクラスタシステムはネットワーク性能が重要です。特に制約が無け
ればネットワークには10Gbpsを採用しましょう。演算用ネットワーク
は演算用に特化し、ファイル共有や管理系のネット-ワークを追加で
オーダーすればオンプレミスとほぼ同じ環境を構成できます。
想定シナリオ
デザインパターン
想定シナリオ
File Storageを選択
⼤規模クラスタ
(演算ノード16台以上)
⻑期間利用
File Storageはベアメタルで構成するか、
または、容量とIOPSが⾃由に選択でき
るPerformanceや、Enduranceか、
GPFSが利用できる Elastic Storageを
選択する
スループットを維持するために、ネッ
トワークは10Gbpsを採用する。
⼤きな選択ポイントはファイルサーバーを専用にするか、他のマシンに
兼務させるか、です。
10Gbpsが選択できるのは、ベアメ
タルのみ(本書発⾏時)
ヘッドノードを仮想サーバーで構成
している場合は、ファイルサーバー
は別に定義するほうがパフォーマン
スを確保しやすい。どちらのサー
バーも、1Gbps以上でクラスタシス
テムと同じVLANに接続すればよい。
8台以上の演算ノードにベアメタルサーバーを利用する場合は、
InfiniBand を構成し高スループットを確保することで、並列計算性能
の劣化を防⽌できます。
しかし現在、InfiniBandの利用には、個別の手続きが必要となり、
SoftLayerのポータルからInfiniBand をオーダーすることができません。
そのため、本書では InfiniBand の実装については⾔及していません。
IBM Japan Copyright 2015
参考情報
その他Object Storageを選択することも可能ですが基本デザインパ
ターンではファイルサーバー形式を採用しています。
ファイル転送
中小規模のクラスタであり、管理コストをかけたくない場合は、「兼
務」のパターンです。ヘッドノードに、10Gbpsのネットワークのベア
メタルを選択します。
ネットワークは10Gbpsで構成
OpenFOAM
中規模クラスタ
(演算ノード16台まで)
⻑期間利用
小規模クラスタ
(演算ノード8台まで)
短期間orテスト利用
通常HPCクラスタシステム
としての演算ノード構成
デザインパターン
HPCソフトウェア
ヘッドノードにベアメタルを採用し
ローカルにSSDを選択。
パフォーマンスを重視し、RAIDレベル
を0か5に設定する。
オーダー(NAS)
小規模クラスタ
(演算ノード8台まで)
短期間orテスト利用
オーダー(ベアメタル)
ネットワーク
オーダー(VM)
ファイルサーバー
20
基礎知識
HPC概説
HPCクラスタシステム デザインパターン
指針を基に今回構成するHPCクラスタシステム on SoftLayer デザインパターン
デザインパターン
HPCクラスタシステム on SoftLayer デザインパターン
ここまででご紹介してきた指針に従い各役割ノードの種類と数量を下記の通り決定します。 この構成は中・⼤規模のHPCクラスタシステムと
しても⼀般的な構成です。
採用するデザイン
備考
ヘッドノード
仮想サーバー(専有)
4コア 16GBメモリ
1Gbpsネットワーク
10Gbpsで構成する内部LAN
と同じVLANに接続 外向けに
LANポートを開放
演算ノード
ベアメタル
12コアCPUx2
メモリ64GB
ローカルSSD2本で
RAID0
内部LANのみ
ファイルサーバー
File Storage
(Consistent
Performance)
各演算ノードの
ワーク領域として利用
ネットワーク
ネットワーク 10Gbps
内部VLAN設置
外部接続ポリシー
外部からの接続許可は
ヘッドノードと
ファイルサーバーのみ
ファイルサーバーには別途
高速ファイル転送の仕組みを
実装予定
オーダー(ベアメタル)
コンポーネント
オーダー(VM)
加えて、HPCクラスタシステムを利用するユーザーに、どういう経路でアクセスさせるかといった接続経路に関する設計(ファイヤーウォー
ルやVPN、または専用線など)も必要となります。本書では、インターネット経由のSSH接続となっています。
SoftLayer データセンター
オーダー(NAS)
ヘ ッ ド ノ ード
Internet
HPCソフトウェア
内部 L A N ( 1 0 G b p s)
F i l e S t o r a g e
演算 ノ ー ド
OpenFOAM
ユーザー端末
ファイル転送
それでは、次項からHPCクラスタシステムをSoftLayer上に構成していきます。
参考情報
IBM Japan Copyright 2015
21
基礎知識
HPC概説
デザインパターン
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
IBM SoftLayerを使う準備
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
22
基礎知識
HPC概説
IBM SoftLayerを使う準備
SLアカウントを作成する
デザインパターン
SoftLayer クラウド無料トライアルに申し込む
オーダー(VM)
すでにSoftLayerのアカウント(SLアカウント)をお持ちの⽅は、今回の設定用にユーザーを新規作成してすべてのリソースを購入してもよい
です。SLアカウントをお持ちではい⽅は、SoftLayerが提供する無料トライアルを活用してSLアカウントを作成しましょう。SLアカウントの
作成には個人情報(名刺レベルの情報)と有効なクレジットカード(無料トライアル部分は課⾦されません)が必要です。下記に申し込み⽅法を
図解しましたのでご参考にしてください。入⼒後確認のメールが届きますので、記載に従って手続きを進めてください。
なおアカウントの登録に関しては電話での個人確認が来る場合があります。SLアカウントを取得したら次へ進みます。アカウントの取得まで
には、おおよそ30分から1時間ほどかかります。
オーダー(ベアメタル)
①仮想サーバーの指定
1.SoftLayerのポータルへ移動
http://www.softlayer.com/jp
2.「製品とサービス」 ⇒ 「仮想サーバー」 を選択
3.「仮想サーバー」 画面にて 「$27.60/月」を選択
4.データセンターを選択 Data Center
●TOK02 - Tokyo - Japan (Additional 17% monthly data
center surcharge)
5.Operating Systemを選択
例:CentOS 6.x – Minimal Install (64 bit)
6.「ADD TO ORDER」を選択
オーダー(NAS)
HPCソフトウェア
OpenFOAM
②プロモーションコードの⼊⼒
7.Promotion Code:「FREECLOUDNOW」を⼊⼒、
「Apply」を選択
8.Prorated Initial Charge」が「$0.00」になったことを確認
9.「Master Service Agreement」をクリックして内容を確認
10. チェックボックス「□」にチェックを⼊れ、「Submit Order」でオーダーする
ファイル転送
参考情報
IBM Japan Copyright 2015
23
基礎知識
HPC概説
IBM SoftLayerを使う準備
SLアカウントを使ってSoftLayerポータルにログインする
デザインパターン
SoftLayer 管理ポータルへのログイン⽅法
前ページで作成したSLアカウントとパスワードが準備出来たらポータルツールにログインしてまずは画⾯を確認します。SoftLayerのポータ
ルは提供しているサービスの状況をすべて参照出来るため、初めてログインすると少し複雑に⾒えるかもしれません。
まずは下記URLよりログインしてください。
オーダー(VM)
https://control.softlayer.com/
オーダー(ベアメタル)
課⾦・⽀払関係の情報
スケジュールされている重要な
メンテナンス等の予定表⽰
オーダー(NAS)
サービスオーダーメニュー
HPCソフトウェア
OpenFOAM
① https://control.softlayer.com/にアクセスし
Username欄にSLアカウントと、Passwordには
初期パスワードを入⼒します。
ファイル転送
IBM Japan Copyright 2015
参考情報
リソース監視サマリ
24
基礎知識
HPC概説
デザインパターン
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
HPC用ノードをオーダーする
(ヘッドノード:仮想サーバー)
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
25
基礎知識
HPC概説
HPC用ノードをオーダーする
ヘッドノード(仮想サーバー)をオーダーする(1)
デザインパターン
ヘッドノードをオーダーする
先のページで説明したとおりヘッドノードは今回仮想サーバー(専有型)でオーダーします。オーダーするスペックは以下のとおりです。
オーダー(VM)
・CPU4コア、16GBメモリ
・1Gbpsネットワーク
それではオーダー⽅法を解説します。
オーダー(ベアメタル)
③ オーダーウィンドウが開いたらまずサーバーの数を「1」で指定します。
① ポータルサイトの「Order」からDevicesをクリックする
オーダー(NAS)
HPCソフトウェア
OpenFOAM
④ Locationには「Tokyo」TOK02を選択します。 東京を選択する理由と
しては、物理距離が短く低レイテンシであること、最新のCPUが利用できるこ
と
です。
ファイル転送
また、データセンター名の横に「Additional 17% hourly data surchage..」
とあります。選択するデータセンターによって、サーバーやストレージなどの
価格が異なる、という記載です。東京データセンターの場合は、17%が価格に
追加されます、という意味です。
参考情報
② Virtual Server (private node) の Hourly(時間課⾦)またはMonthly(月課⾦)
をクリックする
IBM Japan Copyright 2015
26
基礎知識
HPC概説
HPC用ノードをオーダーする
ヘッドノード(仮想サーバー)をオーダーする(2)
デザインパターン
ヘッドノードをオーダーする
オーダーするスペックは
オーダー(VM)
・CPU4コア、16GBメモリ
・1Gbpsネットワーク
です。
オーダー(ベアメタル)
① CPUは4コアを選択します。
② メモリは16GBを選択します。
オーダー(NAS)
③ OSはCentOS6.5 LAMP install (64bit)
を選択します。
HPCソフトウェア
④ DISKに関してはデフォルトで1台目の仮想ディスク
が25GB付与されているので変更無しで以降のディスク
も変更無しとしておきます。
OpenFOAM
ファイル転送
右側のペインには設定サマリと課⾦⾒積が
表⽰されていますこの画⾯を⾒ながらコスト
を随時確認可能です。
参考情報
IBM Japan Copyright 2015
27
基礎知識
HPC概説
HPC用ノードをオーダーする
ヘッドノード(仮想サーバー)をオーダーする(3)
デザインパターン
ヘッドノードをオーダーする
オーダーするスペックは
オーダー(VM)
・CPU4コア、16GBメモリ
・1Gbpsネットワーク
です。
オーダー(ベアメタル)
① PUBLIC NETWORKはそのままにします。
② UPLINKスピードは1Gbpsのプランを選択。
オーダー(NAS)
③ 他の項目はデフォルトにします。
HPCソフトウェア
OpenFOAM
④ 設定が終了したら、料⾦を確認の上(ドル表⽰です) 右下の
Continue Your Orderボタンをクリックします。
ファイル転送
参考情報
IBM Japan Copyright 2015
28
基礎知識
HPC概説
HPC用ノードをオーダーする
ヘッドノード(仮想サーバー)をオーダーする(4)
デザインパターン
ヘッドノードをオーダーする
前ページの続きで Order Summary and Billing の画⾯に進んでいます。内容を確認したら画⾯中央下あたりのブランクの項目を
入⼒していきます。入⼒が終了すればいよいよ最終段階です。Your Receipt画⾯が出ればオーダーが成功しデプロイプロセスにはいります。
オーダー(VM)
① 必要に応じてVLANを設定します既存の物を使う場合
はプルダウンで表⽰されますので適切な物を選んでください。
オーダー(ベアメタル)
※ SSH鍵を使ったアクセス制御を実装する場合は、ここで、
SoftLayer管理ポータルに登録済みの公開鍵を指定できます。
オーダー(NAS)
HPCソフトウェア
② Host and DomainNameの欄にはホスト名とドメイン名
(任意のドメイン名が指定できます)を入⼒してください。
OpenFOAM
ファイル転送
③プロモーションコードがある場合は入⼒します
IBM Japan Copyright 2015
参考情報
④ 入⼒が終わったらMSAの同意の上
Finalize Your Orderボタンをクリックします
29
基礎知識
HPC概説
デザインパターン
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
HPC用ノードをオーダーする
(演算ノード:ベアメタルサーバー)
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
30
基礎知識
HPC概説
HPC用ノードをオーダーする
演算ノード(ベアメタルサーバー)をオーダーする(1)
デザインパターン
演算ノードをオーダーする
続いて、演算ノードをオーダーします。演算ノードはベアメタルサーバーを選択しています。SoftLayerのベアメタルサーバーは、最新の
CPU Intel製 Xeon E5-2600 v3 シリーズが選択出来ます。今回は下記の構成で演算ノードをオーダーします。
オーダー(VM)
なお、標準のカタログに存在していないベアメタルサーバーをオーダーしたい場合はSales chat、もしくはチケットを利用してカスタマイズ
でオーダー可能です。 なお、今回構成したベアメタルサーバーの構成は下記の通りです。
演算ノードの構成
オーダー(ベアメタル)
・ CPU: Intel Xeon E5-2690 v3 2.6GHz (12コアCPU) x 2ソケット
・ メモリ: 64GB (8x8GB Micron 8GB DDR4 1Rx4)
・ ネットワーク: 1G/10Gbps Ethernet
・ HDD: 960GB SanDisk CloudSpeed 1000 SSD x 2
オーダー(NAS)
本書ではこのサーバーノードを4台作成します。 最終的には下記の5台を使ってHPCクラスタシステムを構築します。
HPCソフトウェア
本書で使用する5台の内訳
OpenFOAM
ファイル転送
② 演算ノード(ベアメタル )
② 外向けIPアドレス
④ 内部IPアドレス
IBM Japan Copyright 2015
参考情報
① ヘッドノード(仮想サーバー)
31
基礎知識
HPC概説
HPC用ノードをオーダーする
演算ノード(ベアメタルサーバー)をオーダーする(2)
デザインパターン
実際にポータルを使って演算ノードをオーダーする
続いて、演算ノードをオーダーします。ヘッドノードと同じ要領でポータルのデバイスオーダー画⾯からオーダーを⾏います。 ベアメタル
サーバーは、ほとんどのプランは「月額課⾦モデル」が採用されています。 オーダーに関しては慎重にその構成を確認しながらオーダーを進
めてください。 下記に実際のオーダー画⾯を⽰します。
オーダー(VM)
④ 月額課⾦のベアメタルサーバー
③ 時間課⾦可能なベアメタルサーバー
オーダー(ベアメタル)
① ポータルのTop画⾯から「Devices」を選択します。
オーダー(NAS)
HPCソフトウェア
OpenFOAM
② 「Monthly」を選択します。
ファイル転送
⑤ 今回はこちらのサーバー・ノードを選択します。
参考情報
IBM Japan Copyright 2015
32
基礎知識
HPC概説
HPC用ノードをオーダーする
演算ノード(ベアメタルサーバー)をオーダーする(3)
デザインパターン
演算ノードをコンフィグを⾏う
前ページの続きで演算ノードはBareMetal Server(ベアメタルサーバー)でオーダーしていきます。
オーダー(VM)
① Quantityでは「4」を入⼒して
同じサーバーを4台オーダーします。
右側のペインには設定サマリと課⾦⾒積
が表⽰されていますこの画⾯を⾒ながら
コストを随時確認可能です。
オーダー(ベアメタル)
② Locationは 「TOK02」東京DCを選択します。
オーダー(NAS)
③ SERVER は Dual Xeon 2690 を選択します。
表⽰は古い型番ですがデプロイされるのは最新CPU(Haswell)です。
※ 2690v3が選択できるようになっている場合、
2690 24Cores が表⽰されます。
HPCソフトウェア
④ RAM は64GBを選択します。
OpenFOAM
ファイル転送
参考情報
⑥ OSは CentOS 6.x(64bit) を選択します。
IBM Japan Copyright 2015
33
基礎知識
HPC概説
HPC用ノードをオーダーする
演算ノード(ベアメタルサーバー)をオーダーする(4)
前ページの続きで演算ノードはBareMetal Server(ベアメタルサーバー)でオーダーしていきます。
右側のペインには
設定サマリと課⾦
⾒積が表⽰されて
います。
この画⾯を⾒なが
らコストを随時確
認可能です。
オーダー(VM)
① Disk Controller では 500GB SATA を2本でオーダーします。
(東京DCはこれでSSDがアサインされます)
※SSDが必要な場合はSSDを指定する必要があります。(2015/5/7 編集注)
デザインパターン
演算ノードをコンフィグを⾏う
オーダー(ベアメタル)
② RAIDはパフォーマンスを重視すること
かつNFSサーバーに重要なデータは保存する
のでRAID0とします。
オーダー(NAS)
③ Partition Templateは特に指定が無ければ
「Linux Basic」を選択しておきます。
HPCソフトウェア
④ UPLINK PORT SPEEDS は10Gbps Public & Private
Network Uplinksを選択します。
OpenFOAM
ファイル転送
⑤ それ以外の構成オプションについては希望に合わせて⾃由
に選択してください。 ただし、ベアメタルサーバーは
構成が⾃由に選択出来る反⾯、構成によっては高価な構成
になりますので慎重に構成をしてください。
構成が終了したら「continue Your Order」を押し先に進みます
参考情報
IBM Japan Copyright 2015
34
基礎知識
HPC概説
HPC用ノードをオーダーする
演算ノード(ベアメタルサーバー)をオーダーする(5)
デザインパターン
演算ノードのオーダーを確定する
構成を確認していよいよオーダーを⾏います。
繰り返しになりますがベアメタルは月課⾦ですので構成に間違いが無いか慎重に確認してからオーダーしてください。
オーダー(VM)
① オーダー内容を再度確認します。
オーダー(ベアメタル)
② 既にオーダーが以前にあり同じVLANを利用したい場合は
プルダウンより選択し、設定を⾏います。 初めての場合は
特別意識する必要はありません。
オーダー(NAS)
※ SSH鍵を使ったアクセス制御を実装する場合は、ここで、
SoftLayer管理ポータルに登録済みの公開鍵を指定できます。
HPCソフトウェア
③ Host and Domain Name には決定したホスト名をドメイン名を
入⼒します。
④ 入⼒が終わったらMSAの同意の上
Finalize Your Orderボタンをクリックします
OpenFOAM
ファイル転送
IBM Japan Copyright 2015
参考情報
⑤ オーダー後は仮想サーバーと同じ様にメールが届き、デプロイされるとポータル画⾯にマシン
が出てきます。 ただし、ベアメタルサーバーは物理サーバーですのでデプロイには数時間かかり
ます。 本例ではおおよそ2時間ほどかかりました。 1日経ってもデプロイがされない場合は、チ
ケットなどで問い合わせしてみてください。
35
基礎知識
HPC概説
HPC用ノードをオーダーする
オーダー確認⽅法(1)
デザインパターン
オーダーしたノードを確認する
オーダーが成功した場合、SoftLayerからメールが4通届きますので念のため確認します。その後ポータルサイトのデバイスリストで確認して
ください。デプロイが成功していたら早速ログインしてみましょう。
オーダー(VM)
① has been provisioned の
メールが来ていれば準備完了です
オーダー(ベアメタル)
オーダー(NAS)
③ 該当マシンのDeviceNameをクリックすると詳細を確認できます。
HPCソフトウェア
② ポータルのメニュー「Devices」
からDevice List を選択
OpenFOAM
④ configuration リンクをクリックするとさらに
詳細な設定画⾯
(ネットワークのすピーと切り替えやコネクトの
ON/OFFもここでリアルタイムに可能)を⾒ること
が出来ます
ファイル転送
Passwordタグを確認するとrootのパスワード
が表⽰されていますのでログインしてみましょう!!
参考情報
IBM Japan Copyright 2015
36
基礎知識
HPC概説
HPC用ノードをオーダーする
オーダー確認⽅法(2)
デザインパターン
オーダーしたノードを確認する
それではログインして注⽂した内容と相違が無いか確認します。この例ではrootのパスワードをチェックしてsshでログインしています。
下記は、ヘッドノードへログインして構成を確認している例です。
オーダー(VM)
オーダー(ベアメタル)
① Devicesかから「Show Password」を
クリックしパスワードをGETします。
オーダー(NAS)
TOK02は最新デバイスのデータセンター
ファイル転送
%ssh [email protected]
④ ログイン出来たらオーダー内容とスペックが相違していないか確認します。今
回のオーダーは4コア16GBメモリです。 上記の出⼒から問題無くデプロイしてい
ることが解ります。
OpenFOAM
③下記の要領でsshクライアントより
ログインしてください。
HPCソフトウェア
② 同じくDevicesからヘッドノード
のIPアドレス情報もGETします。
PublicIPが外向けLANなのでこちらを
つかって⾃身の端末からログインします
IBM Japan Copyright 2015
参考情報
SoftLayerの東京データセンターは2014年12月に開設したばかり
のデータセンターです。 他のデータセンターに⽐べて最新のハー
ドウェアが揃っています。上記の結果からもわかるように仮想マ
シンにも最新のIntelのCPUである「Haswell」こと Intel Xeon
E5-2600v3シリーズがデプロイされていることがわかります。
37
基礎知識
HPC概説
HPC用ノードをオーダーする
オーダー確認⽅法(3)
デザインパターン
ベアメタルサーバーの構成を確認する
ベアメタルサーバーは、その構成を仮想サーバーよりも細かく⾒ることが出来ます。 下記の要領でオーダーしたマシンが指定通りになってい
るか必ず確認してください。 もしオーダーした物と相違がある場合は早急にチケットかチャットを使って問い合わせください。
オーダー(VM)
① Devices Listから Bare Metal Server を選択して
「Configuration」をクリックします。
オーダー(ベアメタル)
② 指定したとおりの64GBがデプロイされています
オーダー(NAS)
HPCソフトウェア
③ オーダーでは 旧プロセッサでも東京では
最新の Xeon E5-2600 v3がデプロイされて
いることが分かります。
OpenFOAM
④ 電源も冗⻑化された構成で
提供されていることがわかります。
ファイル転送
ベアメタルサーバーは HyperThreadingが 有効
IBM Japan Copyright 2015
参考情報
SoftLayerのベアメタルサーバーは、デフォルトでHyperThreadingが有効になっています。 HPC的な観点ではHyperThreadingは無効にし
ておきたいところです。 無効にする⽅法は後述します。
38
基礎知識
HPC概説
HPC用ノードをオーダーする
オーダー確認⽅法(4)
デザインパターン
ベアメタルサーバーの構成を確認する
続いてネットワークに関する確認をしていきましょう。
オーダー(VM)
① ネットワークのスピードを確認します。
Max Speedが 100000Mbpsになっていれば
10Gbpsネットワークが有効になっています・
「Speed」でプルダウンでスピードを選択します。
disconnectedを選択すると接続をOFFにできます。
オーダー(ベアメタル)
Public Private共に確認してください。
演算ノードでは、通信をPrivateのみとします。
Public(eth0)のSpeedは「disconnected」を選択し、
通信できない設定としてください。
オーダー(NAS)
HPCソフトウェア
② インストールされたOSを確認します。32bitになっ
ていないか等も確認します。-64は付与されていれば
64bitのOSがロードされています。
OpenFOAM
ファイル転送
③ 上部の「storage」タブをクリックしてHDDの内容
を確認してください。この例ではHDDのオーダー
SATA 500GBが 960GB SSDになっています。
SoftLayerベアメタルは単なるコロケーションでは無く、
クラウドサービスとして最低限の機能やスペックを
オーダーしていると思っていれば良いと思います。
IBM Japan Copyright 2015
参考情報
※SSDが必要な場合は、オーダー時にSSDを指定する
必要があります。2015/5/7 編集注
39
基礎知識
HPC概説
HPC用ノードをオーダーする
ベアメタルサーバーのHyperThreadingを無効にする(1)
デザインパターン
ベアメタルサーバーの HyperThreadingを無効にする
前述したとおり、SoftLayerのベアメタルサーバーは、デフォルトでHyperThreadingが有効になっています。 HPC的な観点では
HyperThreadingは無効にしてたいところです。無効にするにはサポートにチケットで依頼することになります。
オーダー(VM)
その手順について説明します。
① 「Subject」からプルダウンで内容を選択します。
トラブルではありませんが、この例では 「Hardware Issue」
としました。
オーダー(ベアメタル)
SLXXXXXX
② 担当者のSLアカウントを入⼒します。「Subject」からプルダウンで内容を選択します。
トラブルではありませんが、この例では 「Hardware Issue」
としました。
③
オーダー(NAS)
「Associate Devices」では今回作成した4台分の情報をすべて入⼒します。
プルダウンからマシンを選択していき、それぞれのrootのパスワードを入⼒
します。
④ 「Detailes」には、HyperThreadingを無効にして欲しい旨を英語で記載します。
追って再起動しても良いかという質問がくるのであらかじめ「いつでも再起動して
⼤丈夫」という旨も記述しておきましょう。
HPCソフトウェア
⑤ 右下の「Add Ticket」を押し無事チケットが発⾏されるとポータルの「Support」
からOpenTicketを確認すると下記の様にSubmitされていることが確認出来ます
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
40
基礎知識
HPC概説
HPC用ノードをオーダーする
ベアメタルサーバーのHyperThreadingを無効にする(2)
チケットが発⾏されると、迅速に処理が実⾏されていきます。途中再起動の許可を訪ねてくる場合は早急にOKの返信をしておきます。作業は
迅速に⾏われます。 本例では平日の日中で4台を約40分ほどで作業が終了しました(チケットのやりとりを含む)
デザインパターン
ベアメタルサーバーの HyperThreadingを無効にする
オーダー(VM)
オーダー(ベアメタル)
② 作業が終了すると、HyperThreadingが無効になっているか、
下記の要領で確認します。 本サーバー12コアの 2ソケット
ですので、24個のCPUが確認出来ればOKです。48個になっ
ている場合はHyperThreadingが有効のままです。
オーダー(NAS)
HPCソフトウェア
OpenFOAM
① 再起動OKか訪ねてきています。OKの意思表⽰を早めに
⾏います。
HyperThreading OFFへの切替を依頼する際に、再起動
OKの旨を記載しておけばこのやり取りはありません。
ファイル転送
参考情報
IBM Japan Copyright 2015
41
基礎知識
HPC概説
HPC用ノードをオーダーする
ベアメタルサーバーの物理的なラック配置サンプル
デザインパターン
ベアメタルサーバーの ラック配置サンプル
ベアメタルサーバーとして複数台をオーダーする場合、同じVLAN内でデプロイされますが厳密には同じスイッチ(Top of Rack(ToR))内に
配置することがパフォーマンス維持の⾯からも重要です。 SoftLayerはHAを考慮しデフォルトで下記のように分散して配置されます。
HPC向けの同じToRスイッチ内に配置したい場合は、IBM Platform Computing Cloud Serviceにて提供可能です。
Room 02
node01
Rack C
node07
40GB
BCS
BCS
node03
node06
node04
40GB
40GB
BCS
BAS
40GB
BCS
OpenFOAM
BAS
BCS
node02
HPCソフトウェア
40GB
node05
Rack E
オーダー(NAS)
node08
Rack D
オーダー(ベアメタル)
Rack B
Rack A
80GB
オーダー(VM)
Room 01
Private Network
80GB
BCR
ファイル転送
BCS = Backend customer switch
BAS = Backend Aggregate switch
BCR = Backend customer router
参考情報
IBM Japan Copyright 2015
42
基礎知識
HPC概説
デザインパターン
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
共有ストレージをオーダーする
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
43
基礎知識
HPC概説
共有ストレージをオーダーする
NFS(NAS)サーバーをオーダーする(1)
デザインパターン
実際にポータルを使って演算ノードをオーダーする
それでは実際にNAS(NFSサーバー)をオーダーしていきます。オーダーは非常に簡単でオーダー後おおよそ10分ほどで利用可能になります。
オーダー⽅法はサーバーと同様にポータルを利用して⾏います。 本項ではその⽅法を説明します。
オーダー(VM)
オーダー(ベアメタル)
SoftLayer データセンター
① ポータルのTop画⾯から「Storage」を選択します。
オーダー(NAS)
ヘ ッ ド ノ ード
Internet
HPCソフトウェア
内部 L A N ( 1 0 G b p s)
F i l e S t o r a g e
OpenFOAM
NAS
演算 ノ ー ド
ユーザー端末
ファイル転送
IBM Japan Copyright 2015
参考情報
② 提供されているラインアップから 「FTP/NAS」を選択します。
「Order」を押して先の画⾯に進みます。
44
基礎知識
HPC概説
共有ストレージをオーダーする
NFS(NAS)サーバーをオーダーする(2)
デザインパターン
実際にポータルを使って演算ノードをオーダーする
それでは実際にNAS(NFSサーバー)をオーダーしていきます。課⾦は容量に応じて変化します。今回はNAS/FTPを選択しているので容量の変
化のみ課⾦額が変更になりますが、右側の画⾯に参考に⽰した「Performance」を選択した場合は容量とコミットIOPSにの2つの変数で⾦額
が変更になります。 いずれも月額課⾦になります。
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
① 「Select Storage Type」でNAS/FTPを選択します。すると下記にSelect Storage Size
を選択する画⾯が出ますので必要な容量を選択します。 今回は20GB NASを選択しました。
さらに「Location」を選択します。 今回はTOK02を選択してます。 選択が終了すると
合計⾦額が表⽰されるので、OKであれば「Continue」ボタンを押して先に進みます。
「Select Storage Type」でNAS/FTPではなく、
Performanceを選択するとこのように表⽰されます。
IBM Japan Copyright 2015
45
基礎知識
HPC概説
共有ストレージをオーダーする
NFS(NAS)サーバーをオーダーする(3)
デザインパターン
実際にポータルを使って演算ノードをオーダーする
選択が終了したらオーダー確定の画⾯に進みます。「Place Order」を押して完了後迅速にNASが構成されます。 本例では10分以下で準備が
整いました。 重ねての注意事項ですが、「Place Order」を押す前にオーダー内容を十分にチェックの上作業を進めてください。
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
HPCソフトウェア
② オーダー後、ポータルの「Storage」メニューから「File Storage」を
を選択し表⽰を⾏います。
OpenFOAM
① 確認後 Place Order を押して確定します。
ファイル転送
参考情報
③ オーダー内容(容量)を確認します。Hostnameに記載されている名前がNASサーバー名
になります。
IBM Japan Copyright 2015
46
基礎知識
HPC概説
SoftLayerのコマンドインターフェース
slcliコマンドをつかってSoftLayerを「操作する」(1)
デザインパターン
SoftLayer Python クライアント 「slcli」
IBM SoftLayerは、Webベースのポータルで多くの操作ができることは、ここまでの手順でご理解頂けたと思います。ポータルでの操作以外
にSoftLayerでは豊富なAPIが公開されており、そのAPIを活用した操作も可能です。 それがslcliコマンドです。 このコマンドは主に
Pythonで記述されいます。
オーダー(VM)
ここでは、このコマンドライン・インターフェースでポータルの操作と同じことを実⾏するための手順をご紹介します。今回は簡単にインス
トール可能な pipでのセットアップ⽅法について記述します。
① pip と setuptoolsをインストールします (LAMP Installであらかじめpythonがインストールされている前提です)
オーダー(ベアメタル)
オーダー(NAS)
# curl “https://bootstrap.pypa.io/get-pip.py” -o “get-pip.py”
% Total
% Received % Xferd Average Speed
Time
Time
Time Current
Dload Upload
Total
Spent
Left Speed
100 1387k 100 1387k
0
0 1295k
0 0:00:01 0:00:01 --:--:-- 1655k
[root@tok-hpc001 ~]# python getpip.py
…
Downloading pip-6.1.1-py2.py3-none-any.whl (1.1MB)
100% |████████████████████████████████| 1.1MB 398kB/s
Collecting setuptools Downloading setuptools-15.2-py2.py3-none-any.whl (501kB)
100% |████████████████████████████████| 503kB 853kB/s
Installing collected packages: pip, setuptoolsSuccessfully installed pip-6.1.1 setuptools-15.2
#
HPCソフトウェア
② SoftLayerクライアントをインストールします
OpenFOAM
参考情報
IBM Japan Copyright 2015
ファイル転送
# easy_install softlayer
Searching for softlayer
Reading https://pypi.python.org/simple/softlayer/
Best match: SoftLayer 4.0.2
…
Installed /usr/lib/python2.6/site-packages/six-1.9.0-py2.6.egg
Finished processing dependencies for softlayer
47
基礎知識
HPC概説
SoftLayerのコマンドインターフェース
slcliコマンドをつかってSoftLayerを「操作する」(2)
デザインパターン
SoftLayer Python クライアント 「slcli」
前述のとおり、slcliのインストールは簡単に終了します。
オーダー(VM)
slcliコマンド初回利用時のみですが、インストール後にはユーザー認証が必要です。以下にその設定⽅法と簡単な出⼒確認により結果を確認
します。また以降のページではコマンドが「sl」となっています。これはつい最近までコマンド名がslだったためです。 基本的な利用には互
換性があるのであえてsl表記のままにしておきますので随時slcliに読み替えてご利用ください。
① setupコマンドを利用して利用準備を⾏います。
オーダー(ベアメタル)
オーダー(NAS)
# slcli config setup
Username []: SLXXXXX
(SLアカウント名を入力します。
API Key or Password []: *******
(SLアカウントのパスワードを指定します。
Endpoint (public|private|custom) [public]:
(publicに指定しておきます。デフォルト)
Timeout [0]:/
・・・・・・
Are you sure you want to write settings to “/home/user/.softlayer”? [Y/n]:Y
(毎回パスワードを指定する必要がないように設定ファイルを使うか聞いています。パスワードを保存します。 Y とします)
HPCソフトウェア
Configuration Updated Successfully
OpenFOAM
② slcliコマンドを実際に使って動作確認します。
参考情報
IBM Japan Copyright 2015
ファイル転送
# slcli vs list (仮想マシンのリスト表示を行うコマンド)
:.........:.............:................:..............:............:........:
:
id
:
hostname :
primary_ip
: backend_ip : datacenter :action :
:.........:.............:................:..............:............:........:
: 8008958 :
dev004
: **.**.**.**
: **.**.*.**
:
tok02
:
:
: 8707743 : tok-hpchead : **.**.**.**
: **.**.*.**
:
tok02
:
:
:.........:.............:................:..............:............:........:
48
基礎知識
HPC概説
共有ストレージを利用する
NFS(NAS)サーバーを実際にマウントする(2)
デザインパターン
実際に各ノードにマウントしてみる
それでは、デプロイされたNASを実際にマウントしてみます。手順としては➀cifs-utilsをインストール、➁マウントポイントの作成、➂手動
マウントのテスト、➃⾃動マウントの設定の順番で解説します。
オーダー(VM)
① まず cifs-utilsをインストールします。
オーダー(ベアメタル)
#root@tok-hpc001 ~]# yum install cifs-utils -y
読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
オーダー(NAS)
(途中略)
インストール:
cifs-utils.x86_64 0:4.8.1-19.el6
依存性関連をインストールしました:
keyutils.x86_64 0:1.4-5.el6
libtalloc.x86_64 0:2.0.7-2.el6
libtdb.x86_64 0:1.2.10-1.el6
libtevent.x86_64 0:0.9.18-3.el6
samba-common.x86_64 0:3.6.23-14.el6_6
samba-winbind.x86_64 0:3.6.23-14.el6_6
samba-winbind-clients.x86_64 0:3.6.23-14.el6_6
HPCソフトウェア
完了しました!
[root@tok-hpc001 ~]#
OpenFOAM
② 次にマウントポイントを作成します。
ファイル転送
[root@tok-hpc001 ~]# mkdir /work
参考情報
IBM Japan Copyright 2015
49
基礎知識
HPC概説
共有ストレージを利用する
NFS(NAS)サーバーを実際にマウントする(2)
デザインパターン
実際に各ノードにマウントしてみる
それでは、デプロイされたNASを実際にマウントしてみます。手順としてはcifs-utilsをインストール、マウントポイントの作成、手動マウン
トのテスト、⾃動マウントの設定の順番で解説します。
オーダー(VM)
➂-1 手動マウントのテスト:次にマウントに必要な情報をslコマンドから取得します。
オーダー(ベアメタル)
#root@tok-hpc001 ~]# # sl nas list
:.........:............:......:.............:..........:..................................:
:
id
: datacenter : size :
username : password :
server
:
:.........:............:......:.............:..........:..................................:
: 4647407 :
tok02
: 20GB : SLNXXXXXX-1 : ********** : nastok0201.service.softlayer.com :
:.........:............:......:.............:..........:..................................:
オーダー(NAS)
Usernameは実際にマウントする際のユーザー名(SLアカウント+N+番号)とパスワードが重要になりますのでメモします。
➂-2 手動マウントのテスト:mountコマンドを利用して実際にマウントしてみます。 マウントされない場合はユーザー名やパスワードを確認してください。
HPCソフトウェア
[root@tok-hpc001 ~]# mount -t cifs //nastok0201.service.softlayer.com/SLN370686-1 -o username=SLNXXXXXX1,password=*********,rw,nounix,iocharset=utf8,file_mode=0644,dir_mode=0755 /work
OpenFOAM
[root@tok-hpc001 ~]# df
df
Filesystem
1K-blocks
Used Available Use% Mounted on
/dev/sda3
921037812 4766652 869478508 1% /
tmpfs
32931404
0 32931404 0% /dev/shm
/dev/sda1
253871
61112
179652 26% /boot
/dev/sdb1
922326948
73592 875395220 1% /disk1
//nastok0201.service.softlayer.com/SLN370686-1
104496624640 1196536320 103300088320 2% /work
ファイル転送
参考情報
IBM Japan Copyright 2015
50
基礎知識
HPC概説
共有ストレージを利用する
NFS(NAS)サーバーを実際にマウントする(2)
デザインパターン
実際に各ノードにマウントしてみる
最後に⾃動起動を設定するために/etc/fstabの編集を⾏いテストして問題無ければ終了です。
この確認作業➀〜➃を他の演算ノードでも実施します。
オーダー(VM)
➃-1 ⾃動マウントの設定:下記の要領で/etc/fstabにマウントエントリを記載します。
オーダー(ベアメタル)
オーダー(NAS)
HPCソフトウェア
➃-2 ⾃動マウントの設定: ⼀度アンマウントしてから⾃動マウントのテストを⾏います
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
51
基礎知識
HPC概説
デザインパターン
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
HPCクラスタソフトウェアをセットアップする
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
52
基礎知識
HPC概説
HPCクラスタソフトウェアをセットアップする
インストールソフトウェアミドルウェア⽅針(1)
デザインパターン
HPCクラスタシステムを構築するためのソフトウェアとは
ここでは著名なソフトウェアとミドルウェアについて解説します。またその中からどのようなコンポーネントを採用するか解説します。
オーダー(VM)
セットアップする主なソフトウェア・ミドルウェア
1. OS
オーダー(ベアメタル)
Windows Server、各種Linuxが選択できます。各種アプリケーション
の対応やドキュメントが充実しているRedHat系が好んで選択されます。
最近のスパコンシステムのトレンドはCentOS6系ですが、欧米では
ubuntuで構成しているものもあります。
2. ジョブスケジューラ
オーダー(NAS)
商用の物が日本では多く使われています。 IBM Platform Computing
LSF や PBS Pro等がそれにあたります。
HPCソフトウェア
最近は世界の著名な⼤型スパコンでOSS製品が使われてきています。
特に採用が進んでいるのがSLURMです。多くのプラットフォームへの
対応、PBSコマンドのサポート、安定性などで日本でも採用が始まっ
ています。 またLSFのOSS版と⾔うべき OpenLava もありますが日本
ではまだ普及していません。その他にフリーツールや、商用アプリ
ケーションに同梱されたジョブスケジューラーがあります。
3. コンパイラ・開発環境
*赤字が今回採用のコンポーネント
ファイル転送
4. MPI
参考情報
こちらもIntel製のシェアが⼤きいですがOSSではOpenMPIも多く採用
されています。
IBM Japan Copyright 2015
53
基礎知識
HPC概説
HPCクラスタソフトウェアをセットアップする
インストールソフトウェアミドルウェア⽅針(2)
デザインパターン
HPCクラスタシステムを構築するためのソフトウェアを設定する
次にソフトウェアのインストールについて解説します。 ヘッドノード、演算ノードそれぞれに必要なソフトウェアをインストールしてHPCク
ラスタシステムの構築に入ります。インストールする主なソフトウェア、ミドルウェアコンポーネントも併せて解説します。
インストール予定マトリクス
1. CentOS6.5
これらの状況を踏まえてインストールするソフトウェア/ミドル
ウェアは下記の通り決定します。
1
4
ジョブスケジューラは前にも解説したとおり安定性とシンプルさ著
名なスパコンでも採用されているSLURMを選択します。
SLURM
(ジョブスケジューラ)
V14.11
With Munge0.5.11-1
V14.11
With Munge0.5.11-1
3. GCC/glibc
GNU
(開発環境)
4.4.7-11
4.4.7-11
glibc
2.12-1.132
2.12-1.132
MPI
OpenMPI 1.8.4
OpenMPI 1.8.4
MySQL
5.1.73-3
管理系コマンド
pdsh 2.29
OpenFOAM
開発環境です。Intel等の商用パッケージもありますが今回はOSSを
前提としているため、GCCとしました。GNUのサイトから最新版を
入手しても問題はありませんがCentOS6.5に対応していると表記さ
れるアプリケーションは基本OS付属のGCCを採用しているのでOS
付属のパッケージを選択します。なお、SoftLayerでデプロイされて
いるOSにはGCCはデフォルトで入っていないので別途yumでインス
トールします。
HPCソフトウェア
OS
2. SLURM
オーダー(NAS)
演算ノード
オーダー(ベアメタル)
ヘッドノード
オーダー(VM)
本書でインストール予定のソフトウェア
OSSのLinuxディストリビューションとして有名なので多くを説明す
る必要はないと思います。RedHat互換でありかつフリーで入手でき
ること、各種アプリケーションの対応の範囲が広いことが選択の理
由です。
4. OpenMPI
また、SLURMのノード間認証を⾏う為のパッケージ「munge」と
複数のノードに同時に同じコマンドを発信出来る「pdsh」もユー
ティリティとしてインストールします。
ファイル転送
HPCクラスタシステムでもっと重要なコンポーネントの1つである
MPIは昨今利用率が高いOpenMPIを採用します。 Yumでバイナリ
パッケージをインストール出来る手軽さと、多くのHPCアプリケー
ションの並列版がOpenMPI対応しています。
OpenFOAM
商用ではIntelが圧倒的なシェアを誇っています。同じくPGIもありま
す。MPIやデバッガなどのスイート製品の充実でIntel製の採用が多く
なっています。OSS中心のシステムでもコンパイラには商用を採用す
る場合が多いです。これは最新CPUの性能を最⼤限に引き出す実装が
なされていることが理由に挙げられます。OSSにはGCCがあります。
参考情報
IBM Japan Copyright 2015
54
基礎知識
HPC概説
ソフトウェアをセットアップする
ジョブスケジューラSLURMのセットアップ(1)
デザインパターン
SLURMのセットアップについて
本章ではジョブスケジューラSLURMのセットアップについて解説していきます。SLURMのキットをダウンロードしてヘッドノードへセット
アップ後、演算ノードにもインストール、その後設定を⾏い演算ノード群を⼤きな1つのシステム空間として利用するためにセットアップし
ていきます。
これらの状況を踏まえてインストールするソフトウェア/ミドル
ウェアは下記の通り決定します。
オーダー(ベアメタル)
インストール予定マトリクス
SLURMのセットアップの流れとして下記のステップで進みたいと
思います。それほど⼤きな壁はなくセットアップできます。前提知
識としてrpmパッケージに関する基本的な操作ができることが必要
です。
オーダー(VM)
セットアップの主な流れ
開発ツールをインストールする
オーダー(NAS)
Pdshをセットアップする
Mungeパッケージ入手とビルド
HPCソフトウェア
SLURMパッケージ入手とビルド
ヘッドノード向けの設定
OpenFOAM
Slurm.confファイルの準備
設定ファイルの各ノード配布
テストラン
ファイル転送
サービス起動と⾃動起動の設定
また、SLURMのノード間認証を⾏う為のパッケージ「munge」と
複数のノードに同時に同じコマンドを発信出来る「pdsh」もユー
ティリティとしてインストールします。
参考情報
IBM Japan Copyright 2015
55
基礎知識
HPC概説
ソフトウェアをセットアップする
ジョブスケジューラSLURMのセットアップ(2)
SLURMパッケージ入手とビルド
テストラン
Pdshはsshを使ってコマンドをブロードキャストします。 下記の要領でsshの公開鍵を作成し各ノードへ配布し
ます。ssh-keygen で作成する際、パスワードはブランク(何も入⼒せずenter)で進めてください。また
/etc/machineファイルを作成し、各ノード名を1⾏ずつ入⼒しておいてください。
# ssh-keygen
# for i in localhost tok-hpc{001-004};do ssh-copy-id $i;done
# pdsh –a /bin/hostname
tok-hpc001
tok-hpc002
tok-hpc003
...
#cat /etc/machines
tok-hpc001
tok-hpc002
tok-hpc003
G
ファイル転送
サービス起動と⾃動起動の設定
# yum install readline-devel ncurses-devel pam-devel make gcc gcc-c++ rsh rpm-build –y
# useadd -u 6885 nao
# passwd nao
# su – nao
# wget https://pdsh.googlecode.com/files/pdsh-2.29.tar.bz2
# rpmbuild -tb --with machines pdsh-2.29.tar.gz
# su -cd /home/nao/rpmbuild/RPMS/x86_64
# yum install *
# exit
# userdel -r nao
OpenFOAM
設定ファイルの各ノード配布
次にpdshをセットアップします。まずwgetコマンドでダウンロードしてからrpmbuildでパッケージを作成しま
すが、pdshは⼀般ユーザーでないとビルドできないので下記の要領でセットアップしていきます。
HPCソフトウェア
Slurm.confファイルの準備
# yum groupinstall "Development Tools”
オーダー(NAS)
ヘッドノード向けの設定
まず、開発ツールのインストールを⾏います。下記の通りyumコマンドのgroupインストールの機能を利用すれ
ば簡単にインストール可能です。ヘッドノードに対して実⾏していきます。
オーダー(ベアメタル)
Mungeパッケージ入手とビルド
開発ツールとpdshのインストール
オーダー(VM)
Pdshをセットアップする
デザインパターン
開発ツールをインストールする
参考情報
IBM Japan Copyright 2015
56
基礎知識
HPC概説
ソフトウェアをセットアップする
ジョブスケジューラSLURMのセットアップ(3)
SLURMパッケージ入手とビルド
HPCソフトウェア
Slurm.confファイルの準備
# wget https://munge.googlecode.com/files/munge-0.5.11.tar.bz2
# rpmbuild -tb --clean munge-0.5.11.tar.bz2
G
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/munge-0.5.111.el6.x86_64
Wrote: /root/rpmbuild/RPMS/x86_64/munge-0.5.11-1.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/munge-devel-0.5.11-1.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/munge-libs-0.5.11-1.el6.x86_64.rpm Executing(%clean):
/bin/sh -e /var/tmp/rpm-tmp.acBpnH + umask 022chk
+ cd /root/rpmbuild/BUILD
+ cd munge-0.5.11
+ rm -rf /root/rpmbuild/BUILDROOT/munge-0.5.11-1.el6.x86_64
+ exit 0
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.jmusIT
+ umask 022
+ cd /root/rpmbuild/BUILD
+ rm -rf munge-0.5.11
+ exit 0
オーダー(NAS)
ヘッドノード向けの設定
mungeはgooglecodeから最新版をダウンロードしてビルドを下記の要領で⾏います。
オーダー(ベアメタル)
Mungeパッケージ入手とビルド
mungeインストール
オーダー(VM)
Pdshをセットアップする
デザインパターン
開発ツールをインストールする
その後、ビルドしたrpmパッケージをインストールします。
# rpm -ivh munge-0.5.11-1.el6.x86_64.rpm munge-devel-0.5.11-1.el6.x86_64.rpm munge-libs0.5.11-1.el6.x86_64.rpm Preparing...
########################################### [100%]
1:munge-libs
########################################### [ 33%]
2:munge
########################################### [ 67%]
3:munge-devel
########################################### [100%]
ファイル転送
サービス起動と⾃動起動の設定
OpenFOAM
設定ファイルの各ノード配布
テストラン
参考情報
IBM Japan Copyright 2015
57
基礎知識
HPC概説
ソフトウェアをセットアップする
ジョブスケジューラSLURMのセットアップ(4)
SLURMパッケージ入手とビルド
キーの⽣成が終了したらサービスの⾃動起動を設定してサービスを起動してみます。この実⾏は全ノードで⾏っ
てください。Pdshコマンドで⼀⻫に⾏ってもOKですが、ヘッドノードだけは単独で実⾏しながら挙動を確かめな
がら進めてください。
# chkconfig munge on
# chkconfig | grep munge
munge
0:off 1:off 2:on
# /etc/init.d/munge start
Starting MUNGE: munged
3:on
4:on
5:on
6:off
[ OK ]
各ノードで実⾏する前にMungeキーの配布を忘れないでください。下記の様にpdshで配布するのが楽です。
HPCソフトウェア
Slurm.confファイルの準備
# dd if=/dev/random bs=1 count=1024 > /etc/munge/munge.key
オーダー(NAS)
ヘッドノード向けの設定
インストールが終了したら下記の要領でmungeキーを⽣成します。⽣成にはrandomデバイスを使いますので
時間がかかりますのでご注意ください。 (10数分かかる場合があります)
オーダー(ベアメタル)
Mungeパッケージ入手とビルド
Munge認証キーの生成とサービス起動
オーダー(VM)
Pdshをセットアップする
デザインパターン
開発ツールをインストールする
# pdsh –a ‘ scp tok-hpchead:/etc/munge/munge.key /etc/munge’
上記コマンドでエラーが出なければ成功です。
OpenFOAM
設定ファイルの各ノード配布
これでSLURMの実⾏に必要な認証基盤mungeの設定が終わりましたのでSLURM本体のインストールと設定を
進めていきます。
ファイル転送
サービス起動と⾃動起動の設定
テストラン
参考情報
IBM Japan Copyright 2015
58
基礎知識
HPC概説
ソフトウェアをセットアップする
ジョブスケジューラSLURMのセットアップ(5)
SLURMパッケージ入手とビルド
なお、コンポーネントが多い為Buildには少々時間がかかりますのでご注意ください。(数分かかります。)ビルド
が終了しましたら、ヘッドノード、演算ノード共に同じバイナリを下記の通りインストールしてください。パッ
ケージは少し多いですが、12あります。 演算ノードへはpdshで⼀括操作すれば良いでしょう。
# rpm -ivh slurm-*
Preparing...
########################################### [100%]
1:slurm-plugins
########################################### [ 8%]
2:slurm
########################################### [ 17%]
3:slurm-perlapi
########################################### [ 25%]
4:slurm-devel
########################################### [ 33%]
5:slurm-sql
########################################### [ 42%]
6:slurm-slurmdbd
########################################### [ 50%]
7:slurm-pam_slurm
########################################### [ 58%]
8:slurm-sjobexit
########################################### [ 67%]
9:slurm-slurmdb-direct ########################################### [ 75%]
10:slurm-torque
########################################### [ 83%]
11:slurm-munge
########################################### [ 92%]
12:slurm-sjstat
########################################### [100%]
ファイル転送
サービス起動と⾃動起動の設定
# rpmbuild -ta slurm-14.11.5.tar.bz2
OpenFOAM
設定ファイルの各ノード配布
ダウンロードが終了しましたら、RPMパッケージを下記の要領で作成します。
HPCソフトウェア
Slurm.confファイルの準備
# wget www.schedmd.com/download/latest/slurm-14.11.5.tar.bz2
(途中略)
2015-03-19 18:29:46 (2.27 MB/s) - `slurm-14.11.5.tar.bz2' へ保存完了 [6332854/6332854]
オーダー(NAS)
ヘッドノード向けの設定
まずSLURMの最新バージョンのソースコードを管理しているschdmdのサイトから下記の要領でダウンロード死
してください。ちなみに現在の最新バーションは14.11(2014年11月リリース版という意味だそうです。
オーダー(ベアメタル)
Mungeパッケージ入手とビルド
SLURM本体のインストール
オーダー(VM)
Pdshをセットアップする
デザインパターン
開発ツールをインストールする
テストラン
参考情報
IBM Japan Copyright 2015
59
基礎知識
HPC概説
ソフトウェアをセットアップする
ジョブスケジューラSLURMのセットアップ(6)
SLURMパッケージ入手とビルド
テストラン
SlurmUser=root
(SLURMの特権ユーザーを入力 rootを指定
# LOGGING
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdLogFile=/var/log/slurmd.log
(SLURMマスターデーモンのログ格納先を指定)
(SLURMスレーブデーモンのログ格納先を指定)
NodeName=tok-hpc[001-004] Procs=20 RealMemory=64000 State=UNKNOWN
(ノードの属性を入力します。 例はノードあたり24コア、メモリ64GBの例を示しています。)
PartitionName=Normal MaxTime=24:00:00 Nodes=tok-hpc[001-004] State=UP Default=YES
(キューの定義を記述します。詳細は別途説明しますのでまずはこの内容で記述してください)
設定ファイルの作成が終了しましたら、このファイルを各ノードの/etc/slurmにpdsh等でコピー
してください
ファイル転送
サービス起動と⾃動起動の設定
(クラスタ名を入力します。任意の名前を記載)
(ヘッドノードのホスト名を入力)
(ヘッドノードのホスト名もしくはIPアドレスを入力)
OpenFOAM
設定ファイルの各ノード配布
ClusterName=HPCC
ControlMachine=tok-hpchead
ControlAddr=tok-hpchead
HPCソフトウェア
slurm.confファイルの準備
コピーが完了したらslurm.confファイルの下記の内容を記載または変更してください。
オーダー(NAS)
ヘッドノード向けの設定
#cp /etc/slurm/slurm.conf.example /etc/slurm/slurm.conf
オーダー(ベアメタル)
Mungeパッケージ入手とビルド
RPMパッケージのインストールが終了したら、今度はSLURMの根幹に設定ファイルを準備する必要があります。
最近のSLURMはサンプルになるファイルが格納されているのでそれをコピーして使います。
オーダー(VM)
Pdshをセットアップする
SLURM ヘッドノードの初期セットアップ
デザインパターン
開発ツールをインストールする
# pdsh –a ‘ scp tok-hpchead:/etc/slurm/slurm.conf /etc/slurm/’
参考情報
IBM Japan Copyright 2015
60
基礎知識
HPC概説
ソフトウェアをセットアップする
ジョブスケジューラSLURMのセットアップ(7)
デザインパターン
開発ツールをインストールする
SLURM サービスの起動と動作確認
オーダー(VM)
これでSLURMのサービス起動の準備が整いましたので下記の要領でSLURMのサービスの⾃動起動の設定と起動
の確認を⾏います。
Pdshをセットアップする
3:on
4:on
5:on
6:off
オーダー(ベアメタル)
Mungeパッケージ入手とビルド
# chkconfig slurm on
# chkconfig | grep slurm
slurm
0:off 1:off 2:on
# /etc/init.d/munge start
Starting MUNGE: slurmctld
Starting MUNGE: slurmd
[ OK ]
[ OK ]
SLURMパッケージ入手とビルド
[ OK ]
これでSLURMの基本設定は終了しました。確認の為下記のsinfoコマンドを入⼒したときに下の様な表記が出⼒さ
れるかご確認ください。
# sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
normal up infinite
4 idle tokhpc[001-004]
ファイル転送
サービス起動と⾃動起動の設定
OpenFOAM
設定ファイルの各ノード配布
HPCソフトウェア
slurm.confファイルの準備
# chkconfig slurm on
# # /etc/init.d/munge start
Starting MUNGE: slurmd
オーダー(NAS)
同様に各演算ノードでもSLURMのサービスを起動させます。演算ノードではslurmdのみ起動します。
ヘッドノード向けの設定
テストラン
参考情報
IBM Japan Copyright 2015
61
基礎知識
HPC概説
デザインパターン
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
OpenFOAMをセットアップする
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
62
基礎知識
HPC概説
OpenFOAMをセットアップする
OSSのCAEアプリケ-ションをインストールする
デザインパターン
OSSのCAE向けアプリケーションが注目される理由
次にOSSの流体解析ソフトウェア「OpenFOAM」をHPCクラスタシステム上に設定する⽅法をご紹介します。 これまで流体解析の分野では
高機能かつ高性能な商用アプリケーションが広く使われてきました。 保守も充実している商用アプリケーションですが、最近は企業CAE分野
で抱えているビジネス課題の変化に、特に下記の様な理由から OpenFOAMの採用が進んでいます。
OSSのCAEアプリケーションが、⼤規模計算対応により実用域に達してきた
流体解析のロジックのカスタマイズの要求がある
商用アプリケーションライセンス費用を最適化したい
共同作業のための環境としたい など
オーダー(VM)
・
・
・
・
オーダー(ベアメタル)
今後は適材適所で商用・OSSの並⾏利用とデータ形式の互換性向上がより進むと予想されています。
オーダー(NAS)
OpenFOAMとは
OpenFOAM(Field Operation and Manipulation)はCFD(数値流体解析)ツール
ボックスとしてOSSで公開されています。ESI GroupのOpenCFD社が商標登録
を持つ物理場の演算コード群です。
HPCソフトウェア
開発と管理はOpenFOAM Foundationが⾏っています。 様々な解析モデルが搭
載され、ユーザーが⾃由にそのモジュールを採用し計算を⾏うことができます。
配布はGPLで⾏われています。
OpenFOAM
機能としてはCFD解析のワークフローに必要なツール(プリプロセッサ:メッ
シュ⽣成、ソルバー:解析、ポストプロセッサ:解析結果の可視化)まで多くのコ
ンポーネントが収録されています。これらのコード群を使ってユーザーはオリ
ジナルの解析アプリケーションの作成ができます。
ファイル転送
メンテナンスもしっかりと⾏われており最新版(2.3.1)の他にもいくつかのバー
ジョンが並⾏して使われています。また最近のバージョンにはRPMパッケージ
も準備されており簡単にベースのインストールがなされるようになりました。
参考情報
OpenFOAMのWebサイト
IBM Japan Copyright 2015
63
基礎知識
HPC概説
OpenFOAMをセットアップする
開発環境とOpenMPIのRPMパッケージをインストールする
デザインパターン
開発ツールをインストールする
開発ツールインストールする
オーダー(VM)
前述でも触れましたので、再度⾏う必要はありませんがまだ開発ツールをインストールしていない場合は下記の
要領でyumを使って開発ツールをインストールしておきます。
#sudo yum groupinstall 'Development Tools'
次に並列計算ミドルウェアのMPIディストリビューション「OpenMPI」をインストールします。最も簡単な⽅法
はバイナリRPMをyumを使ってインストールします。
オーダー(ベアメタル)
OpenMPIをインストールする
# sudo yum install openmpi openmpi-devel qt zlib-devel cmake
オーダー(NAS)
OpenFOAMをインストールする
インストールにはqt等のGUI関連の要素も含まれていますがこれはOpenFOAMの結果表⽰(ポスト処理)を⾏う為
のツール「Paraview」も⼀緒にMakeするためにこの時点でインストールしておきます。インストールが終了し
たらOpenMPI関連の環境変数をにPATHの設定を⾏います。起動時に環境変数を読み込ませる場合はexport⾏を
/etc/bashrcに追記します。
ユーザーセッティング
HPCソフトウェア
sudo yum install openmpi openmpi-devel qt zlib-devel cmake
export PATH=/usr/lib64/openmpi/bin/:$PATH
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib/:$LD_LIBRARY_PATH
OpenFOAM
OpenMPIの実⾏バイナリはmpirunコマンドになります。 下記のテストコマンドを入⼒してPATHが正確に反映
されているか確認してください。
mpirun --version
ファイル転送
動作確認
これで開発環境のインストールと設定は終了です。このあとOpenFOAMのキットをインストールします。
参考情報
IBM Japan Copyright 2015
64
基礎知識
HPC概説
OpenFOAMをセットアップする
OpenFOAMのバイナリパッケージ(Version2.3.0)をインストールする
デザインパターン
OpenFOAMをインストールする
開発ツールインストールする
オーダー(VM)
続いて、OpenFOAMをインストールします。 OpenFOAMも安定版にはバイナリRPMの提供があります。今回は
そのバイナリRPMを使ってインストールします。ます下記の要領でポストプロセッサに使用するQT Webkitを
セットアップします。
OpenMPIをインストールする
そして最後にOpenFOAMをインストールすれば完成です。 下記の要領でyumコマンドを使ってインストールし
てください。
sudo rpm -i http://www.openfoam.org/download/rhel/6.5/x86_64/OpenFOAM-scotch-6.0.0-1.x86_64.rpm
sudo rpm -i http://www.openfoam.org/download/rhel/6.5/x86_64/OpenFOAM-ParaView-3.12.0-1.x86_64.rpm
sudo rpm -i http://www.openfoam.org/download/rhel/6.5/x86_64/OpenFOAM-2.3.0-1.x86_64.rpm
インストール後、下記の要領で⾃身のbashrc等にOpenFOAMの環境変数をデフォルトで読み込むよう設定します。
HPCソフトウェア
gedit ~/.bashrc
source /opt/OpenFOAM-2.3.0/etc/bashrc
ユーザーセッティング
OpenFOAM
設定が反映されていれば、下記のテスト実⾏ツールが動作するはずので順繰りに入⼒して内容を確認してみてく
ださい。
icoFoam -help
ファイル転送
動作確認
オーダー(NAS)
OpenFOAMをインストールする
オーダー(ベアメタル)
sudo yum-config-manager --nogpgcheck --add-repo http://dl.atrpms.net/el6-x86_64/atrpms/stable
sudo yum install --nogpgcheck qtwebkit qtwebkit-devel
また、標準OSイメージにはxauthパッケージが含まれていません。ParaView等のX Windowをリモートで扱う場
合は別途yumでインストールするか、ParaViewであればpvserverを起動し、ローカルにParaviewをインストー
ルし接続して利用する⽅法もあります。
参考情報
IBM Japan Copyright 2015
65
基礎知識
HPC概説
OpenFOAMをセットアップする
簡単な動作確認を⾏う
デザインパターン
OpenFOAMの動作確認を⾏う
開発ツールインストールする
最後に簡単なサンプル実⾏でOpenFOAMの動作確認を⾏います。
オーダー(VM)
sudo yum-config-manager --nogpgcheck --add-repo http://dl.atrpms.net/el6-x86_64/atrpms/stable
sudo yum install --nogpgcheck qtwebkit qtwebkit-devel
オーダー(ベアメタル)
OpenMPIをインストールする
まず初めにOpenFOAM環境変数の設定と作業用ディレクトリを作成します。
source /opt/OpenFOAM-2.3.0/etc/bashrc
mkdir -p $FOAM_RUN
OpenFOAMをインストールする
オーダー(NAS)
次に作成したディレクトリにサンプル実⾏ファイル群をコピーします。
cp -r $FOAM_TUTORIALS $FOAM_RUN
ユーザーセッティング
HPCソフトウェア
最後に下記の順番にコマンドを実⾏し、動作すればOKです!!
OpenFOAM
cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity
blockMesh
icoFoam
paraFoam
ファイル転送
これでOpenFOAMのインストールと基本的な動作確認が終了しました。
簡単な動作確認
参考情報
IBM Japan Copyright 2015
66
基礎知識
HPC概説
OpenFOAMをセットアップする
動作確認実⾏結果(blockMesh)
デザインパターン
OpenFOAMの動作確認結果
開発ツールインストールする
HPCソフトウェア
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
途中略・・・
---------------Patches
---------------patch 0 (start: 760 size: 20) name: movingWall
patch 1 (start: 780 size: 60) name: fixedWalls
patch 2 (start: 840 size: 800) name: frontAndBack
OpenFOAM
ファイル転送
簡単な動作確認
オーダー(NAS)
ユーザーセッティング
オーダー(ベアメタル)
OpenFOAMをインストールする
オーダー(VM)
OpenMPIをインストールする
# blockMesh
/*---------------------------------------------------------------------------*¥
| =========
|
|
| ¥¥
/ F ield
| OpenFOAM: The Open Source CFD Toolbox
|
| ¥¥ / O peration | Version: 2.3.0
|
| ¥¥ / A nd
| Web:
www.OpenFOAM.org
|
| ¥¥/ M anipulation |
|
¥*---------------------------------------------------------------------------*/
Build : 2.3.0
Exec : blockMesh
Date : Apr 16 2015
Time : 14:05:09
Host : "tok-hpc001.xd-lab.net"
PID : 9718
Case : /root/OpenFOAM/root-2.3.0/run/tutorials/incompressible/icoFoam/cavity
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations
End
参考情報
IBM Japan Copyright 2015
67
基礎知識
HPC概説
OpenFOAMをセットアップする
動作確認実⾏結果(icoFoam)
デザインパターン
OpenFOAMの動作確認結果
開発ツールインストールする
オーダー(ベアメタル)
オーダー(NAS)
OpenFOAMをインストールする
オーダー(VM)
OpenMPIをインストールする
/*---------------------------------------------------------------------------*¥
| =========
|
|
| ¥¥
/ F ield
| OpenFOAM: The Open Source CFD Toolbox
|
| ¥¥ / O peration | Version: 2.3.0
|
| ¥¥ / A nd
| Web:
www.OpenFOAM.org
|
| ¥¥/ M anipulation |
|
¥*---------------------------------------------------------------------------*/
Build : 2.3.0
Exec : icoFoam
Date : Apr 16 2015
Time : 14:10:15
Host : "tok-hpc001.xd-lab.net"
PID : 10262
Case : /root/OpenFOAM/root-2.3.0/run/tutorials/incompressible/icoFoam/cavity
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations
HPCソフトウェア
途中略・・
Time = 0.5
ユーザーセッティング
OpenFOAM
Courant Number mean: 0.222158 max: 0.852134
smoothSolver: Solving for Ux, Initial residual = 2.32737e-07, Final residual = 2.32737e-07, No Iterations 0
smoothSolver: Solving for Uy, Initial residual = 5.07002e-07, Final residual = 5.07002e-07, No Iterations 0
DICPCG: Solving for p, Initial residual = 1.0281e-06, Final residual = 2.77237e-07, No Iterations 1
time step continuity errors : sum local = 4.0374e-09, global = -9.0204e-19, cumulative = -2.44407e-18
DICPCG: Solving for p, Initial residual = 5.31987e-07, Final residual = 5.31987e-07, No Iterations 0
time step continuity errors : sum local = 6.12557e-09, global = -3.93738e-20, cumulative = -2.48344e-18
ExecutionTime = 0.13 s ClockTime = 61 s
ファイル転送
End
簡単な動作確認
参考情報
IBM Japan Copyright 2015
68
基礎知識
HPC概説
OpenFOAMをセットアップする
動作確認結果(paraFoam)
デザインパターン
開発ツールインストールする
オーダー(VM)
# ssh –X root@tok-hpc001 (クライアント側で # xhost + が必要です)
cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity
blockMesh
icoFoam
paraFoam
オーダー(ベアメタル)
OpenMPIをインストールする
オーダー(NAS)
OpenFOAMをインストールする
HPCソフトウェア
ユーザーセッティング
OpenFOAM
ファイル転送
簡単な動作確認
参考情報
IBM Japan Copyright 2015
69
基礎知識
HPC概説
OpenFOAMをセットアップする
ParaViewのリモート操作について(1)
デザインパターン
ParaViewのリモート操作
開発ツールインストールする
オーダー(VM)
オーダー(ベアメタル)
OpenMPIをインストールする
ParaViewはそのUIをXのリモートホストとして操作可能ですが、現実的にデータセンターか
らのネットワーク越しにすべてグラフィックを転送してくるため現実的な動きにならない場合
があります。その場合はParaViewのリモート操作を使うことをおすすめします。 この操作は
Xの環境でなくてもWindows環境でも操作可能ですので便利ですので是非試して⾒てください。
そのセットアップ⽅法をご紹介します。
# pvserver (pvserverを起動します)
Waiting for client
Connection URL: cs://localhost:11111 (ポート番号11111で待ちます)
OpenFOAMをインストールする
オーダー(NAS)
pvserverはデフォルトで11111番ポートを利用しますが、別途このポートの開放を⾏ってお
いてください。この状態でクライアントの接続を待ちます。
次にクライアントソフトウエアですが、次のURLより必要なバイナリをダウンロードしてくだ
さい。(http://www.paraview.org/download/) インストールも併せて⾏います。
HPCソフトウェア
ユーザーセッティング
OpenFOAM
ファイル転送
簡単な動作確認
注:クライアントと
サーバー側のParaVIewのバージョンは同一である必要があります。
参考情報
IBM Japan Copyright 2015
70
基礎知識
HPC概説
OpenFOAMをセットアップする
ParaViewのリモート操作について(2)
デザインパターン
ParaViewのリモート操作
開発ツールインストールする
オーダー(VM)
クライアントのインストールが終了したら、ParaViewを起動します。起動したらメニューア
イコンからサーバー接続ボタンを選択します。
オーダー(ベアメタル)
OpenMPIをインストールする
OpenFOAMをインストールする
オーダー(NAS)
Add Serverを選択しサーバーの
アドレス情報を入力します。
HPCソフトウェア
ユーザーセッティング
OpenFOAM
ファイル転送
入力が終了しましたらそのサーバーを選択し、 Connectボタンを押し接続します
簡単な動作確認
参考情報
IBM Japan Copyright 2015
71
基礎知識
HPC概説
OpenFOAMをセットアップする
ParaViewのリモート操作について(3)
デザインパターン
ParaViewのリモート操作
開発ツールインストールする
接続中は下記のメッセージが表⽰されます。
オーダー(VM)
オーダー(ベアメタル)
OpenMPIをインストールする
Pvserver側は、下記のメッセージ(Client connected) が表⽰されればOKです。
オーダー(NAS)
OpenFOAMをインストールする
# pvserver
Waiting for client
Connection URL: cs://localhost:11111
Client connected.
HPCソフトウェア
下記の様に Pipeline Browserにサーバーのアドレスが表⽰されればリモート操作が可能に
なります。
ユーザーセッティング
OpenFOAM
ファイル転送
簡単な動作確認
参考情報
IBM Japan Copyright 2015
72
基礎知識
HPC概説
デザインパターン
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
⾼速ファイル転送プログラム
HSCPをセットアップする
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
IBM Japan Copyright 2015
73
基礎知識
HPC概説
高速ファイル転送プログラム HSCPをセットアップする
デザインパターン
①HSCPをダウンロードする
⾼速ファイル転送ツールHSCPのインストール
HSCPは遠距離広帯域インフラ上での⼤容量ファイルの高速転送のために開発されています。scp のファイル転送
部分を UDP 通信に変えることで高速転送を実現しています。利用⽅法もSCPに類似しているので利用しやすいで
す。ソースコードの配布もありますが、主要プラットフォーム向けにはSourceForgeでバイナリが配布されてい
ますので下記の要領で必要なパッケージをダウンロードしてください。
オーダー(VM)
HSCPをダウンロードする
http://sourceforge.net/projects/hscp/
オーダー(ベアメタル)
サーバー(Linux)を設定する
オーダー(NAS)
HPCソフトウェア
クライアント(MacOS)を設定する
OpenFOAM
ファイル転送
利用⽅法
参考情報
IBM Japan Copyright 2015
74
基礎知識
HPC概説
高速ファイル転送プログラム HSCPをセットアップする
デザインパターン
②サーバー(Linux)を設定する
サーバー(Linux)を設定する
初めにサーバー側のセットアップを開始します。先ほどダウンロードしたパッケージ(hscp-0.9.21.x64_64.tgz)
を展開すると下記の様なファイル群があります。
オーダー(VM)
HSCPをダウンロードする
# ls
confdir.h hscp hscp.conf hscp.cpp hscp.h hscp.o Makefile Makefile.AIX Makefile.Cygwin
Makefile.default Makefile.SunOS README.en README.jp udtscp.cpp udtscp.h udtscp.o UPDATE
オーダー(ベアメタル)
既に本パッケージはビルドされた状態になっていますので下記の要領でインストールを⾏います。
サーバー(Linux)を設定する
HPCソフトウェア
続いて、設定ファイル(/usr/local/etc/hscp.conf) を下記の様に設定すれば完成です。
RshPath /usr/bin/rsh
UDPClientStartPort 32768
UDPClientEndPort 33023
### for server parameters
UDPStartPort 18001
UDPEndPort 18032
ServerAccept 1
SshVerbose 0
SshQuiet 1
StalledBoundary 0)
StalledContinuously 10
## for both, UDT parameters
UDTSendBufSize 768000
UDTRecvBufSize 768000
UDPSendBufSize 65536
UDPRecvBufSize 768000
UDTSendSynMode 1
UDTRecvSynMode 1
UDTMaxPktSize 1500
UDTMaxWinSize 25600
UDTMaxBandWidth 500000
OpenFOAM
ファイル転送
利用⽅法
オーダー(NAS)
クライアント(MacOS)を設定する
# make install
cp -p hscp /usr/local/bin
chown root:root /usr/local/bin/hscp
chmod 755 /usr/local/bin/hscp
cp -p hscp.conf /usr/local/etc
chown root:root /usr/local/etc/hscp.conf
chmod 644 /usr/local/etc/hscp.conf
参考情報
IBM Japan Copyright 2015
75
基礎知識
HPC概説
高速ファイル転送プログラム HSCPをセットアップする
デザインパターン
②クライアント(MacOS)を設定する
クライアント(MacOS)を設定する
次にクライアント側のセットアップを開始します。先ほどダウンロードしたパッケージ(hscp0.9.21.MacOS.tgz)を展開すると下記の様なファイル群があります。
ご利用されている端末のOSにあわせてパッケージを選択してください。
オーダー(VM)
HSCPをダウンロードする
オーダー(ベアメタル)
# ls
confdir.h hscp hscp.conf hscp.cpp hscp.h hscp.o Makefile Makefile.AIX Makefile.Cygwin
Makefile.default Makefile.SunOS README.en README.jp udtscp.cpp udtscp.h udtscp.o UPDATE
既に本パッケージはビルドされた状態になっていますので下記の要領でインストールを⾏います。
サーバー(Linux)を設定する
HPCソフトウェア
続いて、設定ファイル(/usr/local/etc/hscp.conf) を下記の様に設定すれば完成です。
RshPath /usr/bin/rsh
UDPClientStartPort 32768
UDPClientEndPort 33023
### for server parameters
UDPStartPort 18001
UDPEndPort 18032
ServerAccept 1
SshVerbose 0
SshQuiet 1
StalledBoundary 0)
StalledContinuously 10
## for both, UDT parameters
UDTSendBufSize 768000
UDTRecvBufSize 768000
UDPSendBufSize 65536
UDPRecvBufSize 768000
UDTSendSynMode 1
UDTRecvSynMode 1
UDTMaxPktSize 1500
UDTMaxWinSize 25600
UDTMaxBandWidth 500000
OpenFOAM
ファイル転送
利用⽅法
オーダー(NAS)
クライアント(MacOS)を設定する
# make install
cp -p hscp /usr/local/bin
chown root:root /usr/local/bin/hscp
chmod 755 /usr/local/bin/hscp
cp -p hscp.conf /usr/local/etc
chown root:root /usr/local/etc/hscp.conf
chmod 644 /usr/local/etc/hscp.conf
参考情報
IBM Japan Copyright 2015
76
基礎知識
HPC概説
高速ファイル転送プログラム HSCPをセットアップする
デザインパターン
④利用⽅法
HSCPの利用
使い⽅は、scp と同じです。scp から拡張したスイッチは以下のとおりです。
-R
-I 1
ssh の代わりに rsh で実⾏します.
オーダー(VM)
HSCPをダウンロードする
オーダー(ベアメタル)
1-3 の数値で表⽰モードを設定します.
default scp と同等の表⽰
1
1秒毎の通信速度等の表⽰を改⾏して表⽰します.
2
上と同じ表⽰を改⾏せずに表⽰します.
3
通信終了時に通信速度等の結果のみ表⽰します.
その他対応確認済みスイッチ
サーバー(Linux)を設定する
-l 500000
転送上限速度を指定します. (指定数の単位は kbit/sec) 0.9.12 以降で対応
オーダー(NAS)
connect: Connection setup failure: unable to create/configure UDP socket: No buffer space available.
というエラーが起きた場合は設定ファイル hscp.confのUDPRecvBufSizeの値を小さめに設定する必要がありま
す。
HPCソフトウェア
クライアント(MacOS)を設定する
OpenFOAM
ファイル転送
利用⽅法
参考情報
77
IBM Japan Copyright 2015
78
基礎知識
IBM Japan Copyright 2015
HPC概説
デザインパターン
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
参考情報
HPCソフトウェア
OpenFOAM
ファイル転送
参考情報
基礎知識
HPC概説
HPC用ノードをキャンセルする
利用が終了したノードを消去する
デザインパターン
デバイスをキャンセルする
SoftLayerはノードを停⽌しても課⾦は⽌まりません。不要になったノードは消去が必要になります。 本項ではノードの消去について解説し
ます。
オーダー(VM)
① Devices Listから 該当マシンの列から「Actions」を選択し
プルダウンメニューから「Cancel Device」をクリックします。
オーダー(ベアメタル)
② キャンセルされるノードの詳細が表⽰されます。内容を確認
し、「Continue」をクリックします。本当にキャンセルして良いかポップアップ
が出⼒されますので再度確認し「Cancel Device」をクリックして
ノードを消去してください。
オーダー(NAS)
HPCソフトウェア
ベアメタルサーバーの消去の場合は、キャンセル理由を選択する必要があります
ので下記のプルダウンから該当する物をクリックし選択します。
OpenFOAM
ファイル転送
デバイスがキャンセル出来ない場合
IBM Japan Copyright 2015
参考情報
場合によってキャンセルを実⾏した場合でも、数時間Device Listから消えない場合があります。 2-3時間でポータルからキャンセルしたデバ
イスが消えない(表⽰がされたまま)がある場合はチケットで即時キャンセルをオーダーしてください。
79
基礎知識
HPC概説
参考資料:HPCクラスタシステムに有用なサービス
① Endurance Storageについて
本例では、オーソドックスなNAS(ファイルストレージ)を採用しましたが、⼤規模かつ⻑期間インフラを維持して⾏く場合、ファイルスト
レージも強化する必要があります。 強化のポイントはいくつかありますが、HPCクラスタシステムの観点から下記の強化ポイントが想定出来
ます。
オーダー(VM)
・ ⼤規模システムからの同時アクセス
・ 高いIO性能
・高度なバックアップ機能と冗⻑性
・⼤容量のサポート
デザインパターン
iSCSI ブロックストレージの後継のファイルストレージ -Endurance Storage-
オーダー(ベアメタル)
オーダー(NAS)
HPCソフトウェア
OpenFOAM
ファイル転送
IBM Japan Copyright 2015
参考情報
そこで、登場したのが iSCSI ブロックストレージの後継のファイルストレージ Endurance Storageです。 その機能を下記に⽰します。より
高品質なHPCクラスタシステム導入の際は採用を検討すると良いでしょう。
80
基礎知識
HPC概説
参考資料:HPCクラスタシステムに有用なサービス
② バックアップ eVault
デザインパターン
シンプルな操作画面でバックアップサービスを実現
バックアップシステムのソリューションの1つとしてシンプルな操作画⾯からバックアップシステムを操作できるのeVaultです。
GUIでバックアップ設定は可能で各種バックアップ設定が可能です。利用⽅法もバック単位から利用可能です。 またeVaultのエージェントも
SoftLayerのポータルから簡単にダウンロード可能です。下記にその概念図を⽰します。
オーダー(VM)
オーダー(ベアメタル)
オーダー(NAS)
HPCソフトウェア
OpenFOAM
ファイル転送
IBM Japan Copyright 2015
参考情報
HPCクラスタシステムでは、基本システム内に置くのは「揮発性の高いデータ」ですので⼀定の感覚でバックアップの必要性はありませんが
手をかけずにバックアップを取っておきたい場合はeVaultの導入も選択肢の1つと思います。
81
基礎知識
HPC概説
参考資料:HPCクラスタシステムに有用なサービス
③ ⾼速ファイル転送アプライアンス Aspera
FASP™
⾼速ファイル転送の実現
クライアント
サーバー
オーダー(ベアメタル)
– 既存ネットワークに最適な伝送効率
– ファイルサイズ、転送距離、ネットワーク条件に
関わらず、⾼パフォーマンスでファイル転送が可
能
制御パケット
オーダー(NAS)
強靭なセキュリティー
HPCソフトウェア
– ユーザー/エンドポイント認証(SSH)
– 暗号アルゴリズムにAES-128を採用, FIPS対応
転送中のデータを暗号化
ファイルの暗号化(ファイルを暗号化/複
合化しながら送受信, 暗号化したまま保存
も可)
オーダー(VM)
Asperaソリューションの要は、特許取得済みの fasp™ 転送技術です。 その画期的な転送プロトコルにより、現⾏のインフラのままFTP や
HTTPに⽐べて数十〜百倍の高速化を実現し、さらに、徹底したセキュリティ、100パーセントの高信頼性、優れた帯域幅制御を提供します。
特に⼤規模HPCクラスタシステムを運用でかつ高速+セキュアなファイル転送が必要な場合は有償ではありますがAsperaの様なアプライアン
スを導入することも検討の1つと⾔えるでしょう。
デザインパターン
セキュアかつ⾼速なファイル転送を実現するAspera
時間
OpenFOAM
⾼信頼性
ファイル転送
– 独⾃アルゴリズムによるデータ整合性チェックと
再送処理を⾏い、高信頼性を確保
– 回線遮断時の自動リトライ機能、レジューム機能
IBM Japan Copyright 2015
参考情報
パケット到達順序に制約はなく、パケットロスが
発生しても、転送レートを下げずに転送は継続
82
82
基礎知識
HPC概説
参考資料:参考情報リンク
デザインパターン
• SoftLayerについて
オーダー(ベアメタル)
•
IBM SoftLayer 情報サイト: http://www.softlayer.com
SoftLayer Development Network: http://sldn.softlayer.com
IBM SoftLayer 「柔らか層本」:
https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUu
id=560da618-352c-4903-9e752dadfda71076#fullpageWidgetId=Wdb8d30a818d7_4177_a52b_0304e2c5442d&file=91df8465-51c64ec2-a338-b32982fec202
ソフトレイヤーコンフィグレーションガイド: https://gg-web.jp/document/ConfigGuide/docframe.html
オーダー(VM)
•
•
•
• HPCソフトウェアミドルウェア
SLURM ジョブスケジューラ: http://slurm.schedmd.com
•
•
•
OpenMPI: http://www.open-mpi.org
OpenFOAM Foundation: http://www.openfoam.org
ParaView: http://www.paraview.org
•
•
Aspera:http://asperasoft.com/ja/site/
高速ファイル転送プログラム HSCP: https://ccportal.ims.ac.jp/software/hscp
オーダー(NAS)
•
HPCソフトウェア
IBM platform computing: http://www-06.ibm.com/systems/jp/platformcomputing/
IBM Platform LSF: http://www-06.ibm.com/systems/jp/platformcomputing/products/lsf/index.html
ファイル転送
•
•
OpenFOAM
• IBM Platform製品
• OSS on SoftLayer (ThinkIT)
•
IBM Japan Copyright 2015
お疲れ様でした。
本書に関するご要望は、以下へお寄せください。
日本IBM
安田([email protected])
佐々木([email protected])
参考情報
OSSで実現する HPC on SoftLayer: http://thinkit.co.jp/story/2015/01/15/5525
83
ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提
供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むも
のでもありません。本資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗示に
かかわらずいかなる保証も伴わないものとします。本資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じ
た場合も、IBMは責任を負わないものとします。 本資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証ま
たは表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、ま
たそのような結果を生むものでもありません。
本資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示する
ものではありません。本資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもってい
つでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本資料
に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを
意図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した
測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミン
グの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々の
ユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。
記述されているすべてのお客様事例は、それらのお客様がどのように IBM製品を使用したか、またそれらのお客様が達成した結果の実例として示さ
れたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
IBM、IBM ロゴ、ibm.com、IBM SoftLayer、IBM Platform Computing、IBM Asperaは、世界の多くの国で登録されたInternational Business Machines
Corporationの商標です。
他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。
現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。
Adobe, Adobeロゴ, PostScript, PostScriptロゴは、Adobe Systems Incorporatedの米国およびその他の国における登録商標または商標です。
IT Infrastructure Libraryは英国Office of Government Commerceの一部であるthe Central Computer and Telecommunications Agencyの登録商標で
す。
インテル, Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Intel Centrino, Intel Centrinoロゴ, Celeron, Intel Xeon, Intel SpeedStep, Itanium, およびPentium
は Intel Corporationまたは子会社の米国およびその他の国における商標または登録商標です。
Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。
Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標です。
ITILは英国The Minister for the Cabinet Officeの登録商標および共同体登録商標であって、米国特許商標庁にて登録されています。
UNIXはThe Open Groupの米国およびその他の国における登録商標です。
Cell Broadband Engineは、Sony Computer Entertainment, Inc.の米国およびその他の国における商標であり、同社の許諾を受けて使用しています。
JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。
Linear Tape-Open, LTO, LTOロゴ, UltriumおよびUltriumロゴは、HP, IBM Corp.およびQuantumの米国およびその他の国における商標です。
Fly UP