Windows HPC Server 講習会 第1回 導入編 2/2

4,521 views

Published on

Windows HPC Serverに関する講習会。今回はHPC特に分散並列処理に関する歴史とHPC Serverの立ち位置、HPC serverのアーキテクチャと導入までを紹介しています。また社内利用者の多いMatlabをHPC Serverと絡めて利用するシナリオを独自に調査してあります。
https://tech.d-itlab.co.jp/omasutani/

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,521
On SlideShare
0
From Embeds
0
Number of Embeds
3,274
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • {}
  • Windows HPC Server 講習会 第1回 導入編 2/2

    1. 1. 2011/8/24 デンソーアイティーラボラトリ 増谷 Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    2. 2. Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    3. 3. 利用イメージ “ ジョブ” を定義 ジョブの中身(プログラム)を用意 ジョブの分割方法を定義 実行 ジョブマネージャから実行 ジョブマネージャ ジョ ブ Copyright 2011 Denso IT Laboratory, Inc. All rights reserved ジョ ブ ジョ ブ ジョ ブ
    4. 4. タスクの種類 1. シリアルアプリケーション 単純な(パラメータを持たない)独立したバッチ処理 例:ランダムなサンプルデータ生成 … 2. パラメータスイープ インデックス付の入出力ファイルをバッチ処理 例:大量画像処理、大量 Web ページ処理… 3. (番外編) Matlab から利用 いろいろなやり方 Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    5. 5. 1. シリアルアプリケーション あまり使わないが、基 本操作を覚えるには良 い “ ジョブの詳細” でジョ ブ名などを設定 Copyright 2011 Denso IT Laboratory, Inc. All rights reserved 一過性のもの なのであまり 考えなくてい い
    6. 6. 追加をクリッ クでタスクを 追加 1. シリアルアプリケーション タスクを指定 コマンドライン実行 ファイルなら何でも良 い コマンドを指 定 作業ディレク トリを指定 標準出力をフ ァイルに落と す Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    7. 7. 1. シリアルアプリケーショ ン リソースの選択 実行に利用するコン ピュータを指定 通常はすべてに投げれ ば良い Copyright 2011 Denso IT Laboratory, Inc. All rights reserved 使いたいグループを追 加 (しなくても良い) 実行に利用する最低ス ペックを指定できる
    8. 8. 1. シリアルアプリケーション 実行(ジョブの送信) 結果のビュー タスクIDを選択する 利用されたノードがわ かる Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    9. 9. 2. パラメータスイープ ほとんど同じ要領 “ 新しいジョブ” で” パラメータースイープタスク” を 追加 Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    10. 10. 2. パラメータスイープ パラメータを指定して コマンドライン実行 “ * “ で表現 入力パラメータ、入 力ファイル名、出力 ファイルなどに指定 できる ファイルをスイープ したい場合は内部で 変換するか、ファイ ル名を連番にすれば Copyright 2011 Denso IT Laboratory, Inc. よい All rights reserved
    11. 11. 2. パラメータスイープ 同じ共有フォルダに出 力するようにしておけ ば、結果が集まる バッチ内で指定しても いい Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    12. 12. ここまででできること exe 、 bat にできれば、なんでもいい。 C/C++/.NET/Java/Ruby/Python … Matlab もコンパイルすれば 問題を分割する ファイル処理なら、ファイル単位で分割すればよい タスクが独立な処理ならこの方法で良い 注意点 共有フォルダをうまく利用して結果を集約させる 別にDBにアクセスしてもいい  なるべくローカルフォルダは利用しない(汚すので)  Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    13. 13. 3.Matlab から HPC Matlab で並列計算と言えば Parallel Computing Toolbox http:// www.mathworks.co.jp/products/parallel-computing/index.h 中々のお値段: Toolbox 17 万、 Server 102 万以上 お手軽版として HPC Server を利用 単純なバッチ処理分割なら十分 Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    14. 14. 3.Matlab から HPC いくつか利用法がある 3-1 Parallel Computing Toolbox を使う [ こんな時 ] PCT を持ってるよ。でもサーバは無いよ ccsscheduler というコマンドを利用 ジョブの発行  ジョブファイルのやり取り  クラスタスペックの取得  など  Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    15. 15. 3.Matlab から HPC 3-2 コンパイルする Matlab Compiler でコンパイルして、 exe にしてし まう [ こんな時 ] すでにコンパイルしている、その方が速 い 以降の使い方はバッチ処理と同じ ノードに Matlab ライセンス不要 事前に MCR を配置する必要がある? Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    16. 16. 3.Matlab から HPC 3-3 Matlab インタプリタをそのまま利用 [ こんな時 ] コンパイルが面倒、試行錯誤したい ノードに Matlab ライセンスが必要 アクセスユーザに注意が必要 バッチファイルと matlab のコマンドラインモードを 利用する いくつかの方式について、 run helper を作成済み  cobPublicDocumentshpcrunhelpers Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    17. 17. 3.Matlab から HPC 3-3-1 logfile run helper を利用 コンソールの log を利用 結果ログを出すだけで良いとき コマンドとログ出力ファイル名を引数として渡すだけ コマンドが終了するまで待つ スプラッシュなし 第一引数を実行 start /w matlab -wait -nodesktop -nosplash -minimize -r %1 -logfile %2 コマンドが終了するまで待つ GUIなし コンソールウィンドウ最小化 ログファイル出力先 Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    18. 18. 3.Matlab から HPC 3-3-1 logfile run helper を利用  cobPublicDocumentshpcrunhelpersmatlabmatlablogfile Job 指定方法 普通のバッチコマンドと同じ リソースをライセンスのあるマシンに   限定 run helper バッチファイル:すべてのノードから参照できる場所 cobPublicDocumentshpcrunhelpersmatlabmatlablogfilematlabtask.bat "disp(magic(*));exit;" cobPublicDocumentshpcappstestmat_result*.log ログの出力先 コマンド ( ( * でパラメータスイープ)* でパラメータスイープ) Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    19. 19. 3.Matlab から HPC 3-3-2 command sweep run helper を利用  cobPublicDocumentshpcrunhelpersmatlabmatlabcommandsweep コマンドがログを出すことにする -logfile の出力からゴミを除去するのが面倒なとき Usage(Bat 中に記載 )     %1 Matlab コマンド名 ※コマンドの引数を書かないでください。 %2 スィープパラメータ 通常はタスクプロパティの "*" を入れれば良いでしょう。 %3 コマンドの第二引数 通常はコマンドの出力先を入れれば良いでしょう。 %4 ログファイル出力先 一応デバッグのためログファイルも指定できます。 matlabcommandsweep mycommand * cobPublicDocumentshpcappshogehogematout* cobPublicDocumentshpcappshogehogematlog*.txt Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    20. 20. Matlab ライセンスについて ライセンスはユーザと紐づく 通常ドメインアカウントに紐づいている インストール時に指定したログインアカウントだけ 1ユーザ4つまでインストール可能 以上の方法では、4並列まで どうにかならないか? (いわゆる Windows )タスクを利用 Copyright 2011 Denso IT Laboratory, Inc. All rights reserved
    21. 21. 3.Matlab から HPC 3-3-3 “command sweep multi” run helper を利用  各マシンの Matlab インストールユーザで実行  ブリッジするバッチファイルをローカルに配布  一度だけ認証すると、以降認証いらず matlabcommandsweepx matlabcommandsweepx Run_matlab_by_validuser Run_matlab_by_validuser 各マシンのライセンスユーザで一度実行しておく Copyright 2011 Denso IT Laboratory, Inc. All rights reserved

    ×