Hpc server講習会第3回応用編

38
HPC Server 講習会 第3回 応用編 2013/11/06 デンソーアイティーラボラトリ 増谷

Transcript of Hpc server講習会第3回応用編

Page 1: Hpc server講習会第3回応用編

HPC Server講習会第3回 応用編2013/11/06

デンソーアイティーラボラトリ増谷

Page 2: Hpc server講習会第3回応用編

1.前回までの復習

Page 3: Hpc server講習会第3回応用編

前回の復習

第1回

HPC Serverとは

MicrosoftのHPC用プラットフォーム

Windows Server, Windows 7, Windows Azureを組み込める

基本概念

ジョブ、タスク、ノード

簡単な使い方

シリアルアプリケーション

パラメータスイープ

Matlabからの利用

Page 4: Hpc server講習会第3回応用編

前回の復習

第2回

さまざまなプログラミングパラダイムへの対応

MPI

MPIの概念

Visual StudioでのMPIプログラミング

MPIとGPGPU

HPC SOA

.NETからやるにはこの方がわかりやすい

WCFのサービスとしてワーカーをデプロイ

Page 5: Hpc server講習会第3回応用編

導入イメージ

ヘッドとワーカーに分かれる

Windows HPC Server 2008 R2

HPC Pack 2008 R2

Enterprise

Head Node Compute Node

ヘッドノード

Windows 7

HPC Pack 2008 R2

Workstation

Workstation Node

社内サーバ クライアント

Windows HPC Server

2003 / 2008 / 2008 R2

HPC Pack 2008 R2

Express

Compute Node

Page 6: Hpc server講習会第3回応用編

2.HPC Serverの変遷

Page 7: Hpc server講習会第3回応用編

HPCPackエディションの変遷

ほぼ半年に1度リリース

機能拡張とパッケージのスリム化が行われている

リリース時期 HPC Pack の名称

社内呼称 バージョン番号

2010年7月 2008 R2 SP0

(RTM)

v3 RTM 3.0.2369.0

2010年12月 2008 R2 SP1 v3 SP1 3.1.3267.0

2011年6月 2008 R2 SP2 v3 SP2 3.2.3716.0

2011年11月 2008 R2 SP3 v3 SP3 3.3.3950.0

2012年6月 2008 R2 S4 v3 SP4 3.4.4169.0

2012年12月 2012 v4 RTM 4.0.3906.0

2013年8月[NEW]

2012 SP1 v4 SP1 4.1.4174.0

完全無償化ワンパッケージ化

Dryad 統合

Page 8: Hpc server講習会第3回応用編

What’ new in HPC Pack

2012 エディション構成

昔はヘッドノードとワークステーションノードが有償だった(それほど高くは無いが)

2012からは無償:Windows機の数だけノード数を増やせる

HPC Packが1種類に:インストーラでノード種を切り替える

サポートOS

Server 2008,2008R2はサポートから外された

Windows 7はまだ対応

Azure 対応

Azureで提供されるVPN(WAVN)を活用可能に

VHDを自動マウント可能に:データの配布がシンプルに

Azure上にヘッドノードを設置可能に

Page 9: Hpc server講習会第3回応用編

さあどうぞ

Compute Intensiveなタスク(embarrassingly parallel)

簡単なバッチ処理を分散したいだけなら

小さめのデータ:転送が負担にならない

処理単位が大きい:分割をあまり工夫しなくてよい

HPC Serverと通常の共有ファイルシステムで十分

データの分配、最適化等を考えなくて良い

Data Intensiveなタスク

大量のデータを処理

データの配布を含めた配慮が必要な場合

MapReduce??

Amazonに行く? : ちょっと待った!

Page 10: Hpc server講習会第3回応用編

HPC Serverでも

MapReduceHPCSERVERでHADOOPを使いたい

Page 11: Hpc server講習会第3回応用編

Hadoopとは

Page 12: Hpc server講習会第3回応用編

Azure上のHadoopエコシステム

Azure上でHadoopを活用する方法は複数ある

ストレージ

テーブル (NoSQL、Key-Value ストア)、SQL データベース、BLOB など

VMによるLinux環境

ほぼネイティブな環境

OSライセンスの心配なし

HDInsight

より大規模な運用

ほぼターンキーソリューション

ノードの管理などが容易

Page 13: Hpc server講習会第3回応用編

HDInsight

Microsoft の Hadoop環境

MSが開発したHadoopのポーティング

純粋なHadoop:Javaベース

Windows AzureとオンプレミスWindows Serverの双方に対応

スケジュール

2013/10/28 から正式版リリース

Page 14: Hpc server講習会第3回応用編

HDinsightの構成

Page 15: Hpc server講習会第3回応用編

特徴

使い慣れたツール

PowerPivotやPower ViewなどのBIツールに統合されている

SQL Serverとの連携

機敏性

数分で展開可能

大規模運用

セキュリティ確保

リッチな開発者エクスペリエンス

Java/.NET LINQ to HIVE

オンプレミス版の存在

ステージング環境として

廉価な常時運用環境として

Windows 7用 HDInsightのインストール:

http://www.ne.jp/asahi/hishidama/home/tech/apache/hadoop/hdinsight_preview.html

Page 16: Hpc server講習会第3回応用編

HDInsightのフロントエンド

Azure

PowerPivot

Power View

PowerShell

シェルスクリプトから利用

開発環境

Java

.NET

Page 17: Hpc server講習会第3回応用編

HDInsightのコスト

ヘッドノード

1時間当たり36.54~42.36円、

計算ノード

18.27~21.60円

2013年11月30日まではキャンペーン料金

ヘッドノードが1時間当たり18.27~21.60円、

計算ノードが同9.14~10.80円

半年または1年の契約を結ぶことで、20~32%の割引を受けられる。

自前で IaaS上に Hadoopクラスターをデプロイするには数日から数週間を要するが、Windows Azure に Hadoopクラスターをデプロイすることによって、所要時間を数分に短縮できる。また、作業の終わったクラスターは、シャットダウンすることでコストセーブできるという。

http://japan.internet.com/busnews/20131029/6.html

Page 18: Hpc server講習会第3回応用編

MSのMapReduceタイプのフレームワーク変遷

2008 2009 2010 2011 2012 2013

HPC Pack

HadoopConnector

Dryad

ProjectDaytona

HDInsightAzure

HDInsightServer

RP

P

C

C

C

CHive ODBC Driver R 統合

P

2008R2 SP3

B2

2008R2 SP2

LINQ to HPC

統合

B1

A

2012 SP1

2008R2

2008

C Community Preview P Public Preview R Release

20122008R2 SP4

2008R2 SP1

A Alpha B Beta

MS Blog記事などより収集

Page 19: Hpc server講習会第3回応用編

HDInsight

過去のMSの分散コンピューティングプラットフォームとの関連

SQL Server Connector for Hadoop ; Scoop ベースのコネクタ

HDInsightへ統合

Daytona : MSRのMapReduce環境:?

Dryad : パイプラインを指定しない自動的な構成?HPC

to Linq

Page 20: Hpc server講習会第3回応用編

HDInsight実践使ってみよう

Page 21: Hpc server講習会第3回応用編

HDInsightクラスタの準備1

HDInsghtで”Create”

Page 22: Hpc server講習会第3回応用編

HDInsightクラスタの準備2

クラスタ名とノード数アカウントを指定する

Page 23: Hpc server講習会第3回応用編

HDInsightクラスタの準備3

クラスタができた

Page 24: Hpc server講習会第3回応用編

ダッシュボード

クラスタの管理

Page 25: Hpc server講習会第3回応用編

コンパネ

複数のアクセス方法がある

Page 26: Hpc server講習会第3回応用編

Hadoopノードに

RemoteDesktop

Page 27: Hpc server講習会第3回応用編

Jobの作成

Page 28: Hpc server講習会第3回応用編

Monitoring

Page 29: Hpc server講習会第3回応用編

HDInsightまとめ

完全なHadoop環境

Javaベース

MS独自の実装はない(.NET用のAPIで利用可能)

さまざまなアクセス

BIツール

シェル

プログラミング環境

Page 30: Hpc server講習会第3回応用編

Hadoopの開発HDINSIGHTでの開発

Page 31: Hpc server講習会第3回応用編

Javaだけか?

Page 32: Hpc server講習会第3回応用編

.NET MapReduce

Page 33: Hpc server講習会第3回応用編

LINQ to HIVE

Page 34: Hpc server講習会第3回応用編

.NET MapReduce準備

以下の3つをNuGetから取る

Microsoft .NET Map Reduce API For Hadoop

Microsoft Linq to Hive

Microsoft .NET API For Hadoop WebClient

Usingする

using Microsoft.Hadoop.WebHDFS.Adapters;

using Microsoft.Hadoop.WebHDFS;

using Microsoft.Hadoop.Hive;

Page 35: Hpc server講習会第3回応用編

.NETでHDFS

Page 36: Hpc server講習会第3回応用編

.NETでMapReduce LogMapper

LogReducer

Job登録

実行

Page 37: Hpc server講習会第3回応用編

Linq to HIVEの詳細

Actorの受賞カウント

ActorIdでジョイン

Actorの受賞カウントを平均

集計するだけならこれで終わり

Page 38: Hpc server講習会第3回応用編

.NET Hadoopの利点

Visual Studioで開発可能

Linq to HIVEにて、MapperやReducerを書かなくても簡単な処理が可能