overview of the start(*t) multithreaded computer

21
Overview of the START(*T) Multithreaded Computer Michael J. Beckerle 2003/6/5 早早 早早 [email protected] tokyo.ac.jp

Upload: diane

Post on 12-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

Overview of the START(*T) Multithreaded Computer. Michael J. Beckerle 2003/6/5 早津 政和 [email protected]. Agenda. 0. Abstract 1. Introduction 2. Processor-Integrated Networking 3. Transmitting and Receiving 4. Multithreading on *T 5. Network Architecture - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Overview of the START(*T) Multithreaded Computer

Overview of the START(*T) Multithreaded

Computer

Michael J. Beckerle

2003/6/5早津 政和

[email protected]

Page 2: Overview of the START(*T) Multithreaded Computer

Agenda

0. Abstract 1. Introduction 2. Processor-Integrated Networking 3. Transmitting and Receiving 4. Multithreading on *T 5. Network Architecture 6. The *T Operating System 7. *T Physical Packaging Concepts 8. Conclusion

Page 3: Overview of the START(*T) Multithreaded Computer

0. Abstract

START(*T) M.I.T と Motorola が開発 様々な並列プログラミングスタイルをサポート

マシンサイズの拡大による、メモリのレイテンシ増加にも耐えうるマルチスレッドプログラミング

ネットワークメッセージインターフェースと同期機構がプロセッサと密接に関連した構造

UNIX-like なソフトウェア環境

Page 4: Overview of the START(*T) Multithreaded Computer

1. Introduction

*T は “ start” と読む “*”: multiple, “T”: threaded “start”: 新しいスレッドを開始するという抽象的手

続き

マルチスレッド メモリ操作のレイテンシが大きい計算にも耐えう

る プロセッサ間のメッセージを用いた split-phase

transaction (後述)として表現

Page 5: Overview of the START(*T) Multithreaded Computer

2. Processor-Integrated Networking

88110 Multi-Processor (88110MP) Motorola 88110 Symmetric Superscalar™

microprocessor+

Message and Synchronization Unit (MSU) 細粒度の通信と同期を行う命令セットとレジスタ群 ネットワークインターフェースとメモリインター

フェースを 完全に分離 88110 の命令と同様に dual-issue

Page 6: Overview of the START(*T) Multithreaded Computer

2.1 MSU instruction set

25 の MSU 命令を追加 重要な命令

sttx : Store into Transmit Registers ldrx : Load from Receive Registers rxpoll: Poll Receive Status sched : Schedule Next Microthread cpost : Conditionally Post and

Schedule Next Microthread

Page 7: Overview of the START(*T) Multithreaded Computer

3. Transmitting and Receiving

通信はレジスタを介して行う 送信: general register

⇒ transmit(tx) register network⇒ 受信: network

⇒ receive(rx) register general ⇒register

OS を介さずにメッセージを受け取ることができる

Page 8: Overview of the START(*T) Multithreaded Computer

3.1 Transmitter Instructions(1/2)

基本的な transmitter instruction は sttx (store into transmit registers)

transmitter レジスタ (Fig. 2 左 ) 32-bit レジスタ 24 個の集まりで構成 4 レジスタで 1 つのグループを形成し、 2 層に分

かれる⇒ 88110 の dual-issue の特性を用いて、   1 clock で 64-bit words のデータ 4 つをストア

Page 9: Overview of the START(*T) Multithreaded Computer

3.1 Transmitter Instructions(2/2)

コード片 (Code 1) sttx : transmit レジスタにストア sttx...go: transmit レジスタ中のメッセージを

    ネットワークに送る bcnd : 条件分岐の投機的実行

データ長は最大 22 words word 0: 送信先のプロセッサのノード番号 word 1: メッセージ長(最低 5bit 必要)

Page 10: Overview of the START(*T) Multithreaded Computer

3.2 Receiver Instructions (1/2)

基本的な receiver instruction は ldrx (load from receive registers)

receiver レジスタ (Fig. 2 右 ) 32-bit レジスタ 24 個の集まりで構成 2 レジスタで 1 つのグループを形成し、 2 層に分か

れる⇒ 88110 は dual-operand/single-result 操作に  特化されているため、   1 clock で 64-bit words のデータ 2 つをロード

Page 11: Overview of the START(*T) Multithreaded Computer

3.2 Receiver Instructions (2/2)

コード片 (Code 2) ldrx : receive レジスタからロード rxpoll.next: メッセージの有無を確認

   存在した場合、 receive レジスタに移動

   ※ OS の制御を介さない

Page 12: Overview of the START(*T) Multithreaded Computer

4. Multithreading on *T (1/2)

microthread ブロックしない ( 排他的で共有できない性質を持

つ ) 部分のコード 止まる必要がある場合(他の microthread との

同期・ネットワークメッセージ待ちなど)は、 microthread を終了し、別の microthread をスケジューリングする

受信データは microthread descriptor を運ぶ 32-bit instruction pointer (IP), 32-bit data pointer (DP)

の組 (Fig. 3)

Page 13: Overview of the START(*T) Multithreaded Computer

4. Multithreading on *T (2/2)

microthread scheduling network receiver にメッセージが届く (Fig. 4)

送信側が microthread descriptor を埋め込む必要あり microthread が sched 命令を行う (Code 3)

優先度の一番高いメッセージを receive レジスタに移動

メッセージの中の microthread descriptor を返す microthread が jmp 命令を行う (Code 3)

元の microthread は終了 制御は IP 部に移る(次の microthread が開始)

Page 14: Overview of the START(*T) Multithreaded Computer

4.1 Split-Phase Transaction(1/2)

local virtual address (LVA) 各プロセスの持つ 32bit の仮想アドレス空間

global virtual address (GVA) 論理ノード番号 ( 最大 16bit) + local virtual

address MSU 命令を通して他のプロセッサのアドレスを

指定する場合に用いる microthread descriptor は (Fig. 3 下 ) のように

なり、 DP/IP の長さに制限がかかる

Page 15: Overview of the START(*T) Multithreaded Computer

4.1 Split-Phase Transaction(2/2)

split phase transaction でのメッセージ (Fig. 5)

遠隔ロード要求側のコード片 (Code 4) sttx.rt… : リターンアドレスを

global microthread descriptor に変換 遠隔ロード応答側のコード片 (Code 5)

sttx.rsp: global microthread descriptor を node no, IP, DP に変換

メッセージが届く間、別の microthread を実行可

Page 16: Overview of the START(*T) Multithreaded Computer

4.2 Microthread Synchronization

同期機構としてセマフォを提供

コード片 (Code 6) cpost : セマフォが条件を満たしているか確認

条件○⇒新たな microthread を作り、スタックに積む  優先度が一番高い microthread に返る条件 ×⇒ 優先度が一番高い microthread に返る

普通の OS のセマフォとは全く違う microthread の排他的性質から non-atomic な

read/write が可能

Page 17: Overview of the START(*T) Multithreaded Computer

5. Network Architecture

*T の内部ネットワークは fat tree (Fig. 6) 区画間のバンド幅をできるだけ広く保ちたい

接続線は 1 本、 OS 用 / ユーザ用の 2 つの優先度 ユーザプログラムがデッドロックしても OS を

巻き込まない

ネットワークパケット (Fig. 7) 負荷分散のため、 up-route を一様に選ぶ必要性 CRC のエラーは *T の診断システムに報告

Page 18: Overview of the START(*T) Multithreaded Computer

6. The *T Operating System

OS UNIX-like な環境を提供 *T モデルの並列プログラムが動くように拡張 ユーザのジョブ間で並列マシンを物理的に分割利用 (space sharing) することも可能

Page 19: Overview of the START(*T) Multithreaded Computer

6.1 Process Model

manager/player 並列ジョブは、 manager プロセスと、子プロ

セス (player) で形成 並列ジョブに関わるプロセッサ毎に 1 player players はプロセッサ間で同時にスケジューリン

グされる (gang schedule) remote operation を OS-level context switch なしに

行える

Page 20: Overview of the START(*T) Multithreaded Computer

7. *T Physical Packaging Concepts

構成(計画中) 32-processor system

3 billion operations per second (peak) 512-processor system

50 billion operations per second (peak) 32-processor のブロック ×16 個で構成

各ブロック内の接続は回路上で実現(ケーブルを用いない)

4096 プロセッサ位まで拡大可能?

Page 21: Overview of the START(*T) Multithreaded Computer

8. Conclusion

メッセージの送受信を OS の仲介なしにできる 送受信のコストが下がり、非常に小さなメッセージ

のやりとりが実際に効率的に行えるようになった microthread の能率的な生成・割当て・同期

増加するメモリアクセスのレイテンシをうまく扱う技術を提供

RISC + microthread & embedded communication の命令セットに対するコンパイル技術の発展を望む