SlideShare a Scribd company logo
HPC on Azure
HPC環境構築からアプリケーションの実行まで
アジェンダ
はじめに
Azure PortalでHPC環境を構築する
これから作るHPC環境の構成
InfiniBand
Azure Portalへアクセス
https://portal.azure.com
サブスクリプションの確認
仮想マシンの作成
仮想マシンの作成
設定項目 今回の設定 説明
名前 hpc001 仮想マシンの名前を設定します。
VMディスクの種類 HDD 仮想マシンに接続するディスクの種類 (SSD/HDD)を設定します。
ユーザ名 msadmin 仮想マシンのユーザ名(管理者)
認証の種類 パスワード 上記のユーザがログインする際の認証の種類(SSH 公開キー/パスワード)を選択します。
サブスクリプション 使用するサブスクリプションを選択します。
リソースグループ hpctest この仮想マシンが所属するリソースグループ(新規で作ることも可能)を選択します。
場所 東日本 仮想マシンをデプロイするリージョンを選択します。
仮想マシンの作成
設定項目1 設定項目2 今回の設定 説明
高可用性 可用性セット 名前: hpctest_avail
障害ドメイン : 2
更新ドメイン : 5
InfiniBandを利用するために可用性セットを設定する必要があります。障害・更新ドメインはデフォ
ルトのまま。
Storage ディスクの種類 HDD VHDに利用するStorageの種類を設定します。
管理ディスクの使用 はい
ネットワーク Virtual Network 名前: hpctest-vnet
アドレス空間: 10.1.6.0/24
サブネット名: default
サブネット アドレス範囲 : 10.1.6.0/24
この仮想マシンが所属する仮想ネットワークを選択します。
パブリックIPアドレス 名前: hpc01-ip
割り当て: 動的
インターネット経由でアクセスできるようにパブリップIPアドレスを設定します。
ネットワークセキュリティー
グループ(NSG)
名前: hpc01-nsg
受信規則 : SSH (Port=22)
送信規則:なし
仮想マシンとの間でやり取りされるトラフィックを制御するファイアウォールの規則のセットです。
拡張機能 拡張機能 今回はなし 仮想マシンに新しい機能を追加します。
自動シャットダウン 自動シャットダウン機能を有
効にする
オフ 仮想マシンを自動的に毎日シャットダウンするように設定します。
監視 ブート診断 有効 ホスト上で実行している仮想マシンのシリアルコンソール出力とスクリーンショットをキャプチャ
して、起動時の問題診断に役立てます。
ゲストOS診断 無効 仮想マシンのメトリックを1分ごとに取得します。
診断ストレージアカウント 名前:hpctestdiag788
パフォーマンス:Standard
リプリケーション:LRS
メトリックを保存するためのストレージアカウントを選択します。
※今回はdefaultのまま(Linuxの仮想マシンではSSHのポートのみが開いています。)
※今回はdefaultのまま(2つ目以降のVMは同じVNetを選択します。)
※今回はdefaultのまま(2つ目以降のVMは設定は不要です。)
※今回はdefaultのまま
仮想マシンの作成
仮想マシンの作成
hpc001 hpc002
デプロイモデル Resource Manager Resource Manager
仮想マシンの名前 hpc001 hpc002
VM Diskの種類 HDD HDD
ユーザ名 msadmin msadmin
認証の種類 パスワード パスワード
リソースグループ hpctest hpctest(cmp01で作成済のものを選択)
場所 東日本 東日本
サイズ H16r H16r
可用性セット hpctest_avail hpctest_avail (cmp01で作成済のものを選択)
ディスク HDD HDD
管理ディスクの使用 はい はい
Virtual Network hpctest-vnet hpctest-vnet
パブリックIPアドレス hpc001-ip 不要
ネットワークセキュリティーグループ hpc001-nsg hpc002-nsg
診断ストレージアカウント hpctestdiag788 hpctestdiag788 (cmp01で作成済のものを選択)
仮想マシンの作成
共有ディスクの作成
設定項目 今回の設定 設定
名前 hpc001disk01 追加するデータディスクの名前を設定します。
リソースグループ hpctest2 追加するデータディスクのリソースグループを選択します。
アカウントの種類 Standard_LRS ストレージアカウントの種類(Premium/Standard, データリプリケーションの種類 LRS/ZRS/GRS/RA-GRS)を選択します。
ソースの種類 なし(空のディスク) 別のディスクのスナップショットからディスクを作成するか、ストレージアカウントのBLOBから作成するか、空のディ
スクを作成するかを選択します。
サイズ(GiB) 1023 ディスクのサイズを設定します。
共有ディスクの作成
共有ディスクの作成
共有ディスクの設定
共有ディスクの設定
パスワードなしでSSHする設定
仮想マシンの起動及び停止
Intel MPI Benchmark
Intel MPI Benchmark #------------------------------------------------------------
# Intel (R) MPI Benchmarks 2017, MPI-1 part
#------------------------------------------------------------
# Date : Wed Nov 22 02:56:34 2017
# Machine : x86_64
# System : Linux
# Release : 3.10.0-514.21.1.el7.x86_64
# Version : #1 SMP Thu May 25 17:04:51 UTC 2017
# MPI Version : 3.1
# MPI Thread Environment:
# Calling sequence was:
# IMB-MPI1 pingpong
# Minimum message length in bytes: 0
# Maximum message length in bytes: 4194304
#
# MPI_Datatype : MPI_BYTE
# MPI_Datatype for reductions : MPI_FLOAT
# MPI_Op : MPI_SUM
#
#
# List of Benchmarks to run:
# PingPong
#---------------------------------------------------
# Benchmarking PingPong
# #processes = 2
#---------------------------------------------------
#bytes #repetitions t[usec] Mbytes/sec
0 1000 2.60 0.00
1 1000 2.61 0.38
2 1000 2.63 0.76
4 1000 2.60 1.54
8 1000 2.59 3.09
16 1000 2.64 6.06
32 1000 2.36 13.55
64 1000 2.35 27.28
128 1000 2.40 53.41
256 1000 2.47 103.77
512 1000 2.61 196.24
1024 1000 2.94 348.83
2048 1000 3.41 599.88
4096 1000 4.49 911.42
8192 1000 5.55 1475.36
16384 1000 7.29 2247.46
32768 1000 10.16 3224.71
65536 640 15.73 4166.39
131072 320 32.01 4094.40
262144 160 55.38 4733.73
524288 80 98.02 5348.79
1048576 40 177.88 5895.01
2097152 20 343.53 6104.79
4194304 10 676.50 6200.00
# All processes entering MPI_Finalize
#------------------------------------------------------------
# Intel (R) MPI Benchmarks 2017, MPI-1 part
#------------------------------------------------------------
# Date : Wed Nov 22 03:00:13 2017
# Machine : x86_64
# System : Linux
# Release : 3.10.0-514.21.1.el7.x86_64
# Version : #1 SMP Thu May 25 17:04:51 UTC 2017
# MPI Version : 3.1
# MPI Thread Environment:
# Calling sequence was:
# IMB-MPI1 pingpong
# Minimum message length in bytes: 0
# Maximum message length in bytes: 4194304
#
# MPI_Datatype : MPI_BYTE
# MPI_Datatype for reductions : MPI_FLOAT
# MPI_Op : MPI_SUM
#
#
# List of Benchmarks to run:
# PingPong
#---------------------------------------------------
# Benchmarking PingPong
# #processes = 2
#---------------------------------------------------
#bytes #repetitions t[usec] Mbytes/sec
0 1000 60.63 0.00
1 1000 49.57 0.02
2 1000 48.46 0.04
4 1000 49.16 0.08
8 1000 49.22 0.16
16 1000 47.67 0.34
32 1000 48.14 0.66
64 1000 47.69 1.34
128 1000 52.62 2.43
256 1000 49.41 5.18
512 1000 50.89 10.06
1024 1000 52.09 19.66
2048 1000 69.27 29.57
4096 1000 72.95 56.15
8192 1000 84.96 96.42
16384 1000 100.70 162.69
32768 1000 137.77 237.84
65536 640 318.70 205.64
131072 320 898.85 145.82
262144 160 1115.12 235.08
524288 80 1349.19 388.59
1048576 40 2139.93 490.01
2097152 20 4487.08 467.38
4194304 10 8537.50 491.28
# All processes entering MPI_Finalize
High Performance Linpack(HPL)
http://registrationcenter-download.intel.com/akdlm/irc_nas/9752/l_mklb_p_2018.1.009.tgz
High Performance Linpack(HPL)
High Performance Linpack(HPL)
Number of Intel(R) Xeon Phi(TM) coprocessors : 0
================================================================================
HPLinpack 2.1 -- High-Performance Linpack benchmark -- October 26, 2012
Written by A. Petitet and R. Clint Whaley, Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================
An explanation of the input/output parameters follows:
T/V : Wall time / encoded variant.
N : The order of the coefficient matrix A.
NB : The partitioning blocking factor.
P : The number of process rows.
Q : The number of process columns.
Time : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.
The following parameter values will be used:
N : 65280
NB : 192
PMAP : Column-major process mapping
P : 2
Q : 1
PFACT : Right
NBMIN : 2
NDIV : 2
RFACT : Crout
BCAST : 1ring
DEPTH : 0
SWAP : Binary-exchange
L1 : no-transposed form
U : no-transposed form
EQUIL : no
ALIGN : 8 double precision words
--------------------------------------------------------------------------------
- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be 1.110223e-16
- Computational tests pass if scaled residuals are less than 16.0
================================================================================
T/V N NB P Q Time Gflops
--------------------------------------------------------------------------------
WC00C2R2 65280 192 2 1 136.42 1.35953e+03
HPL_pdgesv() start time Wed Nov 22 06:32:26 2017
HPL_pdgesv() end time Wed Nov 22 06:34:42 2017
--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0041553 ...... PASSED
================================================================================
Finished 1 tests with the following results:
1 tests completed and passed residual checks,
0 tests completed and failed residual checks,
0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------
End of Tests.
================================================================================
================================================================================
T/V N NB P Q Time Gflops
--------------------------------------------------------------------------------
WC00C2R2 65280 192 2 1 136.42 1.35953e+03
HPL_pdgesv() start time Wed Nov 22 06:32:26 2017
HPL_pdgesv() end time Wed Nov 22 06:34:42 2017
--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0041553 ...... PASSED
================================================================================
ARM TemplateによるHPC環境のデプロイ
テンプレートによるHPC環境のデプロイ
https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/capture-image
ARM Template
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01-
preview/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"parameters": {
"resourceLocation": {
"allowedValues": [
"East US",
"West US",
"South Central US",
"North Central US",
"North Europe",
"West Europe",
"Japan East"
],
"type": "String",
"metadata": {
"description": "Azure region where all resources will be deployed. This is
distinct from resource group location."
}
},
"vmSku1": {
"defaultValue": "Standard_H16r",
"allowedValues": [
"Basic_A4",
"Standard_A4",
"Standard_A8",
"Standard_A9",
"Standard_H16r",
"Standard_H16mr",
"Standard_NC6",
"Standard_NC12",
"Standard_NC24"
],
"type": "String",
"metadata": {
"description": "Which instance would you like to deploy to? Not all VMs are
available in all regions"
}
},
"vmSku2": {
"defaultValue": "Standard_H16r",
"allowedValues": [
"Basic_A4",
"Standard_A4",
"Standard_A8",
"Standard_A9",
"Standard_H16r",
"Standard_H16mr",
"Standard_NC6",
"Standard_NC12",
"Standard_NC24"
],
"type": "String",
"metadata": {
"description": "Which instance would you like to deploy to? Not all VMs are
available in all regions"
}
},
ARM Template
"vmssName": {
"maxLength": 10,
"type": "String",
"metadata": {
"description": "String used as a base for naming resources. Must be 3-10
characters in length and globally unique across Azure. A hash is prepended
to this string for some resources, and resource-specific information is
appended."
}
},
"instanceCount": {
"maxValue": 100,
"type": "Int",
"metadata": {
"description": "Number of VM instances (100 or less)."
}
},
"adminUsername": {
"type": "String",
"metadata": {
"description": "Admin username on all VMs."
}
},
"adminPassword": {
"type": "String",
"metadata": {
"description": "Admin password on all VMs."
}
}
},
"variables": {
"namingInfix": "[toLower(substring(concat(parameters('vmssName')), 0, 5))]",
"longNamingInfix": "[toLower(parameters('vmssName'))]",
"jumpBoxName": "[concat(variables('longNamingInfix'),'login')]",
"jumpBoxSAName": "[concat(uniqueString(concat(resourceGroup().id,
variables('newStorageAccountSuffix'), 'jumpboxsa')), 'jb')]",
"jumpBoxOSDiskName": "[concat(variables('jumpBoxName'), 'osdisk')]",
"jumpBoxVHDContainerName": "[concat(variables('jumpBoxName'), 'vhd')]",
"jumpBoxIPConfigName": "[concat(variables('jumpBoxName'), 'ipconfig')]",
"jumpBoxNicName": "[concat(variables('jumpBoxName'), 'nic')]",
"storageAccountType": "Standard_LRS",
"addressPrefix": "10.0.0.0/16",
"subnetPrefix": "10.0.0.0/24",
"virtualNetworkName": "[concat(variables('namingInfix'), 'vnet')]",
"subnetName": "[concat(variables('namingInfix'), 'subnet')]",
"vnetID":
"[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkNa
me'))]",
"subnetRef":
"[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]",
"publicIPAddressName": "[concat(variables('namingInfix'), 'pip')]",
"nicName": "[concat(variables('namingInfix'), 'nic')]",
"ipConfigName": "[concat(variables('namingInfix'), 'ipconfig')]",
"newStorageAccountSuffix": "[concat(variables('namingInfix'), 'sa')]",
"computeApiVersion": "2016-04-30-preview",
"networkApiVersion": "2016-03-30",
"storageApiVersion": "2015-06-15"
},
ARM Template
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"name": "[variables('virtualNetworkName')]",
"apiVersion": "[variables('networkApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"[variables('addressPrefix')]"
]
},
"subnets": [
{
"name": "[variables('subnetName')]",
"properties": {
"addressPrefix": "[variables('subnetPrefix')]"
}
}
]
}
},
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('jumpBoxSAName')]",
"apiVersion": "[variables('storageApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"accountType": "[variables('storageAccountType')]"
}
},
{
"type": "Microsoft.Network/publicIPAddresses",
"name": "[variables('publicIPAddressName')]",
"apiVersion": "[variables('networkApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"publicIPAllocationMethod": "Dynamic",
"dnsSettings": {
"domainNameLabel": "[variables('longNamingInfix')]"
}
}
},
{
"type": "Microsoft.Network/networkInterfaces",
"name": "[variables('jumpBoxNicName')]",
"apiVersion": "[variables('networkApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"ipConfigurations": [
{
"name": "[variables('jumpBoxIPConfigName')]",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"publicIPAddress": {
"id":
"[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressNa
me'))]"
},
"subnet": {
"id": "[variables('subnetRef')]"
}
}
}
]
},
"dependsOn": [
"[concat('Microsoft.Network/publicIPAddresses/',
variables('publicIPAddressName'))]",
"[concat('Microsoft.Network/virtualNetworks/',
variables('virtualNetworkName'))]"
]
},
ARM Template
{
"type": "Microsoft.Compute/virtualMachines",
"name": "[variables('jumpBoxName')]",
"apiVersion": "[variables('computeApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"hardwareProfile": {
"vmSize": "[parameters('vmSku1')]"
},
"osProfile": {
"computerName": "[variables('jumpBoxName')]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]"
},
"storageProfile": {
"imageReference": {
“id”: “ここにカスタムイメージのリソースIDを入れる”
},
"osDisk": {
"createOption": "fromImage",
"managedDisk": {
"storageAccountType": "Standard_LRS"
}
}
},
"networkProfile": {
"networkInterfaces": [
{
"id":
"[resourceId('Microsoft.Network/networkInterfaces',variables('jumpBoxNicName'))]"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": "true",
"storageUri":
"[concat('http://',variables('jumpBoxSAName'),'.blob.core.windows.net')]"
}
}
},
"dependsOn": [
"[concat('Microsoft.Storage/storageAccounts/', variables('jumpBoxSAName'))]",
"[concat('Microsoft.Network/networkInterfaces/', variables('jumpBoxNicName'))]"
]
},
ARM Template
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"sku": {
"name": "[parameters('vmSku2')]",
"tier": "Standard",
"capacity": "[parameters('instanceCount')]"
},
"name": "[variables('namingInfix')]",
"apiVersion": "[variables('computeApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"overprovision": "true",
"upgradePolicy": {
"mode": "Manual"
},
"virtualMachineProfile": {
"storageProfile": {
"imageReference": {
"id": “ここにカスタムイメージのリソースIDを入れる”
},
"osDisk": {
"createOption": "fromImage",
"managedDisk": {
"storageAccountType": "Standard_LRS"
}
}
},
"osProfile": {
"computerNamePrefix": "[variables('namingInfix')]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]"
},
"networkProfile": {
"networkInterfaceConfigurations": [
{
"name": "[variables('nicName')]",
"properties": {
"primary": "true",
"ipConfigurations": [
{
"name": "[variables('ipConfigName')]",
"properties": {
"subnet": {
"id": "[concat('/subscriptions/',
subscription().subscriptionId,'/resourceGroups/', resourceGroup().name,
'/providers/Microsoft.Network/virtualNetworks/',
variables('virtualNetworkName'), '/subnets/', variables('subnetName'))]"
}
}
}
]
}
}
]
}
}
},
"dependsOn": [
"[concat('Microsoft.Network/virtualNetworks/',
variables('virtualNetworkName'))]"
]
}
]
}
LAMMPS
http://lammps.sandia.gov/
Azure Batch
Azure Batchの概要
Batch Shipyard
https://github.com/Azure/batch-shipyard
https://github.com/Azure/batch-shipyard/tree/master/recipes
http://batch-shipyard.readthedocs.io/en/latest/
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~

More Related Content

PDF
[Azure Antenna] HPCだけじゃないDeep Learningでも使える ハイパフォーマンスAzureインフラ ~ Azureハイパフォーマ...
PDF
[Cyber HPC Symposium 2019] Microsoft Azureによる、クラウド時代のハイパフォーマンスコンピューティング High...
PDF
[Azure Antenna] クラウドで HPC ~ HPC on Azure ~
PDF
Apache cloudstack4.0インストール
PDF
「さくらのクラウド」におけるVyattaの活用事例
PDF
KVM環境におけるネットワーク速度ベンチマーク
PDF
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
ODP
DRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタ
[Azure Antenna] HPCだけじゃないDeep Learningでも使える ハイパフォーマンスAzureインフラ ~ Azureハイパフォーマ...
[Cyber HPC Symposium 2019] Microsoft Azureによる、クラウド時代のハイパフォーマンスコンピューティング High...
[Azure Antenna] クラウドで HPC ~ HPC on Azure ~
Apache cloudstack4.0インストール
「さくらのクラウド」におけるVyattaの活用事例
KVM環境におけるネットワーク速度ベンチマーク
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
DRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタ

What's hot (20)

PDF
【さくらのクラウド】ローカルルータ導入ガイド
PPTX
RHEL on Azure、初めの一歩
PDF
CloudStackユーザ会 OSC.cloud
PDF
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
PPTX
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
PDF
Control distribution of virtual machines
PDF
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
PDF
PG-REXで学ぶPacemaker運用の実例
PDF
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
PDF
(JP) GPGPUがPostgreSQLを加速する
PDF
OpenStack構築手順書 Juno版
PDF
OpenStack Grizzly構築手順書
PDF
さくらのクラウドでのPlesk Onyx導入手順
PDF
さくらのクラウドインフラの紹介
PDF
20131230_CloudStack Advent Calendar VPCを作ってみよう
PPT
Pgcon2012 ori-20120224
PPTX
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
PDF
TripleOの光と闇
PDF
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
PDF
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
【さくらのクラウド】ローカルルータ導入ガイド
RHEL on Azure、初めの一歩
CloudStackユーザ会 OSC.cloud
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
Control distribution of virtual machines
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
PG-REXで学ぶPacemaker運用の実例
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
(JP) GPGPUがPostgreSQLを加速する
OpenStack構築手順書 Juno版
OpenStack Grizzly構築手順書
さくらのクラウドでのPlesk Onyx導入手順
さくらのクラウドインフラの紹介
20131230_CloudStack Advent Calendar VPCを作ってみよう
Pgcon2012 ori-20120224
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
TripleOの光と闇
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Ad

Similar to [Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~ (20)

PDF
Hol012 windowsコンテナー始動
PDF
SDN Lab環境でのRobotFramework実践活用
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
PDF
今だからこそ知りたい Docker Compose/Swarm 入門
PDF
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
PPTX
OpenStack本番環境の作り方 - Interop 2016
PDF
Rancher2.3とwindows Containerで作るkubernetesクラスタ
PDF
20161121 open hyperscale#6
PPT
Maatkit で MySQL チューニング
PDF
Open Source x AI
PDF
Osc fukuoka xAI Meetup
PDF
OpenCV2.2 Install Guide ver.0.5
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
PDF
Circle ci and docker+serverspec
PDF
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
PPTX
Dbts2012 unconference wttrw_yazekatsu_publish
PPTX
Linux Performance Analysis in 15 minutes
PDF
Kibanaでsysstatを可視化する
PDF
OpenStackでも重要な役割を果たすPacemakerを知ろう!
PPTX
NetApp XCP データ移行ツールインストールと設定
Hol012 windowsコンテナー始動
SDN Lab環境でのRobotFramework実践活用
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
今だからこそ知りたい Docker Compose/Swarm 入門
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
OpenStack本番環境の作り方 - Interop 2016
Rancher2.3とwindows Containerで作るkubernetesクラスタ
20161121 open hyperscale#6
Maatkit で MySQL チューニング
Open Source x AI
Osc fukuoka xAI Meetup
OpenCV2.2 Install Guide ver.0.5
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Circle ci and docker+serverspec
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
Dbts2012 unconference wttrw_yazekatsu_publish
Linux Performance Analysis in 15 minutes
Kibanaでsysstatを可視化する
OpenStackでも重要な役割を果たすPacemakerを知ろう!
NetApp XCP データ移行ツールインストールと設定
Ad

[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~

  • 9. 仮想マシンの作成 設定項目 今回の設定 説明 名前 hpc001 仮想マシンの名前を設定します。 VMディスクの種類 HDD 仮想マシンに接続するディスクの種類 (SSD/HDD)を設定します。 ユーザ名 msadmin 仮想マシンのユーザ名(管理者) 認証の種類 パスワード 上記のユーザがログインする際の認証の種類(SSH 公開キー/パスワード)を選択します。 サブスクリプション 使用するサブスクリプションを選択します。 リソースグループ hpctest この仮想マシンが所属するリソースグループ(新規で作ることも可能)を選択します。 場所 東日本 仮想マシンをデプロイするリージョンを選択します。
  • 10. 仮想マシンの作成 設定項目1 設定項目2 今回の設定 説明 高可用性 可用性セット 名前: hpctest_avail 障害ドメイン : 2 更新ドメイン : 5 InfiniBandを利用するために可用性セットを設定する必要があります。障害・更新ドメインはデフォ ルトのまま。 Storage ディスクの種類 HDD VHDに利用するStorageの種類を設定します。 管理ディスクの使用 はい ネットワーク Virtual Network 名前: hpctest-vnet アドレス空間: 10.1.6.0/24 サブネット名: default サブネット アドレス範囲 : 10.1.6.0/24 この仮想マシンが所属する仮想ネットワークを選択します。 パブリックIPアドレス 名前: hpc01-ip 割り当て: 動的 インターネット経由でアクセスできるようにパブリップIPアドレスを設定します。 ネットワークセキュリティー グループ(NSG) 名前: hpc01-nsg 受信規則 : SSH (Port=22) 送信規則:なし 仮想マシンとの間でやり取りされるトラフィックを制御するファイアウォールの規則のセットです。 拡張機能 拡張機能 今回はなし 仮想マシンに新しい機能を追加します。 自動シャットダウン 自動シャットダウン機能を有 効にする オフ 仮想マシンを自動的に毎日シャットダウンするように設定します。 監視 ブート診断 有効 ホスト上で実行している仮想マシンのシリアルコンソール出力とスクリーンショットをキャプチャ して、起動時の問題診断に役立てます。 ゲストOS診断 無効 仮想マシンのメトリックを1分ごとに取得します。 診断ストレージアカウント 名前:hpctestdiag788 パフォーマンス:Standard リプリケーション:LRS メトリックを保存するためのストレージアカウントを選択します。 ※今回はdefaultのまま(Linuxの仮想マシンではSSHのポートのみが開いています。) ※今回はdefaultのまま(2つ目以降のVMは同じVNetを選択します。) ※今回はdefaultのまま(2つ目以降のVMは設定は不要です。) ※今回はdefaultのまま
  • 12. 仮想マシンの作成 hpc001 hpc002 デプロイモデル Resource Manager Resource Manager 仮想マシンの名前 hpc001 hpc002 VM Diskの種類 HDD HDD ユーザ名 msadmin msadmin 認証の種類 パスワード パスワード リソースグループ hpctest hpctest(cmp01で作成済のものを選択) 場所 東日本 東日本 サイズ H16r H16r 可用性セット hpctest_avail hpctest_avail (cmp01で作成済のものを選択) ディスク HDD HDD 管理ディスクの使用 はい はい Virtual Network hpctest-vnet hpctest-vnet パブリックIPアドレス hpc001-ip 不要 ネットワークセキュリティーグループ hpc001-nsg hpc002-nsg 診断ストレージアカウント hpctestdiag788 hpctestdiag788 (cmp01で作成済のものを選択)
  • 14. 共有ディスクの作成 設定項目 今回の設定 設定 名前 hpc001disk01 追加するデータディスクの名前を設定します。 リソースグループ hpctest2 追加するデータディスクのリソースグループを選択します。 アカウントの種類 Standard_LRS ストレージアカウントの種類(Premium/Standard, データリプリケーションの種類 LRS/ZRS/GRS/RA-GRS)を選択します。 ソースの種類 なし(空のディスク) 別のディスクのスナップショットからディスクを作成するか、ストレージアカウントのBLOBから作成するか、空のディ スクを作成するかを選択します。 サイズ(GiB) 1023 ディスクのサイズを設定します。
  • 22. Intel MPI Benchmark #------------------------------------------------------------ # Intel (R) MPI Benchmarks 2017, MPI-1 part #------------------------------------------------------------ # Date : Wed Nov 22 02:56:34 2017 # Machine : x86_64 # System : Linux # Release : 3.10.0-514.21.1.el7.x86_64 # Version : #1 SMP Thu May 25 17:04:51 UTC 2017 # MPI Version : 3.1 # MPI Thread Environment: # Calling sequence was: # IMB-MPI1 pingpong # Minimum message length in bytes: 0 # Maximum message length in bytes: 4194304 # # MPI_Datatype : MPI_BYTE # MPI_Datatype for reductions : MPI_FLOAT # MPI_Op : MPI_SUM # # # List of Benchmarks to run: # PingPong #--------------------------------------------------- # Benchmarking PingPong # #processes = 2 #--------------------------------------------------- #bytes #repetitions t[usec] Mbytes/sec 0 1000 2.60 0.00 1 1000 2.61 0.38 2 1000 2.63 0.76 4 1000 2.60 1.54 8 1000 2.59 3.09 16 1000 2.64 6.06 32 1000 2.36 13.55 64 1000 2.35 27.28 128 1000 2.40 53.41 256 1000 2.47 103.77 512 1000 2.61 196.24 1024 1000 2.94 348.83 2048 1000 3.41 599.88 4096 1000 4.49 911.42 8192 1000 5.55 1475.36 16384 1000 7.29 2247.46 32768 1000 10.16 3224.71 65536 640 15.73 4166.39 131072 320 32.01 4094.40 262144 160 55.38 4733.73 524288 80 98.02 5348.79 1048576 40 177.88 5895.01 2097152 20 343.53 6104.79 4194304 10 676.50 6200.00 # All processes entering MPI_Finalize #------------------------------------------------------------ # Intel (R) MPI Benchmarks 2017, MPI-1 part #------------------------------------------------------------ # Date : Wed Nov 22 03:00:13 2017 # Machine : x86_64 # System : Linux # Release : 3.10.0-514.21.1.el7.x86_64 # Version : #1 SMP Thu May 25 17:04:51 UTC 2017 # MPI Version : 3.1 # MPI Thread Environment: # Calling sequence was: # IMB-MPI1 pingpong # Minimum message length in bytes: 0 # Maximum message length in bytes: 4194304 # # MPI_Datatype : MPI_BYTE # MPI_Datatype for reductions : MPI_FLOAT # MPI_Op : MPI_SUM # # # List of Benchmarks to run: # PingPong #--------------------------------------------------- # Benchmarking PingPong # #processes = 2 #--------------------------------------------------- #bytes #repetitions t[usec] Mbytes/sec 0 1000 60.63 0.00 1 1000 49.57 0.02 2 1000 48.46 0.04 4 1000 49.16 0.08 8 1000 49.22 0.16 16 1000 47.67 0.34 32 1000 48.14 0.66 64 1000 47.69 1.34 128 1000 52.62 2.43 256 1000 49.41 5.18 512 1000 50.89 10.06 1024 1000 52.09 19.66 2048 1000 69.27 29.57 4096 1000 72.95 56.15 8192 1000 84.96 96.42 16384 1000 100.70 162.69 32768 1000 137.77 237.84 65536 640 318.70 205.64 131072 320 898.85 145.82 262144 160 1115.12 235.08 524288 80 1349.19 388.59 1048576 40 2139.93 490.01 2097152 20 4487.08 467.38 4194304 10 8537.50 491.28 # All processes entering MPI_Finalize
  • 25. High Performance Linpack(HPL) Number of Intel(R) Xeon Phi(TM) coprocessors : 0 ================================================================================ HPLinpack 2.1 -- High-Performance Linpack benchmark -- October 26, 2012 Written by A. Petitet and R. Clint Whaley, Innovative Computing Laboratory, UTK Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK Modified by Julien Langou, University of Colorado Denver ================================================================================ An explanation of the input/output parameters follows: T/V : Wall time / encoded variant. N : The order of the coefficient matrix A. NB : The partitioning blocking factor. P : The number of process rows. Q : The number of process columns. Time : Time in seconds to solve the linear system. Gflops : Rate of execution for solving the linear system. The following parameter values will be used: N : 65280 NB : 192 PMAP : Column-major process mapping P : 2 Q : 1 PFACT : Right NBMIN : 2 NDIV : 2 RFACT : Crout BCAST : 1ring DEPTH : 0 SWAP : Binary-exchange L1 : no-transposed form U : no-transposed form EQUIL : no ALIGN : 8 double precision words -------------------------------------------------------------------------------- - The matrix A is randomly generated for each test. - The following scaled residual check will be computed: ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N ) - The relative machine precision (eps) is taken to be 1.110223e-16 - Computational tests pass if scaled residuals are less than 16.0 ================================================================================ T/V N NB P Q Time Gflops -------------------------------------------------------------------------------- WC00C2R2 65280 192 2 1 136.42 1.35953e+03 HPL_pdgesv() start time Wed Nov 22 06:32:26 2017 HPL_pdgesv() end time Wed Nov 22 06:34:42 2017 -------------------------------------------------------------------------------- ||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0041553 ...... PASSED ================================================================================ Finished 1 tests with the following results: 1 tests completed and passed residual checks, 0 tests completed and failed residual checks, 0 tests skipped because of illegal input values. -------------------------------------------------------------------------------- End of Tests. ================================================================================ ================================================================================ T/V N NB P Q Time Gflops -------------------------------------------------------------------------------- WC00C2R2 65280 192 2 1 136.42 1.35953e+03 HPL_pdgesv() start time Wed Nov 22 06:32:26 2017 HPL_pdgesv() end time Wed Nov 22 06:34:42 2017 -------------------------------------------------------------------------------- ||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0041553 ...... PASSED ================================================================================
  • 28. ARM Template { "$schema": "http://schema.management.azure.com/schemas/2015-01-01- preview/deploymentTemplate.json", "contentVersion": "1.0.0.0", "parameters": { "resourceLocation": { "allowedValues": [ "East US", "West US", "South Central US", "North Central US", "North Europe", "West Europe", "Japan East" ], "type": "String", "metadata": { "description": "Azure region where all resources will be deployed. This is distinct from resource group location." } }, "vmSku1": { "defaultValue": "Standard_H16r", "allowedValues": [ "Basic_A4", "Standard_A4", "Standard_A8", "Standard_A9", "Standard_H16r", "Standard_H16mr", "Standard_NC6", "Standard_NC12", "Standard_NC24" ], "type": "String", "metadata": { "description": "Which instance would you like to deploy to? Not all VMs are available in all regions" } }, "vmSku2": { "defaultValue": "Standard_H16r", "allowedValues": [ "Basic_A4", "Standard_A4", "Standard_A8", "Standard_A9", "Standard_H16r", "Standard_H16mr", "Standard_NC6", "Standard_NC12", "Standard_NC24" ], "type": "String", "metadata": { "description": "Which instance would you like to deploy to? Not all VMs are available in all regions" } },
  • 29. ARM Template "vmssName": { "maxLength": 10, "type": "String", "metadata": { "description": "String used as a base for naming resources. Must be 3-10 characters in length and globally unique across Azure. A hash is prepended to this string for some resources, and resource-specific information is appended." } }, "instanceCount": { "maxValue": 100, "type": "Int", "metadata": { "description": "Number of VM instances (100 or less)." } }, "adminUsername": { "type": "String", "metadata": { "description": "Admin username on all VMs." } }, "adminPassword": { "type": "String", "metadata": { "description": "Admin password on all VMs." } } }, "variables": { "namingInfix": "[toLower(substring(concat(parameters('vmssName')), 0, 5))]", "longNamingInfix": "[toLower(parameters('vmssName'))]", "jumpBoxName": "[concat(variables('longNamingInfix'),'login')]", "jumpBoxSAName": "[concat(uniqueString(concat(resourceGroup().id, variables('newStorageAccountSuffix'), 'jumpboxsa')), 'jb')]", "jumpBoxOSDiskName": "[concat(variables('jumpBoxName'), 'osdisk')]", "jumpBoxVHDContainerName": "[concat(variables('jumpBoxName'), 'vhd')]", "jumpBoxIPConfigName": "[concat(variables('jumpBoxName'), 'ipconfig')]", "jumpBoxNicName": "[concat(variables('jumpBoxName'), 'nic')]", "storageAccountType": "Standard_LRS", "addressPrefix": "10.0.0.0/16", "subnetPrefix": "10.0.0.0/24", "virtualNetworkName": "[concat(variables('namingInfix'), 'vnet')]", "subnetName": "[concat(variables('namingInfix'), 'subnet')]", "vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkNa me'))]", "subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]", "publicIPAddressName": "[concat(variables('namingInfix'), 'pip')]", "nicName": "[concat(variables('namingInfix'), 'nic')]", "ipConfigName": "[concat(variables('namingInfix'), 'ipconfig')]", "newStorageAccountSuffix": "[concat(variables('namingInfix'), 'sa')]", "computeApiVersion": "2016-04-30-preview", "networkApiVersion": "2016-03-30", "storageApiVersion": "2015-06-15" },
  • 30. ARM Template "resources": [ { "type": "Microsoft.Network/virtualNetworks", "name": "[variables('virtualNetworkName')]", "apiVersion": "[variables('networkApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "addressSpace": { "addressPrefixes": [ "[variables('addressPrefix')]" ] }, "subnets": [ { "name": "[variables('subnetName')]", "properties": { "addressPrefix": "[variables('subnetPrefix')]" } } ] } }, { "type": "Microsoft.Storage/storageAccounts", "name": "[variables('jumpBoxSAName')]", "apiVersion": "[variables('storageApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "accountType": "[variables('storageAccountType')]" } }, { "type": "Microsoft.Network/publicIPAddresses", "name": "[variables('publicIPAddressName')]", "apiVersion": "[variables('networkApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "publicIPAllocationMethod": "Dynamic", "dnsSettings": { "domainNameLabel": "[variables('longNamingInfix')]" } } }, { "type": "Microsoft.Network/networkInterfaces", "name": "[variables('jumpBoxNicName')]", "apiVersion": "[variables('networkApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "ipConfigurations": [ { "name": "[variables('jumpBoxIPConfigName')]", "properties": { "privateIPAllocationMethod": "Dynamic", "publicIPAddress": { "id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressNa me'))]" }, "subnet": { "id": "[variables('subnetRef')]" } } } ] }, "dependsOn": [ "[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'))]", "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]" ] },
  • 31. ARM Template { "type": "Microsoft.Compute/virtualMachines", "name": "[variables('jumpBoxName')]", "apiVersion": "[variables('computeApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "hardwareProfile": { "vmSize": "[parameters('vmSku1')]" }, "osProfile": { "computerName": "[variables('jumpBoxName')]", "adminUsername": "[parameters('adminUsername')]", "adminPassword": "[parameters('adminPassword')]" }, "storageProfile": { "imageReference": { “id”: “ここにカスタムイメージのリソースIDを入れる” }, "osDisk": { "createOption": "fromImage", "managedDisk": { "storageAccountType": "Standard_LRS" } } }, "networkProfile": { "networkInterfaces": [ { "id": "[resourceId('Microsoft.Network/networkInterfaces',variables('jumpBoxNicName'))]" } ] }, "diagnosticsProfile": { "bootDiagnostics": { "enabled": "true", "storageUri": "[concat('http://',variables('jumpBoxSAName'),'.blob.core.windows.net')]" } } }, "dependsOn": [ "[concat('Microsoft.Storage/storageAccounts/', variables('jumpBoxSAName'))]", "[concat('Microsoft.Network/networkInterfaces/', variables('jumpBoxNicName'))]" ] },
  • 32. ARM Template { "type": "Microsoft.Compute/virtualMachineScaleSets", "sku": { "name": "[parameters('vmSku2')]", "tier": "Standard", "capacity": "[parameters('instanceCount')]" }, "name": "[variables('namingInfix')]", "apiVersion": "[variables('computeApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "overprovision": "true", "upgradePolicy": { "mode": "Manual" }, "virtualMachineProfile": { "storageProfile": { "imageReference": { "id": “ここにカスタムイメージのリソースIDを入れる” }, "osDisk": { "createOption": "fromImage", "managedDisk": { "storageAccountType": "Standard_LRS" } } }, "osProfile": { "computerNamePrefix": "[variables('namingInfix')]", "adminUsername": "[parameters('adminUsername')]", "adminPassword": "[parameters('adminPassword')]" }, "networkProfile": { "networkInterfaceConfigurations": [ { "name": "[variables('nicName')]", "properties": { "primary": "true", "ipConfigurations": [ { "name": "[variables('ipConfigName')]", "properties": { "subnet": { "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'), '/subnets/', variables('subnetName'))]" } } } ] } } ] } } }, "dependsOn": [ "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]" ] } ] }