Windows HPC Server を使ってみる

Slides:



Advertisements
Similar presentations
© 2007 Autodesk1 ProjectPoint API 概要 AEC ソリューション CPM オートデスク株式会社.
Advertisements

主専攻実験 第1回 ガイダンス資料 TA : 野坂 龍佑 (M2), 高林大輔 (M1)
マイクロソフトがホスティングする拡張性に優れたサービス ベース アプリケーション プラットフォーム.
Windows Azure ハンズオン トレーニング Windows Azure Web サイト入門.
BBT大学 Ruby on Rails開発環境セットアップマニュアル
WinDBG6によるRTX5.5デバッグ RTX開発環境 WinDBG6.0 debugモードで起動 232Cクロスケーブル
2006年9月27日 植田龍男 Webサービス II (第1回) 年9月27日 植田龍男.
IIS 4.0で開発をするコツ Webアプリケーション構築.
7-1.WEKOコンテンツ 一括登録 マニュアル Version2.5
ご使用の前に 使用可能なPC環境 Windows XP SP2 以上
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
Windows Azure 仮想マシン 入門.
ファイルやフォルダを検索する ①「スタート」→「検索」→「ファイルとフォルダ」とクリックする。
.NETフレームワーク3.5インストールのお願い
BREWを学ぶ 情報工学科1組 石原 第5週目 Microsoft Visual Studio .NET 2003を使って
Microsoft Office Project 2007
報告 (2006/9/6) 高橋 慧.
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
コンピュータと情報 第3回 補遺 ファイルとフォルダ.
MSBuild 色々出来るよ 2011/04/02 お だ.
複数CPU間のための共有メモリ 小島 隆史(中央大学大学院理工学研究科 國井研究室)
Live Framework 入門 その2 JZ5(松江) 2009/8/22.
 データベースによる並列処理 情報論理工学研究室  三宅健太.
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
Windows Phone 7.5 の データ アクセスとクラウド連携
Titanium Studioを使った アプリ開発 Vol.1
Windows-XPにソフトをインストールしたい
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
杉山耕一朗(北大理) 2009/02/06 epnetfan
Office IME 2010 を使う.
≅ ≰ ≳ ≗ ≲ ≩ ≴ ≥ ver manual Tanaka.
Windows Azure (CTP) 触ってみた
Microsoft MVP for Development Tools – Visual C++
表紙.
オーバレイ構築ツールキットOverlay Weaver
オープンソフトウェア利用促進事業 第3回OSSモデルカリキュラム導入実証
.NET Framework 3.0 概要 (旧称 : WinFX)
Microsoft MVP for Development Tools – Visual C++
仕事: SystemVerilogを使いたい
Microsoft BizTalk Server & SAP PP モジュール 連携検証レポート概要
RD セッション ホストにおける RDC クライアントの シングル サインオン (SSO) について
ゲーム開発モデルの基礎.
Office 2010 ボリュームライセンス認証の概要と KMS認証のトラブルシューティング
このところの技術動向からみる開発あれこれの考察
WinSCPのインストール方法
Windows Azure (CTP) 触ってみた
TA 高田正法 B10 CPUを作る   実験の前に TA 高田正法
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
7-0.SWORD Client for WEKO インストールマニュアル Version 2.2
2013年度 プログラミングⅡ ~ はじめてのプログラミング ~.
<前提条件> iSeriesSite ワークフロー 実行環境 構成イメージ
Microsoft MVP for Development Tools – Visual C++
≅ ≰ ≳ ≗ ≲ ≩ ≴ ≥ ver manual Tanaka.
このところの技術動向からみる開発あれこれの考察
2014年度 プログラミングⅡ ~ はじめてのプログラミング ~.
SQL Server 2008 および 更新プログラムの一括セットアップ
~目次~ Ⅰ.動作環境 Ⅱ.ファイルのダウンロード Ⅲ.システムのインストール Ⅳ.初期設定 Ⅴ.アンインストール
高度プログラミング演習 (01).
iSeries Site 人事・給与C/S版のハードウェア・ソフトウェア要件
.NET Framework 3.5 インストールに関する注意点
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
SYSVOL複製 を DFS レプリケーションに移行する
キネクトとは 第1回.
Presentation transcript:

Windows HPC Server を使ってみる 2013/6/21 threecourse

目次 なぜ「Windows HPC Serverによる分散処理計算」か? Windows HPC Serverによる分散処理環境の構成 分散処理アプリケーションの作成 分散処理アプリケーションの流れ 分散処理アプリケーションのポイント 参考資料

なぜ「Windows HPC Serverによる 分散処理計算」か? 保険数理におけるEmbedded Value計算・リスク量計算などにおいては、大量のシナリオ・センシティビティによるプロジェクションが求められます。 1台のPCでは計算速度に限界があるので、複数台PCによる分散処理計算が必要となってきます。 複数台PCによる分散処理計算の方法の一つとして、Windows HPC Serverがあります。 その他、Hadoopなどの選択肢もあるようです。

Windows HPC Serverによる分散処理環境の構成 ヘッドノード+ノード(複数)による構成になります。 この他、ファイルを保存するファイルサーバを用意することもあります。 ヘッドノード…ジョブ/タスクの管理を行うPC ノード …計算を行うPC ノード ノード ノード ヘッドノード ノード ノード ノード

Windows HPC Serverが行うこと 具体的には、以下のようなことを行います。 タスクを各ノードに割り振る ジョブ/タスクが完了したり、失敗したときにそれを通知する ジョブ ひとかたまりの仕事。ジョブ単位でWindows HPC Serverに「投げる」ことになります。 1つのジョブは複数のタスクから構成されます。 (例:ある保険種類のプロジェクションの1000シナリオの計算) タスク ジョブを小さく分けたもの。タスク単位で各ノードPCに割り振られます。 (例:ある保険種類のプロジェクションの1000シナリオのうち、各1シナリオの計算)

Windows HPC Server 環境構築 1.Windows Azure(Microsoftのクラウドサービス)を使用する方法 Windows Azure上に、Windows HPC Serverがインストールされた状態で仮想PCを構築することができます。 以下の資料の前半部に沿うことで、Windows Azure上にWindows HPC Serverがインストール済みの環境を構築することができます。(資料のサンプルアプリケーションの代わりに、以下で説明するサンプルアプリケーションを実行できる) Getting Started with Application Deployment with the Windows Azure HPC Scheduler http://msdn.microsoft.com/en-us/library/hh560245%28VS.85%29.aspx

Windows HPC Server 環境構築(続き) 2.実PCで運用する方法 複数台PCを購入し、それらにWindows HPC Packを導入します。個人ではちょっと現実的ではないですね。。

分散処理アプリケーションの作成 サンプル分散処理アプリケーション 100行の数値をインプットとし、各行の数値の2乗平均和を取得するアプリケーションを作成します。 ジョブを「各行の数値を2乗すること×100」とし、分散処理実行させます。その後、結果を取得しクライアント側で平均をとります。 サンプル分散処理アプリケーションの構成 以下のようにプログラムを分割して構成しています。 SampleClient.exe…クライアントアプリケーション。これを起動して計算を開始します。 HPCLib.DLL …分散処理用のライブラリ HPCNode.exe …ノードから実行される実行ファイル SampleClient.exeの部分を変更することで、好きな計算を分散処理により行うことができます。

分散処理アプリケーションの作成 サンプル分散処理アプリケーションのビルド 筆者はVisual Studio 2010 Professionalで開発しましたが、2012やExpress版でも実行可能と思います。 参考資料にある以下SDKのインストールが必要となります。 HPC Pack 2008 R2 Client Utilities Redistributable Package with Service Pack 4 Microsoft HPC Pack 2008 R2 SDK with Service Pack 4

分散処理アプリケーションの流れ 準備 各ノードPCからも読み書きができる共有フォルダを作成しておきます。 計算の流れ SampleClient.exeを実行します。 共有フォルダ内に一時フォルダを作成し、必要なデータをコピーします。この中に各ノードPCから実行するためのHPCNode.exeも含めます。 Windows HPC ServerにHPCNode.exeを実行するジョブを送信します。 Windows HPC Serverから指示を受けた各ノードPCがHPCNode.exeを実行する。実行結果はファイルとして共有フォルダに保存します。 Windows HPC Serverからジョブが終了したという指示を受け取ります。 各ノードPCの実行結果を読み込み、集計して結果を出力します。 一時フォルダを削除します。 他にも、SOA(サービス志向アーキテクチャ)という方法で分散処理を行うこともできます。しかし、学習すべき事項が増えるため、今回はその方法をとっていません。

分散処理アプリケーションの流れ ヘッドノード 4.ジョブ指示 ノード 3.ジョブ送信 共有フォルダ 4.ノード計算実行 2.コピー 4.ノード計算結果保存 ノード 計算結果

分散処理アプリケーションの流れ ヘッドノード 5.ジョブ終了通知 ノード 共有フォルダ 分散処理アプリケーション 分散処理アプリケーション 7.削除 6.集計・出力 ノード 計算結果 計算結果 6.ノード計算結果の取得

分散処理アプリケーションのポイント 通常のアプリケーションでは1つのPC内で計算されるため、普通にプログラムを書くことで、メモリ内で情報を受け渡すことができます。 しかし、分散処理アプリケーションでは、別のPCで実行するため、情報を共有/受け渡すために配慮が必要となります。

分散処理アプリケーションのポイント (つづき) データの受け渡し インプットデータ・計算したデータ等の受け渡しには共有フォルダを使っています。 計算したデータの受け渡しには、「シリアライズ」というデータをファイルとして保存する機能を利用しています。 「シリアライズ」により計算結果を表すクラスをファイルに保存し、逆(デリシアライズ)によって読み込みます。

分散処理アプリケーションのポイント (つづき) ノードからの計算メソッドの実行 ノード用実行ファイルがクライアントのクラスを利用するため、普通に組むとノード用実行ファイルがクライアントに依存することになり、ライブラリとして切り出しにくくなります。 ですので、実行すべきクラス・メソッドを文字列で渡し、「リフレクション」という機能を使って実行しています。 「リフレクション」を使うと、クラスが定義された実行ファイル・ライブラリをロードし、クラス・メソッド名を文字列で指定することでメソッドを実行することができます。

参考資料 Windows HPC Serverで分散処理を行うアプリケーションを作成するのに必要なSDK Microsoft HPC Pack 2008 R2 SDK with Service Pack 4 http://www.microsoft.com/en-us/download/details.aspx?id=29992 この中にSampleもあるので参考になります。 特に、Scheduler\HPCSchedulerBasicsが一番基本になります。 HPC Pack 2008 R2 Client Utilities Redistributable Package with Service Pack 4 http://www.microsoft.com/ja-jp/download/details.aspx?id=17017

参考資料(つづき) Azureで分散処理を行うために必要なSDK Windows Azure HPC Scheduler SDK (1.7, June 2012) http://www.microsoft.com/en-us/download/details.aspx?id=28015 Windows Azure SDK for .NET - June 2012 SP1 http://www.microsoft.com/en-us/download/details.aspx?id=30651 SOAアプリケーションを作成して分散処理を行うためのドキュメント SOAアプリケーションを扱わない場合でも、Windows HPC Serverの仕組みを理解するのには役立ちます。 SOA Applications, Infrastructure and Management with Windows HPC 2008 R2 http://www.microsoft.com/en-us/download/details.aspx?id=11540

QUESTION?