Computer Architecture

TM
システム概要
•コンピュータアーキテクチャについて
•SGI Origin 3800
共有メモリ型アーキテクチャ
Register File
Functional
Unit
(mult, add)
memory
Cache
Cache
Coherency
Unit
Processor
•
•
•
•
TM
Register File
Cache
Functional
Unit
(mult, add)
Cache
Coherency
Unit
Processor
全てのプロセッサがメモリを共有
データ分散の必要がないのでプログラミングが容易
コンパイラによる自動並列化が可能
同じデータであるにもかかわらず、プロセッサによってその内容が異なって
しまうというキャッシュコヒーレンシ問題に対応
2
共有メモリ型アーキテクチャの問題点
Register File
Functional
Unit
(mult, add)
memory
Cache
Cache
Coherency
Unit
Processor
TM
Register File
Cache
Functional
Unit
(mult, add)
Cache
Coherency
Unit
Processor
• 共有メモリへのアクセスはバスに負担をかけ、性能を著しく低下させる
3
メッセージパッシング型アーキテクチャ
Main
memory
Register File
Functional
Unit
(mult, add)
Cache
Main
memory
Register File
TM
Functional
Unit
(mult, add)
Cache
Processor
Processor
• プロセッサはそれぞれローカルメモリを持つ
• メッセージパッシングによって他のプロセスと通信
• 拡張性がある
4
メッセージパッシング型アーキテクチャ
の問題点
Main
memory
Register File
Functional
Unit
(mult, add)
Cache
Main
memory
Register File
TM
Functional
Unit
(mult, add)
Cache
Processor
Processor
interconnect
• 逐次プログラムで使えるのは1ノードのメモリのみ
• データ分散をプログラムに明示しなければならない
- プログラミングは容易ではない
5
分散共有メモリ型アーキテクチャ
(ccNUMA)
Main
memory
Register File
Functional
Unit
(mult, add)
Main
memory
TM
Register File
Cache
Functional
Unit
(mult, add)
Cache
Cache
Unit
Processor
Coherency
Cache
Unit
Coherency
Processor
interconnect
• プロセッサはそれぞれローカルメモリを持つ
• 全てのメモリで論理的に“共有メモリ”を構成
• Non-uniform memory access (NUMA):cache-coherent NUMA (ccNUMA)
– ローカルメモリへのアクセスはリモートメモリへのアクセスより速い
• 共有メモリ型アーキテクチャのように自動並列化が可能
• メッセージパッシング型アーキテクチャのように拡張性がある
6
SGI Origin 3800
計算ノード - C-Brick
L2
Cache
L2
Cache
Memory
XIO+ ポート
全てのタイプの
I/Oブリックへ
接続可能
L2
Cache
Proc.
Proc.
Proc.
TM
L2
Cache
Proc.
L2
Cache
Proc.
Proc.
L2
Cache
L2
Cache
Proc.
Proc.
L2
Cache
Bedrock
ASIC
Bedrock
ASIC
Memory
リンクポート:
R-brick
• 4CPUが1つのローカルメモリを共有
• メモリバンド幅:3.2GB/sec
• キャッシュ容量:8MB
• ローカルメモリ容量:4GB
または
C-brick
7
128プロセッサシステム構成
Rack 1
Rack 2
Rack 3
Rack 4
C C C
C R
C C C
R C
C C C
C R
C C C
R C
C R
C C C
R
C R
C C C
R
C
C C C
TM
Rack 1 Rack 2 Rack 3 Rack 4
C
C C C
• 4 racks
• 8 R-bricks
• 32 C-bricks
8