4P-6

並列推論エンジン PIE64 の要素プロセッサ UNIRED-II の並列プログラムでの評価
渡辺 正泰

日高 康雄 小池汎平,
東京大学工学部
3

1

はじめに田中英彦

UNIRED{II のマルチコンテキスト 処理

並列計算機では通信のレイテンシ隠蔽が重要な問題とな

並 列推 論 エ ン ジ ン PIE64 の 要 素プ ロ セッサで あ るる。レイテンシ隠蔽の手法としてスレッドの切替を行な

UNIRED{II は、Committed-Choice 型言語 Fleng を効うマルチスレッド 処理があり、高速なスレッド の切替を率良く実行することを目指して設計されたプロセッサで行なう機構としてマルチコンテキスト処理がある。

UNIRED{II のマルチコンテキスト処理では、各クロッを持つ汎用プロセッサであるが、次の 2 つの特徴を持つ。 ク毎に実行可能なコンテキストから命令単位にスケジューある。UNIRED{II は基本的には RISC 型パイプライン

 パイプライン共有マルチコンテキストプロセッサである。
 Fleng のための複合命令を持つ。

リングを行なってパイプラインに投入する。これにより高速なスレッド 切替と、同一コンテキストの依存関係のある命令がパイプライン上で離されることによるパイプラインストールの低減が実現される。

本稿では PIE64 実機上で Fleng で記述された並列プログラムを用い、UNIRED{II の評価を上記 2 点について行なう。
2

並列推論エンジン PIE64

PIE64 は 64 台の推論ユニット (IU) を持つ並列計算機である。各 IU は低レイテンシの通信と自動負荷分散機構を特徴とするネットワークによって結ばれている。

PC
StatusReg.
PC
StatusReg.
PC
StatusPC
StatusReg.
Reg.
select one active context
at every cycle

put to sleep/activate context
feed the value of PC ofthe context to pipline

UNIRED{II は、IU の要素プロセッサとして用いられている。
context no.

3 2 1 0 1 0 1
pipeline stage

Network (PAN)

IU0

IU1

IU2

Network (DAN)

図 1: PIE64 の摸式図context 0context 1context 2context 3

IU63

図 2: マルチコンテキスト処理の概要
このようなマルチコンテキスト処理を行なうプロセッ
サには HEP,MASA[1] などがあげられるが、UNIRED{II では同一コンテキストからの連続した命令の投入を可能にすることで、並列度が十分でないときにも極端な性能低下を招かないようになっている。

Evaluation of UNIRED{II:A computaional processor
4UNIRED{II の複合命令
of PIE64, using Parallel applications
PIE64 がターゲットとしている言語 Fleng では、変数のMasahiro WATANABE, Yasuo HIDAKA,デレファレンスとタグチェックを効率良く行なうことがHanpei KOIKE and Hidehiko TANAKA
Faculty of Engineering,the University of Tokyo必要である。そのために UNIRED{II には次の複合命令が実装されている。
これらの複合命令は、複数回のメモリアクセスと自分自身への分岐を行なうが、UNIRED{II ではマルチコン

derfderf

変数のデレファレンス
デレファレンスとリスト型であるかのチェック
デレファレンスと定数型であるかのチェック
dfcl に加え、先頭ワード の読みだしを行なう

dfcl
dfcc
dcll

22

表 1: UNIRED{II の derf 系複合命令

dcll

2time (sec)speedup

2.174

1.0

2.071

1.05

2.014

1.08

表 2: prime20000 の実行時間

テキスト処理を利用して、パイプラインストールを起こ
derfさないように実装されている。
F1032

1032

1F2032103

Decode &Reg.Read

2

1D03

2

10

Check tag /Branch

321E0321Second Fetch&Data Read

F10321M10321F20321M203

Decode &Reg.Read
Write(bypassed)

21D0321W0321E0321First Fetch

22dcll2time (sec)speedup

3.241

1.0

2.994

1.08

2.791

1.16

表 3: queen12 の実行時間
6考察

複合命令に関しては、マルチコンテキスト処理を利用してパイプラインを乱さないように実装することで、同等の処理を通常の命令で行なった場合より高い性能が得らTれることが確認された。ただその値は島田 [2] のシミュレーションによって予想された値より低かった。これは島田がネットワークを想定していなかったことによると

図 3: derf 系複合命令のパイプライン動作考えられる。
パイプラインストールの低減については、コンテキスト数の増加につれ、依存関係のある命令が離される可能

5

PIE64 を用いた評価性が高くなるためにパイプラインストール時間が減少し

これら UNIRED{II の 2 つの特徴の有効性を評価するたていることが確認できる。primes の方が減少の割合が小めに、PIE64 実機上で Fleng でかかれた並列プログラム

さいのは、primes は queen に比べ並列性が低く、queenを実行し、以下の計測を行なった。

がほぼ最大コンテキスト数を保つのに対し、primes は1 コンテキスト数に対するパイプラインストール時間
2 複合命令を使用した場合と、使用しない場合の実行時間
計測には並列度の高いプログラム (queen12) と、それ最大コンテキスト数を保てないために起こる。

UNIRED{II はキャッシュを持たないため今回はマルチコンテキスト処理がキャッシュに与える影響を評価していないが、今後はキャッシュの影響を考慮に入れた解析が必要になるだろう。

ほど高くないプログラム (prime20000) を用いた。複合命

参考文献

令に関しては、これらのプログラムに含まれる derf,dcll[1] 島田 健太郎, 小池 汎平, 田中 英彦, \並列推論マシを同等の処理を行なう複数の命令に置き換えた。
77x10 cycles
6.5x10 cycles
2.4ン用推論プロセッサの研究", 東京大学工学部 博士
論文, 1993

6.0

2.2[2] Halstead R. and Fujita T, \MASA: A Multi-

5.5
2.0

5.0

1.8

4.5

1.6

4.0

threaded Processor Architecure for Parallel Symbolic Computing", Proc. of the 15th Annual International Symposium on Computer Architecture,
pp.443{451, 1988

3.5

1.4

3.0
1.2
2.5
1.0

2.0

0.8
1234Contexts

1.5

1234Contexts

図 4: prime20000 の load 図 5: queen12 の load ストストール時間ール時間[3] James Laudon, Anoop Guputa and Mark
Horowitz, \Interleaving: A Multithreading Technique Targeting Multiprocessors and Workstations", Proc. of ASPLOS-VI, 1994