分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · node 1 node 2...

29
分散共有メモリ型計算機と クラスタ 慶應義塾大学理工学部 天野英晴 hunga@amicskeioacjp

Upload: others

Post on 11-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

分散共有メモリ型計算機とクラスタ

慶應義塾大学理工学部

天野英晴

hunga@am.ics.keio.ac.jp

Page 2: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

集中メモリ型と分散メモリ型

Node 1

Node 2

Node 3Node 0

InterconnectonNetwork

プロセッサ

メモリ

メモリが一か所に集中UMA(Uniform memory access model)

いわゆるマルチコア

メモリが分散NUMA(Non-Uniform memory access model)

Page 3: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

NUMAの分類

• 単純なNUMA

–単一なアドレスでメモリをアクセスできるが、キャッシュはできない

–できても一貫性は保持してくれない

• CC-NUMA (Cache Coherent) NUMA

–キャッシュの一貫性を保持してくれる

• 大規模なNUMAは、一部CC-NUMAになっている

Page 4: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

Copyright © 2012, Elsevier Inc. All rights reserved.

典型的な分散メモリ型D

istrib

ute

d S

hare

d M

em

ory

and D

irecto

ry-B

ased C

ohere

nce

IBM Power 7

AMD Opteron 8430

Page 5: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

ディレクトリ方式のキャッシュ

• ホームメモリが共有情報をディレクトリで管理

• ノード間のメッセージ交換でキャッシュの一致を制御

• プロトコル自体はスヌープ方式と似ている

• バスがないので常にディレクトリをメッセージでアクセスする

Page 6: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

キャッシュの制御(Node 3読み出し)

Node 1Node 2

Node 3Node 0

U

req

U:UncachedS:SharedD:Dirty

I:InvalidatedS:SharedD:Dirty

Page 7: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

キャッシュの制御(Node 3読み出し)

Node 1Node 2

Node 3Node 0

S 1

SCache line

Page 8: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

キャッシュの制御(Node 1読み出し)

Node 1Node 2

Node 3Node 0

S 1

req

Cache line

Page 9: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

キャッシュの制御(Node 3書込み)

Node 1Node 2

Node 3Node 0

Write request

Invalidation

Ack

D

SWrite

D

Ack

→ I

110

Page 10: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

キャッシュの制御(Node 2読み出し)

Node 1Node 2

Node 3Node 0

DD

req

Write Back Req

Cache line

Write Back

→ S

Reads

1 1S

S

Page 11: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

キャッシュの制御(Node 2書込み)

Node 1Node 2

Node 3Node 0

DD

req

Write Back Req

Cache line

Write Back

→ I

Writes

1 1

D

Page 12: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

三角データ交換

Node 1Node 2

Node 3Node 0

DD

req

Write Back Req to

Node2

Write Back

→ I

Writes

1 1

D

Dのキャッシュが要求元に直接データを送る

Page 13: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

フルマップ方式

Node 1Node 2

Node 3Node 0

S 1 1

Bit = Nodes

サイズが大きいとビット数が増大

小規模向き

Page 14: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

リミテッドポインタ

Node 1Node 2

Node

Node 0

S

ポインタの利用

Page 15: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

リミテッドポインタ

• 少数のポインタで共有関係を保持する

–実際に多数のノードで共有されるブロックはさほど多くない

• 溢れたらどうするか?

–無効化する (追い出す)

– メッセージをブロードキャストに切り替える

• 不要なメッセージは単に捨てれば良い

– ソフトウェアを呼び出して何とかしてもらう

Page 16: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

キャッシュ間のリンクを構築

Node 1Node 2

Node 3Node 0

S

ポインタをキャッシュ上の置ける→効率が良い時間が掛かる

Page 17: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

ディレクトリをキャッシュに持たせる

• どこかのノードでキャッシュされているブロックは必ずホームメモリのキャッシュにも置く

→ホームメモリの代わりをキャッシュがする

〇高速なアクセスが可能

〇全体のメモリ要求量が小さい

×キャッシュのコントローラが混雑

×キャッシュの利用効率が悪化

Page 18: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

スヌープキャッシュとディレクトリキャッシュ• スヌープキャッシュは共有バスのように皆が見る(スヌープ)ことのできる通信路が必要

–転送、キャッシュブロックの状態制御は分散的に行われる

–集中メモリシステムに向いている

• ディレクトリキャッシュは、ホームメモリのディレクトリが共有バスの代わりに管理センターの役割を果たす

– メッセージを交換してブロックの状態制御を行う

–汎用性が高いが、メッセージ交換のコストは大きい

Page 19: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

クラスタ

慶應義塾大学理工学部

天野英晴

hunga@am.ics.keio.ac.jp

Page 20: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

NORA/NORMA

• 共有メモリを持たない

• 交信はメッセージのやりとりで行う

– MPIが主に使われる

• 接続はGigabit EthernetやInfiniband

• 最近は多出力のスイッチを用いる

– ハイラディックスネットワーク

データセンターなどで要求レベル並列性を処理

クラスタコンピューティング

Page 21: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

Beowulf クラスタ1994年NASA T.Sterling

• 安価で簡単に大規模並列計算環境を作ろう

– コモディティのPCを利用

– コモディティのネットワーク(Ethernet)を利用

– コモディティのソフトウェア(Linux)を利用

– PVMやMPIなどのメッセージパッシング型ライブラリでプログラム

→現在のClusterの元祖となった

現在のClusterは、InfinibandなどのSANを使うものも多いが、基本的に上記の原則を守っている

Page 22: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

Infiniband

• System (Storage) Area Network (SAN)用.

• 8b/10b コードを利用.

• 様々な接続形態に対応.

• マルチキャスト可能.

SDR DDR QDR

1X 2Gbit/s 4Gbit/s 8Gbit/s

4X 8Gbit/s 16Gbit/s 32Gbit/s

12X 24Gbit/s 48Gbit/s 96Gbit/s

Page 23: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

RHiNET-2 cluster

Page 24: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

WSC (Warehouse Scale Computing )

• 巨大なクラスタの集合体

– Google, Amazon, Yahoo,.. etc.

– 50000ノードを越える規模

– 経済的かつ均質なノードから構成される

– ソフトウェアで信頼性を保証

– 電源供給、冷却システムが重要で高価

• クラウドコンピューティングを支える

Page 25: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

WSCは単純なデータセンターと少し違う

• 均質な構造

– 従来のデータセンターは、実は多様なクラスタからできている。ソフトウェアやアプリケーションパッケージも色々

– WSCはホモジーニアスな専用のハードウェアを使う。ソフトウェアも自作かフリーソフトウェア

• コスト

– データセンターは、管理用の人件費が大きい

– WSCでは、管理用の人件費は切り詰められている。このためサーバーハードウェアが大きい

Page 26: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

Figure 6.5 Hierarchy of switches in a WSC. (Based on Figure 1.2 of Barroso and Hölzle [2009].)

Page 27: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

Figure 6.8 The Layer 3 network used to link arrays together and to the Internet [Greenberg et al. 2009]. Some WSCs use a

separate border router to connect the Internet to the datacenter Layer 3 switches.

Page 28: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

Figure 6.19 Google customizes a standard 1AAA container: 40 x 8 x 9.5 feet (12.2 x 2.4 x 2.9 meters). The servers are stacked

up to 20 high in racks that form two long rows of 29 racks each, with one row on each side of the container. The cool aisle goes

down the middle of the container, with the hot air return being on the outside. The hanging rack structure makes it easier to repair

the cooling system without removing the servers. To allow people inside the container to repair components, it contains safety

systems for fire detection and mist-based suppression, emergency egress and lighting, and emergency power shut-off. Containers

also have many sensors: temperature, airflow pressure, air leak detection, and motion-sensing lighting. A video tour of the

datacenter can be found at http://www.google.com/corporate/green/datacenters/summit.html. Microsoft, Yahoo!, and many others

are now building modular datacenters based upon these ideas but they have stopped using ISO standard containers since the size is

inconvenient.

Page 29: 分散共有メモリ型計算機と クラスタam.ics.keio.ac.jp/arc/numa.pdf · Node 1 Node 2 Node 3 Node 0 Interconnecton Network プロセッサ メモリ メモリが一か所に集中

演習

• CC-NUMAにおいて、home memoryのディレクトリ+状態とキャッシュの状態を示せ

• ノード0のホームメモリに対して以下のアクセスが順にあったとする:

– Node 1 reads

– Node 2 reads

– Node 1 writes

– Node 2 writes