SlideShare a Scribd company logo
Matlab Distributed Computing
Server(MDCS)の使い方
SIGPP #3
2015.3.10
増谷
MATLAB Distributed Computing Server とは?
• MATLABのコンピュータクラスタ環境
• http://jp.mathworks.com/products/distriben/
• 以下の並列環境をサポート
• バッチ ジョブ
• 並行処理
• 大規模分散データ
• 機能
• ほごすべてのツールボックス、ブロックセットにアクセス可能
• GPU対応機能を実行可能
• MATLAB Compiler のアプリから並列実行可能(コンパイル可)
• MATLABをサポートする、全てのHW、OSをサポート
• 組み込みスケジューラの他にサードパーティスケジューラをサポート
MDCSのメリット
• Matlabでの重いバッチ処理を素早く終
わらせる
• Matlabスクリプト(.mファイルのまま)をそ
のまま並列実行
• 並列化を意識した コンパイル済み実行
コードを高速に実行
• GPU対応
• 複数ユーザ同時アクセス可能
• 既存のクラスタを利用できる
• Windows HPC Serverなど
• MDCS以外の追加コストは不要
• ノードはクラウド上にあっても構わない
MDCSの利用条件
• MDCSに処理を投げるクライアント
• MATLAB/Simulinkから Parallel Computing
Toolbosを介してDCSを操作
• Matlab Compilerを利用した実行ファイルか
らDCSを操作
• MDCSクラスタ (Matlabワーカー)
• ライセンスはサーバーライセンスのみ
• ノード側に別途ライセンスは必要ない
• ノード側にツールボックスやブロックセットのラ
イセンスは必要ない(ジョブを投げるユーザ側
のライセンスに依存)
MATLAB Distributed Computing Server ではすべての MathWorks ツール
ボックスやブロックセットのライセンスが提供されるため、クラスター内の
各コンピューターに対して特定の製品のためのライセンスを追加購入し
なくても、MATLAB プラグラムをクラスターで実行できます。
特殊なツールボックスはサポートしない
http://jp.mathworks.com/products/ineligible_programs/
実際の構成
• ヘッドノード
• MDCSとライセンスサーバー、HPC Pack(ヘッドノード)をインス
トール
• ワーカー
• MDCSとHPC Pack(ワーカー)をインストール
• クライアント
• MatlabとPCTをインストール
• 参考
• http://jp.mathworks.com/support/product/DM/installation/v
er_current/
• http://jp.mathworks.com/help/mdce/install-product-and-
choose-cluster-configuration.html
• http://jp.mathworks.com/help/mdce/configure-parallel-
computing-products-for-hpc-server.html
導入時期
• 試用版入手、試用 ~2月上旬
• 購入決定 ~2月下旬
• 購入 ~3月
• 運用開始 3月~
利用手順
• 複数の利用法がある
• Parallel for-loops
• Distributed Arrays
• Message-Passing Functions
Parallel for-loops
• みんな大好きパラレルフォー(parfor)
• パラメータスイープで簡単に並列化
• 自動的に必要なデータとコードを識別
• 自動的にワーカーの識別
• 要件
• ループ内は独立な処理でなければならない。
• 通信はワーカー同士では行われない。
• 右記ではAのみが結果として得られる。(他は完全独立)
• おまじない(matlabpool)
• インタラクティブに利用する場合
• バッチとして投げる場合はcreateMatlabPoolJob
初級編
parfor
• Parforはforと全く同じではない
• http://jp.mathworks.com/help/distcomp/parfor.html
• 外部から参照できる変数
• スイープパラメータ (i)に影響を受ける変数
• コード1では Cだけが結果に影響
• 適切に選択された演算子で計算された変数
• コード2ではsが正しく計算される
• 順番に依存しない演算
コード1
parfor i = 1:n
t = f(A(i));
u = g(B(i));
C(i) = h(t, u);
end
コード2
s = 0;
parfor i = 1:n
if p(i) % assume p is a function
s = s + 1;
end
end
初級編
Distributed Arrays と並列関数を使った大規模データの扱い
• 複数のワーカーに分散したデータに
対して分散して関数を実行できる
• 分散配列(Distributed Arrays)
• 以下のいずれかで生成可能
• Rands,onesなどのコンストラクタ
• 各ワーカーの同じ名前の配列を結合
• 大規模行列を分散
• 150の関数が分散配列をサポート
• http://jp.mathworks.com/help/distcomp/
using-matlab-functions-on-codistributed-
arrays.html
• ScaLAPACKを利用している
中級編
自分で分散したい場合
• spmd (single program multiple data)
• 明示的にデータの分割や処理を書ける
• 自分のアルゴリズムを適切に分割するために必要
• 分割方法
• Codistribution1d : 1次元の分割
• 指定の次元で分割
• 指定の分割数で分割
中級編
Message-Passing Functions
• もっと最適化したい場合
• MPI-2準拠のワーカー間通信が可能
• 要件
• 並列アルゴリズムのファインチューニン
グが可能
• 各並列セクションの同期を手動で実現す
る必要がある
• send, receive, broadcast, barrier, probe
が可能
• 激しく難しい並列デバッグを簡単に
• セットアップ不要(spmdだけ)
• すべてのMATLABデータタイプが利用可
能
• デッドロック検出
上級編
ベンチマーク
• Parforならほぼリニア
• オーバーヘッドをなくすには
大きなジョブを
MDCS環境
• MDCSの利用環境
• 混合プラットフォーム
• 混合プラットフォームがサポートされているため、クライアント、MJS および
ワーカーが同じプラットフォームにある必要はありません。
• Heterogeneous cluster
• 異なるOSで構成されるクラスタ
• Parfor, spmd, 分散配列, mpiは使えない(!)
• 一部の関数のみ利用可能
クラスタの他の利用方法
• 様々な環境、言語から利用可能です
コード パラメータスイー
プ
データ分散 ワーカー間通信 GPGPU グループ化 スケジューラGUI クラウドノード
MDCS with スクリ
プト(.m) on MJS
Matlab スクリプト ○ (parfor) ○ ○(MPI) NVIDIA × × ―
MDCS with コンパ
イラ on MJS
mex ○ (parfor) ○ ○(MPI) NVIDIA × × ―
MDCS with スクリ
プト(.m) on HPC
Server
Matlab スクリプト ○ (parfor) ○ ○(MPI) NVIDIA ○ ○ ○ (Azure)
MDCS with コンパ
イラ on HPC
Server
mex ○ (parfor) ○ ○(MPI) NVIDIA ○ ○ ○ (Azure)
バッチ on HPC
Server
exe, batなど ○ HPC Manager ― ― 個別 ○ ○ ○ (Azure)
MPI on HPC
Server
C,C++, etc… ○ ― ○(MPI) 個別 ○ ○ ○ (Azure)
HPC SOA on HPC
Server
C#, .NET ○ ― ○(SOA) 個別 ○ ○ ○ (Azure)

More Related Content

What's hot

第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
Ryosuke MATSUMOTO
 
Ruby東京プレゼン 資料
Ruby東京プレゼン 資料Ruby東京プレゼン 資料
Ruby東京プレゼン 資料
Kazuaki Tanaka
 
Jubatus 新機能ハイライト
Jubatus 新機能ハイライトJubatus 新機能ハイライト
Jubatus 新機能ハイライト
JubatusOfficial
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
Takuya ASADA
 
KVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマークKVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
 
Psql & proctitle
Psql & proctitlePsql & proctitle
Psql & proctitle
Yuichiro Naito
 
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Takuya ASADA
 
Mod lua
Mod luaMod lua
Mod luado_aki
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
NVIDIA Japan
 
PostgreSQL共有バッファと関連ツール
PostgreSQL共有バッファと関連ツールPostgreSQL共有バッファと関連ツール
PostgreSQL共有バッファと関連ツール
Masahiko Sawada
 
Packetshader: A GPU-accelerated Software Routerを読んだ
Packetshader: A GPU-accelerated Software Routerを読んだPacketshader: A GPU-accelerated Software Routerを読んだ
Packetshader: A GPU-accelerated Software Routerを読んだ
y_uuki
 
コモディティL3SW/ルータでオープンなSDNを実現しよう
コモディティL3SW/ルータでオープンなSDNを実現しようコモディティL3SW/ルータでオープンなSDNを実現しよう
コモディティL3SW/ルータでオープンなSDNを実現しよう
Takashi Sogabe
 
C#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめC#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめ
NVIDIA Japan
 
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Masahiko Sawada
 
EWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させる
EWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させるEWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させる
EWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させる
Kiyoshi Sawada
 
CloudCore VPS 開発者支援制度
CloudCore VPS 開発者支援制度CloudCore VPS 開発者支援制度
CloudCore VPS 開発者支援制度Koichi Shimozono
 
Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~
miraitas
 
ベアメタルプロビジョニング
ベアメタルプロビジョニングベアメタルプロビジョニング
ベアメタルプロビジョニング
VirtualTech Japan Inc.
 
Matz presentation for Fukuoka Ruby Days 2010
Matz presentation for Fukuoka Ruby Days 2010Matz presentation for Fukuoka Ruby Days 2010
Matz presentation for Fukuoka Ruby Days 2010
Ruby Business Commons
 

What's hot (20)

第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
 
Ruby東京プレゼン 資料
Ruby東京プレゼン 資料Ruby東京プレゼン 資料
Ruby東京プレゼン 資料
 
Jubatus 新機能ハイライト
Jubatus 新機能ハイライトJubatus 新機能ハイライト
Jubatus 新機能ハイライト
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
 
KVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマークKVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマーク
 
Psql & proctitle
Psql & proctitlePsql & proctitle
Psql & proctitle
 
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
 
Mod lua
Mod luaMod lua
Mod lua
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
 
Postgres Toolkitのご紹介
Postgres Toolkitのご紹介Postgres Toolkitのご紹介
Postgres Toolkitのご紹介
 
PostgreSQL共有バッファと関連ツール
PostgreSQL共有バッファと関連ツールPostgreSQL共有バッファと関連ツール
PostgreSQL共有バッファと関連ツール
 
Packetshader: A GPU-accelerated Software Routerを読んだ
Packetshader: A GPU-accelerated Software Routerを読んだPacketshader: A GPU-accelerated Software Routerを読んだ
Packetshader: A GPU-accelerated Software Routerを読んだ
 
コモディティL3SW/ルータでオープンなSDNを実現しよう
コモディティL3SW/ルータでオープンなSDNを実現しようコモディティL3SW/ルータでオープンなSDNを実現しよう
コモディティL3SW/ルータでオープンなSDNを実現しよう
 
C#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめC#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめ
 
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理
 
EWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させる
EWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させるEWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させる
EWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させる
 
CloudCore VPS 開発者支援制度
CloudCore VPS 開発者支援制度CloudCore VPS 開発者支援制度
CloudCore VPS 開発者支援制度
 
Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~
 
ベアメタルプロビジョニング
ベアメタルプロビジョニングベアメタルプロビジョニング
ベアメタルプロビジョニング
 
Matz presentation for Fukuoka Ruby Days 2010
Matz presentation for Fukuoka Ruby Days 2010Matz presentation for Fukuoka Ruby Days 2010
Matz presentation for Fukuoka Ruby Days 2010
 

Viewers also liked

A Sensing Coverage Analysis of a Route Control Method for Vehicular Crowd Sen...
A Sensing Coverage Analysis of a Route Control Method for Vehicular Crowd Sen...A Sensing Coverage Analysis of a Route Control Method for Vehicular Crowd Sen...
A Sensing Coverage Analysis of a Route Control Method for Vehicular Crowd Sen...
Osamu Masutani
 
C++ amp on linux
C++ amp on linuxC++ amp on linux
C++ amp on linux
Miller Lee
 
Taxi Fare Deep Dive
Taxi Fare Deep DiveTaxi Fare Deep Dive
Taxi Fare Deep Dive
Osamu Masutani
 
C++ AMPを使ってみよう
C++ AMPを使ってみようC++ AMPを使ってみよう
C++ AMPを使ってみよう
Osamu Masutani
 
Fluentd,mongo db,rでお手軽ログ解析環境
Fluentd,mongo db,rでお手軽ログ解析環境Fluentd,mongo db,rでお手軽ログ解析環境
Fluentd,mongo db,rでお手軽ログ解析環境
Michitaka Iida
 
Tokyo r50 beginner_2
Tokyo r50 beginner_2Tokyo r50 beginner_2
Tokyo r50 beginner_2
Takashi Minoda
 
Collaborativefilteringwith r
Collaborativefilteringwith rCollaborativefilteringwith r
Collaborativefilteringwith r
Teito Nakagawa
 
Traffic simulation based on space syntax
Traffic simulation based on space syntaxTraffic simulation based on space syntax
Traffic simulation based on space syntax
Osamu Masutani
 
Rでコンジョイント分析
Rでコンジョイント分析Rでコンジョイント分析
Rでコンジョイント分析osamu morimoto
 
Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編
Osamu Masutani
 
2016 nov22 gdlc02 ntt communications
2016 nov22 gdlc02 ntt communications2016 nov22 gdlc02 ntt communications
2016 nov22 gdlc02 ntt communications
Tomokazu Kanazawa
 
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
Nagi Teramo
 
EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016 EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016
Yasuhiro Matsuo
 
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
Shota Umeda
 
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介
Yasuhiro Matsuo
 
AWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCacheAWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCache
Amazon Web Services Japan
 
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 WinterAI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
Yasuhiro Matsuo
 
AWS Black Belt Techシリーズ Amazon Relational Database Service (RDS)
AWS Black Belt Techシリーズ Amazon Relational Database Service (RDS)AWS Black Belt Techシリーズ Amazon Relational Database Service (RDS)
AWS Black Belt Techシリーズ Amazon Relational Database Service (RDS)
Amazon Web Services Japan
 

Viewers also liked (20)

A Sensing Coverage Analysis of a Route Control Method for Vehicular Crowd Sen...
A Sensing Coverage Analysis of a Route Control Method for Vehicular Crowd Sen...A Sensing Coverage Analysis of a Route Control Method for Vehicular Crowd Sen...
A Sensing Coverage Analysis of a Route Control Method for Vehicular Crowd Sen...
 
C++ amp on linux
C++ amp on linuxC++ amp on linux
C++ amp on linux
 
Taxi Fare Deep Dive
Taxi Fare Deep DiveTaxi Fare Deep Dive
Taxi Fare Deep Dive
 
C++ AMPを使ってみよう
C++ AMPを使ってみようC++ AMPを使ってみよう
C++ AMPを使ってみよう
 
Fluentd,mongo db,rでお手軽ログ解析環境
Fluentd,mongo db,rでお手軽ログ解析環境Fluentd,mongo db,rでお手軽ログ解析環境
Fluentd,mongo db,rでお手軽ログ解析環境
 
Tokyo r50 beginner_2
Tokyo r50 beginner_2Tokyo r50 beginner_2
Tokyo r50 beginner_2
 
Collaborativefilteringwith r
Collaborativefilteringwith rCollaborativefilteringwith r
Collaborativefilteringwith r
 
R3.0.0 is relased
R3.0.0 is relasedR3.0.0 is relased
R3.0.0 is relased
 
Traffic simulation based on space syntax
Traffic simulation based on space syntaxTraffic simulation based on space syntax
Traffic simulation based on space syntax
 
Rでコンジョイント分析
Rでコンジョイント分析Rでコンジョイント分析
Rでコンジョイント分析
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編
 
2016 nov22 gdlc02 ntt communications
2016 nov22 gdlc02 ntt communications2016 nov22 gdlc02 ntt communications
2016 nov22 gdlc02 ntt communications
 
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
 
EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016 EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016
 
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
 
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介
 
AWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCacheAWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCache
 
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 WinterAI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
 
AWS Black Belt Techシリーズ Amazon Relational Database Service (RDS)
AWS Black Belt Techシリーズ Amazon Relational Database Service (RDS)AWS Black Belt Techシリーズ Amazon Relational Database Service (RDS)
AWS Black Belt Techシリーズ Amazon Relational Database Service (RDS)
 

Similar to Matlab distributed computing serverの使い方

Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類
Shuzo Kashihara
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなしOonishi Takaaki
 
MapReduce解説
MapReduce解説MapReduce解説
MapReduce解説
Shunsuke Aihara
 
Wakame-vnet / Open Source Project for Virtual Network & SDN
Wakame-vnet / Open Source Project for Virtual Network & SDNWakame-vnet / Open Source Project for Virtual Network & SDN
Wakame-vnet / Open Source Project for Virtual Network & SDN
axsh co., LTD.
 
AWSのデータベースサービス全体像
AWSのデータベースサービス全体像AWSのデータベースサービス全体像
AWSのデータベースサービス全体像
Amazon Web Services Japan
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係
datastaxjp
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
Tadahiro Ishisaka
 
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSSYahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo!デベロッパーネットワーク
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
Shuji Watanabe
 
Scalrご紹介資料 20130404 01
Scalrご紹介資料 20130404 01Scalrご紹介資料 20130404 01
Scalrご紹介資料 20130404 01Haruhiko KAJIKAWA
 
Enter the-dolphine
Enter the-dolphineEnter the-dolphine
Enter the-dolphineMikiya Okuno
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
MITSUNARI Shigeo
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
Takekazu Omi
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
yoyamasaki
 
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめDTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめ
Mikiya Okuno
 
Handlersocket 20140218
Handlersocket 20140218Handlersocket 20140218
Handlersocket 20140218akirahiguchi
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624
Yusuke Suzuki
 

Similar to Matlab distributed computing serverの使い方 (20)

Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
MapReduce解説
MapReduce解説MapReduce解説
MapReduce解説
 
Wakame-vnet / Open Source Project for Virtual Network & SDN
Wakame-vnet / Open Source Project for Virtual Network & SDNWakame-vnet / Open Source Project for Virtual Network & SDN
Wakame-vnet / Open Source Project for Virtual Network & SDN
 
AWSのデータベースサービス全体像
AWSのデータベースサービス全体像AWSのデータベースサービス全体像
AWSのデータベースサービス全体像
 
SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係SparkとCassandraの美味しい関係
SparkとCassandraの美味しい関係
 
Rds徹底入門
Rds徹底入門Rds徹底入門
Rds徹底入門
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSSYahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
 
Scalrご紹介資料 20130404 01
Scalrご紹介資料 20130404 01Scalrご紹介資料 20130404 01
Scalrご紹介資料 20130404 01
 
Enter the-dolphine
Enter the-dolphineEnter the-dolphine
Enter the-dolphine
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
 
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめDTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめ
 
Handlersocket 20140218
Handlersocket 20140218Handlersocket 20140218
Handlersocket 20140218
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624
 

More from Osamu Masutani

Azure AI Conference Report
Azure AI Conference ReportAzure AI Conference Report
Azure AI Conference Report
Osamu Masutani
 
Decode2018 report
Decode2018 reportDecode2018 report
Decode2018 report
Osamu Masutani
 
TOWARD A BETTER IPA EXPERIENCE FOR A CONNECTED VEHICLE BY MEANS OF USAGE PRED...
TOWARD A BETTER IPA EXPERIENCE FOR A CONNECTED VEHICLE BY MEANS OF USAGE PRED...TOWARD A BETTER IPA EXPERIENCE FOR A CONNECTED VEHICLE BY MEANS OF USAGE PRED...
TOWARD A BETTER IPA EXPERIENCE FOR A CONNECTED VEHICLE BY MEANS OF USAGE PRED...
Osamu Masutani
 
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
Osamu Masutani
 
コネクテッドカーの胎動と交通サイバーフィジカルシステム
コネクテッドカーの胎動と交通サイバーフィジカルシステムコネクテッドカーの胎動と交通サイバーフィジカルシステム
コネクテッドカーの胎動と交通サイバーフィジカルシステム
Osamu Masutani
 
R tools for Vsual Studio
R tools for Vsual StudioR tools for Vsual Studio
R tools for Vsual Studio
Osamu Masutani
 
Windows Store アプリをuniversal にして申請する手順
Windows Store アプリをuniversal にして申請する手順Windows Store アプリをuniversal にして申請する手順
Windows Store アプリをuniversal にして申請する手順
Osamu Masutani
 
A Multiple Pairs Shortest Path Algorithm 解説
A Multiple Pairs Shortest Path Algorithm 解説A Multiple Pairs Shortest Path Algorithm 解説
A Multiple Pairs Shortest Path Algorithm 解説
Osamu Masutani
 
Clustering of time series subsequences is meaningless 解説
Clustering of time series subsequences is meaningless 解説Clustering of time series subsequences is meaningless 解説
Clustering of time series subsequences is meaningless 解説
Osamu Masutani
 
Autopoiesis 2
Autopoiesis 2Autopoiesis 2
Autopoiesis 2
Osamu Masutani
 
Autopoiesis 1
Autopoiesis 1Autopoiesis 1
Autopoiesis 1
Osamu Masutani
 
UIMAウマー
UIMAウマーUIMAウマー
UIMAウマー
Osamu Masutani
 
Toward a resilient prediction system for non-uniform traffic data
Toward a resilient prediction system for non-uniform traffic data Toward a resilient prediction system for non-uniform traffic data
Toward a resilient prediction system for non-uniform traffic data
Osamu Masutani
 
BEIRA: A geo-semantic clustering method for area summary
BEIRA: A geo-semantic clustering method for area summaryBEIRA: A geo-semantic clustering method for area summary
BEIRA: A geo-semantic clustering method for area summary
Osamu Masutani
 
BEIRA -鳥瞰型情報検索アプリケーション
BEIRA -鳥瞰型情報検索アプリケーションBEIRA -鳥瞰型情報検索アプリケーション
BEIRA -鳥瞰型情報検索アプリケーション
Osamu Masutani
 
An event detection method using floating car data
An event detection method using floating car dataAn event detection method using floating car data
An event detection method using floating car data
Osamu Masutani
 
Feasible study of a light weight prediction system in China
Feasible study of a light weight prediction system in ChinaFeasible study of a light weight prediction system in China
Feasible study of a light weight prediction system in China
Osamu Masutani
 

More from Osamu Masutani (17)

Azure AI Conference Report
Azure AI Conference ReportAzure AI Conference Report
Azure AI Conference Report
 
Decode2018 report
Decode2018 reportDecode2018 report
Decode2018 report
 
TOWARD A BETTER IPA EXPERIENCE FOR A CONNECTED VEHICLE BY MEANS OF USAGE PRED...
TOWARD A BETTER IPA EXPERIENCE FOR A CONNECTED VEHICLE BY MEANS OF USAGE PRED...TOWARD A BETTER IPA EXPERIENCE FOR A CONNECTED VEHICLE BY MEANS OF USAGE PRED...
TOWARD A BETTER IPA EXPERIENCE FOR A CONNECTED VEHICLE BY MEANS OF USAGE PRED...
 
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
Power BI勉強会 #6 Power BI で地理的分析とこまでできる?
 
コネクテッドカーの胎動と交通サイバーフィジカルシステム
コネクテッドカーの胎動と交通サイバーフィジカルシステムコネクテッドカーの胎動と交通サイバーフィジカルシステム
コネクテッドカーの胎動と交通サイバーフィジカルシステム
 
R tools for Vsual Studio
R tools for Vsual StudioR tools for Vsual Studio
R tools for Vsual Studio
 
Windows Store アプリをuniversal にして申請する手順
Windows Store アプリをuniversal にして申請する手順Windows Store アプリをuniversal にして申請する手順
Windows Store アプリをuniversal にして申請する手順
 
A Multiple Pairs Shortest Path Algorithm 解説
A Multiple Pairs Shortest Path Algorithm 解説A Multiple Pairs Shortest Path Algorithm 解説
A Multiple Pairs Shortest Path Algorithm 解説
 
Clustering of time series subsequences is meaningless 解説
Clustering of time series subsequences is meaningless 解説Clustering of time series subsequences is meaningless 解説
Clustering of time series subsequences is meaningless 解説
 
Autopoiesis 2
Autopoiesis 2Autopoiesis 2
Autopoiesis 2
 
Autopoiesis 1
Autopoiesis 1Autopoiesis 1
Autopoiesis 1
 
UIMAウマー
UIMAウマーUIMAウマー
UIMAウマー
 
Toward a resilient prediction system for non-uniform traffic data
Toward a resilient prediction system for non-uniform traffic data Toward a resilient prediction system for non-uniform traffic data
Toward a resilient prediction system for non-uniform traffic data
 
BEIRA: A geo-semantic clustering method for area summary
BEIRA: A geo-semantic clustering method for area summaryBEIRA: A geo-semantic clustering method for area summary
BEIRA: A geo-semantic clustering method for area summary
 
BEIRA -鳥瞰型情報検索アプリケーション
BEIRA -鳥瞰型情報検索アプリケーションBEIRA -鳥瞰型情報検索アプリケーション
BEIRA -鳥瞰型情報検索アプリケーション
 
An event detection method using floating car data
An event detection method using floating car dataAn event detection method using floating car data
An event detection method using floating car data
 
Feasible study of a light weight prediction system in China
Feasible study of a light weight prediction system in ChinaFeasible study of a light weight prediction system in China
Feasible study of a light weight prediction system in China
 

Matlab distributed computing serverの使い方

  • 2. MATLAB Distributed Computing Server とは? • MATLABのコンピュータクラスタ環境 • http://jp.mathworks.com/products/distriben/ • 以下の並列環境をサポート • バッチ ジョブ • 並行処理 • 大規模分散データ • 機能 • ほごすべてのツールボックス、ブロックセットにアクセス可能 • GPU対応機能を実行可能 • MATLAB Compiler のアプリから並列実行可能(コンパイル可) • MATLABをサポートする、全てのHW、OSをサポート • 組み込みスケジューラの他にサードパーティスケジューラをサポート
  • 3. MDCSのメリット • Matlabでの重いバッチ処理を素早く終 わらせる • Matlabスクリプト(.mファイルのまま)をそ のまま並列実行 • 並列化を意識した コンパイル済み実行 コードを高速に実行 • GPU対応 • 複数ユーザ同時アクセス可能 • 既存のクラスタを利用できる • Windows HPC Serverなど • MDCS以外の追加コストは不要 • ノードはクラウド上にあっても構わない
  • 4. MDCSの利用条件 • MDCSに処理を投げるクライアント • MATLAB/Simulinkから Parallel Computing Toolbosを介してDCSを操作 • Matlab Compilerを利用した実行ファイルか らDCSを操作 • MDCSクラスタ (Matlabワーカー) • ライセンスはサーバーライセンスのみ • ノード側に別途ライセンスは必要ない • ノード側にツールボックスやブロックセットのラ イセンスは必要ない(ジョブを投げるユーザ側 のライセンスに依存) MATLAB Distributed Computing Server ではすべての MathWorks ツール ボックスやブロックセットのライセンスが提供されるため、クラスター内の 各コンピューターに対して特定の製品のためのライセンスを追加購入し なくても、MATLAB プラグラムをクラスターで実行できます。 特殊なツールボックスはサポートしない http://jp.mathworks.com/products/ineligible_programs/
  • 5. 実際の構成 • ヘッドノード • MDCSとライセンスサーバー、HPC Pack(ヘッドノード)をインス トール • ワーカー • MDCSとHPC Pack(ワーカー)をインストール • クライアント • MatlabとPCTをインストール • 参考 • http://jp.mathworks.com/support/product/DM/installation/v er_current/ • http://jp.mathworks.com/help/mdce/install-product-and- choose-cluster-configuration.html • http://jp.mathworks.com/help/mdce/configure-parallel- computing-products-for-hpc-server.html
  • 6. 導入時期 • 試用版入手、試用 ~2月上旬 • 購入決定 ~2月下旬 • 購入 ~3月 • 運用開始 3月~
  • 7. 利用手順 • 複数の利用法がある • Parallel for-loops • Distributed Arrays • Message-Passing Functions
  • 8. Parallel for-loops • みんな大好きパラレルフォー(parfor) • パラメータスイープで簡単に並列化 • 自動的に必要なデータとコードを識別 • 自動的にワーカーの識別 • 要件 • ループ内は独立な処理でなければならない。 • 通信はワーカー同士では行われない。 • 右記ではAのみが結果として得られる。(他は完全独立) • おまじない(matlabpool) • インタラクティブに利用する場合 • バッチとして投げる場合はcreateMatlabPoolJob 初級編
  • 9. parfor • Parforはforと全く同じではない • http://jp.mathworks.com/help/distcomp/parfor.html • 外部から参照できる変数 • スイープパラメータ (i)に影響を受ける変数 • コード1では Cだけが結果に影響 • 適切に選択された演算子で計算された変数 • コード2ではsが正しく計算される • 順番に依存しない演算 コード1 parfor i = 1:n t = f(A(i)); u = g(B(i)); C(i) = h(t, u); end コード2 s = 0; parfor i = 1:n if p(i) % assume p is a function s = s + 1; end end 初級編
  • 10. Distributed Arrays と並列関数を使った大規模データの扱い • 複数のワーカーに分散したデータに 対して分散して関数を実行できる • 分散配列(Distributed Arrays) • 以下のいずれかで生成可能 • Rands,onesなどのコンストラクタ • 各ワーカーの同じ名前の配列を結合 • 大規模行列を分散 • 150の関数が分散配列をサポート • http://jp.mathworks.com/help/distcomp/ using-matlab-functions-on-codistributed- arrays.html • ScaLAPACKを利用している 中級編
  • 11. 自分で分散したい場合 • spmd (single program multiple data) • 明示的にデータの分割や処理を書ける • 自分のアルゴリズムを適切に分割するために必要 • 分割方法 • Codistribution1d : 1次元の分割 • 指定の次元で分割 • 指定の分割数で分割 中級編
  • 12. Message-Passing Functions • もっと最適化したい場合 • MPI-2準拠のワーカー間通信が可能 • 要件 • 並列アルゴリズムのファインチューニン グが可能 • 各並列セクションの同期を手動で実現す る必要がある • send, receive, broadcast, barrier, probe が可能 • 激しく難しい並列デバッグを簡単に • セットアップ不要(spmdだけ) • すべてのMATLABデータタイプが利用可 能 • デッドロック検出 上級編
  • 14. MDCS環境 • MDCSの利用環境 • 混合プラットフォーム • 混合プラットフォームがサポートされているため、クライアント、MJS および ワーカーが同じプラットフォームにある必要はありません。 • Heterogeneous cluster • 異なるOSで構成されるクラスタ • Parfor, spmd, 分散配列, mpiは使えない(!) • 一部の関数のみ利用可能
  • 15. クラスタの他の利用方法 • 様々な環境、言語から利用可能です コード パラメータスイー プ データ分散 ワーカー間通信 GPGPU グループ化 スケジューラGUI クラウドノード MDCS with スクリ プト(.m) on MJS Matlab スクリプト ○ (parfor) ○ ○(MPI) NVIDIA × × ― MDCS with コンパ イラ on MJS mex ○ (parfor) ○ ○(MPI) NVIDIA × × ― MDCS with スクリ プト(.m) on HPC Server Matlab スクリプト ○ (parfor) ○ ○(MPI) NVIDIA ○ ○ ○ (Azure) MDCS with コンパ イラ on HPC Server mex ○ (parfor) ○ ○(MPI) NVIDIA ○ ○ ○ (Azure) バッチ on HPC Server exe, batなど ○ HPC Manager ― ― 個別 ○ ○ ○ (Azure) MPI on HPC Server C,C++, etc… ○ ― ○(MPI) 個別 ○ ○ ○ (Azure) HPC SOA on HPC Server C#, .NET ○ ― ○(SOA) 個別 ○ ○ ○ (Azure)