• 検索結果がありません。

Transputerアーキテクチャの再検討

N/A
N/A
Protected

Academic year: 2021

シェア "Transputerアーキテクチャの再検討"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)ハイパフォーマンス 91−16 コンピューティング (2002. 8. 22). Transputer アーキテクチャの再検討 千 本 潤 介. †. 平 木. 敬†. INMOS Transputer はマルチプロセッサ用に設計されたシンプルな CPU である。この CPU は DMA を用いた 4 つの通信チャネルを持っており、任意の形状, サイズの高速ネットワークを容易に構築 することが可能である。この CPU 上では多くのプロセスがメッセージパッシングチャネルにより協調動 作する。しかし、 Transputer は商業的な成功を得ることはできなかった。 本稿では、 Transputer の性能をシミュレータを用いて測定し、今日並列計算環境において良く使われ る MPI のパフォーマンスと比較する。ここで用いるシミュレータでは、公平な比較を行うため、 Transputer のクロック速度は現代の CPU と同程度の性能を持つことを仮定する。この比較により、並列計算 モデルの元で、いかにすればスケーラブルなパフォーマンスを得られるかを検討する。. Empirical study on Transputer Architecture Junsuke Sembon. †. and Kei Hiraki†. The INMOS Transputer is a simple CPU designed for multiprocessing. This CPU has four communication DMA channels and can be easily used to build a fast network which may be an arbitrary topology and scale. On this CPU many processes work in cooperation by using message passing channels. However, the CPU couldn’t succeed commercially. In this paper, the performance of the Transputer is measured by a simulator and is compared with the performance of the MPI which is frequently used in the parallel computing environment. The simulator assumes the Transputer’s clock speed is as fast as current CPUs for a fair comparison. Through this comparison, We will examine how to gain the very scalable performance under the parallel computing model.. 1. は じ め に. Transputer は DMA を用いた4つの通信チャネルを持ち任意 の形状, サイズの高速ネットワークを容易に構築でき、3) 各ノー. Transputer(英 INMOS 社) は基本アーキテクチャが並列処理. ド間でのデータの送受信を行うための命令プリミティブを用いて. 用に設計され、 T414(1985) を皮切りに、浮動小数点ユニット. 低いオーバーヘッドでメッセージパッシングが行える6)7)14) 基本. を装備した T800(1988)、スーパースカラ化した T9000(1992)、. アーキテクチャを用いている。また、通常のレジスタファイルでは. という一連のシリーズとして開発された。それらは、 Meiko の. なくレジスタスタックを用い、全ての命令が 1 バイトで表されて. CS-1、 Parsytec の SuperCluster、 FPS の T-series、 CDAC の PARAM などで用いられ、科学技術計算, ロボットの開発におい. いるため、コードサイズが小さい。開発言語の観点から見ると、. て活躍した。しかしながら、 Transputer は同時代の他の CPU の. ス記述言語をサポートし、この言語を用いることで複数のプロセス. クロック速度との差が開くこととなり、商業的成功を得ることは. が並列に協調動作するプログラムを簡潔に記述することができる。. できず、衰退していった。 のアイデアを見直すことは、多くの問題を抱える現在の並列計算. Transputer の最終モデルである T9000 のアーキテクチャを図 1に示す。 T9000 は 32 ビット ALU および 64 ビット FPU を持 ち、整数用, 浮動少数点用の 3 エントリのレジスタスタックを持. 環境を改善し、より簡単に扱え, よりスケーラブルな性能を発揮. つ。命令は全て 1 バイトであり、より多くの命令, より大きなオ. できる並列計算環境を構築していくために意義を持つ。本稿では. ペランドを扱うために pfix(図 2), nfix という特殊な命令が用意さ. Transputer の再評価の具体的手法として、 Transputer が現代の CPU と同程度のクロック速度, ネットワークの速度を有すると仮. れている。また、複数のプロセスを切替えて実行するためのハー. 定した場合に、どのような性能を示すかをシミュレートすること. れたときは、他のプロセスがその間に実行可能である。 T9000 は. Transputer は並列計算環境においてなお特徴的であり、それら. で、 Transputer の持つ意義を考察する。. Occam11) という Hoare の CSP モデル10) に基づいた並列プロセ. ドウェアカーネルを持ち、あるプロセスが通信のためブロックさ. Virtual Channel を提供し、通信相手のプロセスがどの CPU で. † 東京大学大学院情報理工学系研究科 University of Tokyo, Graduate School of Information Science and Technology. 実行されていようと、同じプログラムでプロセス間通信が行なえ る。. –1– −91−.

(2) を記述できる。 MPI はノード単位でメッセージパッシングを行な Processor Pipeline. Workspace Cache. アドレス 生成器 アドレス 生成器. FPU. 1. 32. されたとき、通信相手が違うノードに存在すれば物理チャネルが 用いられ、そうでない場合は Software Virtual Channel が利用 タを明示的に指定する必要がある。. Occam においてプロセスの振る舞いを決定するのが、 SEQ, PAR, ALT のである。 SEQ は指定されたプロセスを 1 つずつ 順番に実行し、 PAR は順番に実行するかわりに並列に実行し、 ALT は複数のプロセスのうち 1 つだけを実行する。 Transputer には startp, endp という命令があり、並列に動作するサブプロセ. Channel Processor. 32x4. r a B s s o r C. 32. Cache. プログラマブル メモリ インタフェース. によらず、同じプログラムが利用可能である。 in, out 命令が発行. Virtual 32. タイマー ,. 結されているか, 相手のプロセスがどのノードで実行されているか. される。一方、 MPI では通信相手のノード, タグ, コミュニケー. システム サービス バイト 命令 データ. プロセスがチャネルを持っており、そのチャネルがどの相手と連. ALU. 2. 16K. うのに対し、 Occam ではプロセス単位で行なう。 Occam では各. 32. Link0-3. Event0-3. スを生成, 終了させられる。これらのサブプロセスはハードウェ アカーネルによりスケジュールされる。 PAR, ALT と完全に等 価な MPI のプリミティブは存在せず、これらに相当する機能を. 32. CLink0. MPI で記述するためには、非同期通信、更に場合によっては、明 示的にマルチプロセス (マルチスレッド) プログラミングが必要に. CLink1. 図 1 T9000 アーキテクチャの概要. before. Operand Register. val1. pfix val2 after. val1. val2 3. 0. 図 2 pfix 命令の効果 一方、今日のメッセージパッシングモデルに基づく計算では、. MPI,12) PVM などのライブラリが用いられる。これらのライブ ラリは C, C++, Fortran といった既存の言語に対するメッセージ パッシングインターフェースを提供する。多くのアーキテクチャ においてライブラリの実装が存在するため、既存の言語を用いて アーキテクチャに依存しない並列プログラムが書ける。しかし、 これらの言語は Occam のように並列プロセスを記述することを前 提としたものではないため、同期やデッドロックという問題に対 してプログラマが注意を払って対処する必要がある。 本稿では、 NPB2.3(NAS Parallel Benchmark)17) という MPI ベンチマークを Transputer 環境に移植し、その性能をシミュレー タを用いて測定する。測定結果と MPI の性能を比較することで、. Transputer が持つ利点, 欠点を明らかにし、将来の並列計算環境 にはどのようなアーキテクチャが有効かを模索する。. 2. Transputer による並列計算. なる。以下に、 Occam を用いたプログラムの例を示す。 次の、 Id というプロセスは、 in というチャネルから x に値を 読み込み、 out というチャネルから出力する。 PROC Id (CHAN OF INT in, out) WHILE TRUE INT x: SEQ -- 順次実行 in ? x out ! x : 次の、 Delta というプロセスは in から x に読み込んだ値を、 out1, out2 という 2 つのチャネルから並列に出力する。 PROC Delta (CHAN OF INT in, out1, out2) WHILE TRUE INT x: SEQ in ? x PAR -- out1, out2 から並列に出力 out1 ! x out2 ! x : 次のプロセスは ALT を用いており、 1 回のループ毎には in, reset どちらか一方のチャネルからのみ読み込む。 PROC Counter(CHAN OF INT in, out, reset) INT x: SEQ x := 0 WHILE TRUE ALT -- in,reset のどちらか一方からのみ入力 in ? x SEQ x := x + 1 out ! x reset ? x x := 0 -- x を 0 にリセット :. Transputer では、 Occam を用いることで容易に並列プロセス. −92− –2–.

(3) サイズ (バイト). 1 257 1025 2049 8193 16385 32769 65537 131073. ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼. レイテンシ (µ 秒). 256 1024 2048 8192 16384 32768 65536 131072 ∞. 5 10 20 40 80 100 200 400 1000. ノード数. 問題クラス. 1 1 1 4 4 4. S W A S W A. Transputer 0.16 2.72 21.80 0.13 2.08 16.57. Blade 1000 0.02 0.39 6.29 0.04 0.57 5.67. 表 3 IS の実行時間 (単位: 秒) 5 つの問題クラス (問題サイズ) が選べ、☆ 今回は S, W, A の 3 つ. 表 1 プロセッサ間通信のレイテンシの設定. について比較を行なった。プロセッサ数としては 1 と 4 の場合に ついて、性能比較を行った。. プロセッサ 命令キャッシュ データキャッシュ. L2 キャッシュ メインメモリ. OS ネットワーク. MPI ライブラリ. 記述言語としては、 IS の方は Occam で記述し、 CG の方は Transputer のアセンブリ言語を用いて記述した。 Occam コンパ イラとして、 KRoC15) 16)19) を用いた。. 8). 750MHz UltraSPARC-III ×2 32K バイト 32K バイト (4 way セットアソシアティブ) 8M バイト 1G バイト Solaris 8 Myrinet (Max: 2Gbps) mpich-gm. Sun Blade 1000 で用いたコンパイラは、 Sun Workshop Pro の cc および f77 であり、☆☆ 最適化オプション (-O3) をつけた。今 回の比較では、実行時間に加えて実行サイクル数, 実行命令数を測 定し、これには cpc ライブラリを用いた。. 4.1 シミュレーションの仮定. 表 2 Sun Blade 1000 クラスタにおける各ノードの構成. シ ミュ レー ショ ン の 仮 定 と し て、 個々 の Transputer は Sun Blade 1000 と同じ 750MHz のクロック速度であると仮定する。. 3. Transputer のシミュレーション. プロセッサ間通信のレイテンシについては、すでに述べた通りで. 3.1 シミュレータ シミュレータは C++ を用いて記述した。 CPU という名前の. ある。 また、キャッシュについてはデータキャッシュ, L2 キャッシュ. クラスが処理のメインとなり、命令フェッチ, データ読みだし, 実. のみを考慮し、命令キャッシュ, メインメモリのサイズについて. 行, 結果書きだしを繰り返す。並列プロセッサをシミュレートす. は考慮しなかった。データキャッシュ, L2 キャッシュは表 2と同. るため、 CPU クラスの各インスタンスに 1 つのスレッド割り当. じ値になるように、すなわち Transputer と Blade 1000 が同じ. てた。スレッドライブラリとしては、 P スレッド (POSIX スレッ. キャッシュシステムを持つように設定した。なお、これ以降デー. ド)13) を用いた。各 CPU のスレッドはローカルなメモリを持ち、. タキャッシュのことを、単に L1 キャッシュと呼ぶ。 多くの命令は 1 サイクル☆☆☆ で実行可能であるが、より多くのサ. 互いにメッセージを送ることができる。 プロセッサ間通信のレイテンシとしては Myrinet. 18). のデータ. シートを参考に、表 1の値を設定した。 本来の Transputer は全ての命令を 1 バイトで表現しているが、 シミュレータの実装の都合上、シミュレータ内部では 4 バイトの. イクルを必要とする命令がある。代表的なものを以下に示す。. • L1 キャッシュミス – 6 サイクル • L2 キャッシュミス – 50 サイクル • 浮動少数点足し算, 掛け算 – 4 サイクル. が入るべき場合は実行時間を調整し、正しい性能を示すように設. • 浮動少数点割算 – 12 サイクル • call, ret 命令 – 3 サイクル これらの値は、比較対象の Ultra SPARCIII と近い値になるよう. 定した。. に設定した。. Function Code, 4 バイトの Operand からなる 8 バイトで表現し た。シミュレータではこれらのことを考慮し、本来 pfix, nfix 命令. 4. 性能比較方法. 5. 性能の比較. Transputer シ ミュ レー タ の 比 較 対 象 と し て は、 Sun Blade 1000 クラスタを用いた。このクラスタにおける個々のノードの構 成を表 2に示す。 並列ベンチマークソフトである NPB2.3 には、全部で 8 種類. 5.1 IS(大規模整数ソート) 5.1.1 実行時間の比較 (IS) IS におけるそれぞれの実行時間を表 3に示す。 表 3を元に、 Transputer と Blade 1000 の実行時間比をグラ. のプログラムがあり、今回用いたのは IS(大規模整数ソート) と. フ化したものが、図 3である。ただし、このグラフの縦軸は、. CG(共役勾配法) である。 NPB2.3 では、 S, W, A, B, C という. ☆ ☆☆ ☆☆☆. –3– −93−. S, W, A, B, C の順に問題サイズが大きくなる IS は C で、 CG は Frotran で記述されている ただし、 pfix,nfix を含めて 1 サイクルで完了するわけではない.

(4) 3.5. 900 800. 3. 700. 00 01600 dea l 500 B / re tu400 ps na300 r T. 2.5. serial parallel. IP C. serial(TP) parallel(TP) serial(Blade 1000) parallel(Blade 1000). 2. 1.5. 1. 200. 0.5. 100 0 S. W. 0. A. 問題クラス. S. 図 3 Transputer と Blade 1000 における IS の実行時間比. W. 図 5 IS 実行時における CPI の比較. 140. 120. プログラム. 100. IS CG. 比 上 向 能 性. 60. 40. 20. 0 S. W. 問題クラス. serial 時のコードサイズ Transputer Blade 1000 4023 34660 3627 67732. parallel 時のコードサイズ Transputer Blade 1000 7187 385784 3627 444652. 表 4 各プログラムのサイズの比較 (単位: バイト). Transputer Blade 1000. 80. A. 問題クラス. A. 図 4 IS の並列化による性能改善比. ノード数. 問題クラス. 1 1 1 4 4 4. S W A S W A. Transputer 1.09 24.43 96.62 0.36 6.28 24.60. Blade 1000 0.59 5.32 44.07 0.28 1.67 6.03. 表 5 CG の実行時間 (単位: 秒) Blade 1000 での実行時間を 100 としたときの、 Transputer で の実行時間を表している。つまり、縦軸の値が 100 より大きいほ ど Transputer の Blade 1000 に対する、相対的な実行速度が遅く. 500 450 400. なっていることを意味する。. 5.1.2 並列化による効果の比較 (IS) 並列化により、どれだけ性能が向上したかを比較する。図 4は 4 プロセッサ時の実行時間を 100 としたときの、 1 プロセッサ時の 実行時間を表している。つまり、縦軸が 100 よりも大きければ大 きいほど、並列化による性能向上が大きいことを示している。. 5.1.3 CPI の比較 (IS) CPI(Clocks Per Instruction) を比較してみる。図 5が、 IS 実 行時におけるそれぞれの CPI を表したものであり、縦軸の値は実 行サイクル数を実行命令数で割ったものである。. 5.1.4 プログラムサイズの比較 (IS) 表 4はプログラムのサイズを表している。ただ、 Transputer 用, Blade 1000 用の双方において、コードサイズは問題クラスに関わ. 000350 1 ed300 al B /250 re tu ps200 na r 150 T. serial parallel. 100 50 0 S. W. 問題クラス. A. 図 6 Transputer と Blade 1000 における CG の実行時間 比 5.2 CG(共役勾配法) 5.2.1 実行時間の比較 (CG) CG におけるそれぞれの実行時間を表 5に示す。. らずそれぞれほぼ一定なので、ここでは問題クラス毎にサイズを 書く代わりに、クラス S のときの値を代表値として記す。なお、 表 4は IS のデータに加え、 CG のデータを掲載している。. 表 5を元に、 Transputer と Blade 1000 の実行時間比をグラフ 化したものが、図 6である。この図の見方は、図 3と同じである。. −94− –4–.

(5) 800. ような設計思想は、オペランドが少なくなるスタックアーキテク. 700. チャを採用していること, pfix や nfix 命令と言った命令を作って. 600. まで全ての命令を 1 バイトに収めていることに現れているが、逆 にそれらが性能低下の原因となっている。つまり、レジスタをス. 比 上 向 能 性. 500. タックにしたことで push, pop を頻発する必要があり、メモリア. Transputer Blade 1000. 400. クセス回数が多くなる。また、多くの命令で pfix, nfix をあらかじ. 300. め実行する必要があることから、本来の計算とは無関係なところ. 200. で多くのサイクルを費やす。もちろん、プログラムサイズ (表 4) で比較すると全てのケースにおいて Transputer の方がコードサ. 100. イズは小さい。特に parallel 時の Blade 1000 では、 MPI ライブ. 0 S. W. A. 問題クラス. ラリがリンクされるためコードサイズが巨大になり、 Transputer と比べて 2 桁違う。. 図 7 CG の並列化による性能改善比. 図 4と図 7を比べると、並列化により得られる性能向上率は CG 4.5. の方が高い、つまり CG の方が各ノードローカルなデータの独立. 4. 性が高い、ことが分かる。ただ、単に依存関係が少ないと言うよ. 3.5. りは、 IS ではほとんど全ての命令が整数系の演算なのに対し、☆. CG では浮動少数点系の命令を多く含むため、単位データ量あた りの平均処理時間が CG の方が大きくなっていることが原因であ. 3. IP C. serial(TP) parallel(TP) serial(Blade 1000) parallel(Blade 1000). 2.5 2. る。 また、問題サイズが大きくなるほど、並列化による速度向上比が. 1.5. 大きくなる。これは、割り振られるローカルなデータのサイズが. 1. 大きくなり、更に、通信時のブロックサイズが大きくなるため、. 0.5. 通信のスタートアップオーバーヘッドが隠蔽されることが原因で. 0 S. W. 問題クラス. A. ある。. 6.2 特徴的なデータに関する考察. 図 8 CG 実行時における CPI の比較. 問題クラスが A になったとき、以下のような特徴的な現象が現. 5.2.2 並列化による効果の比較 (CG) IS の時と同じく、並列化によりどれだけ性能が向上したかを表 したものが図 7である。図 7の縦軸の値の計算方法は、図 4と同じ. れた。. • 他の問題クラスでは、 Transputer の方が並列化による速度 向上比が大きいが、クラス A ではその差が縮小する (IS の場 合)、もしくは、逆転する (CG の場合). である。. • 逆に、 Serial の場合、 Transputer と Blade 1000 の性能差. 5.2.3 CPI の比較 (CG) CG におけるそれぞれの CPI を図 8に示す。この図の縦軸の意 味は図 5と同じである。 5.2.4 プログラムサイズの比較 (CG). が他のクラスに比べて小さくなる. • IS, CG 双方で Blade 1000 の CPI が増大する これらの現象は、それぞれ独立した現象ではなく、相互関係があ. すでに述べた通り、各プログラムサイズを表にしたものが表 4で. る。 第一に、クラス A(Serial) になると問題サイズが大きくなるた. ある。 なお、 Transputer の CG は、ハンドアセンブルにより移植し. め、 Transputer, Blade 1000 の双方でキャッシュミスが増える。. たので、移植の手間を軽減するために Serial, Parallel 双方で同じ. これは、同じキャッシュシステムを搭載している仮定から当たり. コードを用いている。並列時に行われる通信に関する部分のコー. 前のことである。しかし、 Transputer の場合、レジスタがスタッ. ドは、 Serial の場合は実行されないでスキップされる。. クであるため同じアドレスに対して複数回アクセスする必要があ. 6. 考. り、キャッシュのミス率の増加が小さくなる。結果として、 Blade 1000 の方だけ CPI が増大する。 Blade 1000 の実行時間が悪化す る結果、 Transputer との性能差が小さくなる。☆☆ 一方、 Parallel の場合は Serial に比べて、個々のノードが持つ. 察. 6.1 全体の傾向の考察 まず、図 3および図 6を見ると、全ての場合において Transputer の方が性能が悪い。これは、今日に比べて少ないメモリ, 遅いネッ. ☆. トワークと言う制約があった Transputer の開発当時、プログラ. もちろん、最初に乱数を発生させる段階では、 IS も浮動少数点命令を用いる が、この部分は測定に含まれていないので、考慮する必要はない. ムサイズを小さくする必要性が高かったことが原因である。その. ☆☆. 図 3, 図 6は、 Transputer での実行時間を、 Blade 1000 の実行時間で割っ たものであることに注意。. –5–. −95−.

(6) べきデータサイズが小さいため、キャッシュのミス率増加が小さ く、 Blade 1000 においては、 Serial だけのパフォーマンスが悪. 謝辞 KRoC の開発者、中でも親切なアドバイスを下さった Fred Barnes に感謝します。. 化し、並列化による速度向上比が大きくなるように見える。. 参. Transputer における並列化は、問題サイズによらず性能向上が 見られるのが特徴的であり、これは、通信レイテンシが小さいこ とが原因である。. 7. ま と め 本 稿 で は NPB2.3 の IS, CG を 用 い て、 Transputer と. MPI(Sun Blade 1000 クラスタ) の性能の比較を行なった。 Transputer が持つ低い通信オーバーヘッドは、 IS, CG 双方 で、問題サイズが小さいクラス S のときから並列化による性能向 上を可能にした。逆に MPI の場合は、 IS のクラス S, W では並 列化により逆に性能が低下した。これは、 Transputer の専用通 信機構のオーバーヘッドが、 MPI のオーバーヘッドに比べて小さ いことが原因である。今回の実験の中で最大の問題サイズである クラス A になると、 Transputer, MPI 双方で性能向上が得られ た。これは、ここのノードにおける計算時間が大きくなり、通信 オーバーヘッドが隠蔽されたためである。. Transputer の開発当時、遅いネットワーク, 少ないメモリなどの 制約で命令サイズを小さくすることは重要な問題で、 Transputer は MPI に比べて、 Serial 時で 1 桁, parallel 時で 2 桁, プログラ ムサイズが小さくなっているが、 push/pop の頻発, pfix 命令の 多用などマイナス面が働き、性能低下の原因となっている。命令 サイズが小さいことはメモリの容量が限られる組み込みシステム や巨大なプログラムでは役に立つ可能性があるが、 pfix, nfix の頻 発を防ぐために内部命令を直接キャッシュできる Trace Cache の ような機構が必要になる。しかし、レジスタにスタックを用いる 限り push, pop の頻発を防ぐことが難しいため、性能を要求され るシステムでは通常のレジスタシステムの方が適している。☆ プログラムの開発のしやすさ, 安全性といった観点における優劣 は各個人の主観によるところが大きく、また、性能に直接反映さ れるわけではないので単純に比較はできないが、通信相手, タグ, コミュニケータの全てを明示的に指定する必要のある MPI に比べ て、 Occam は各プロセスが持つチャネルの入出力だけを気にすれ ば良いという利点を持つ。また、 PAR, ALT というキーワードを 用いることで、 MPI の非同期通信に対応するプログラムを容易に 記述できる。 通常のレジスタファイルを用い、メモリの容量を圧迫しない程 度の命令長を備えたアーキテクチャの上で、 Transputer が持つ専 用通信チャネルを備え、また、それらを簡単に活用できる☆☆ よう できる可能性が高い。. 今回のシミュレータはスーパースカラ化を行なっていないが、スタックを用い ると命令の依存関係が生じやすくなるため、スーパースカラ化により命令レベ ル並列性を引き出しにくいというデメリットがある。. ☆☆. 文. 献. 1) INMOS Limited , ”TRANSPUTER DEVELOPMENT SYSTEM” , Prentice Hall International (UK) Ltd , 1988. 2) INMOS Limited , ”TRANSPUTER DEVELOPMENT SYSTEM Second Edition” , Prentice-Hall International (UK) Ltd , 1990. 3) INMOS Limited , ”THE T9000 TRANSPUTER PRODUCTS OVERVIEW MANUAL” , SGS-THOMSON Microelectronics , 1991. 4) INMOS Limited. ”THE TRANSPUTER DEVELOPMENT AND DATABOOK” , SGS-THOMSON Micro-electronics , 1989. 5) INMOS Limited.”THE TRANSPUTER APPLICATIONS NOTEBOOK” , SGS-THOMSON Micro-electronics , 1989. 6) INMOS Limited , ”TRANSPUTER INSTRUCTION SET – A compiler writer’s guide” , Prentice-Hall International , 1988. 7) INMOS Limited , ”T2/T4 transputer Instruction set” 1986. 8) Sun Mirosystems , ”UltraSPARC-IIIProgrammer’s Reference Manual” , Sun Microelectronics , 1999. 9) SPARC International inc , ”The SPARC Architecture Manual Version9” , Prentice-Hall International , 1994. 10) C.A.R Hoare , ”Communicating Sequential Processes” , Prentice-Hall International (UK) Ltd , 1985 , 邦訳 吉田信博 , 「ホーア CSP モデルの理論」, 丸善株式会社 , 1992. 11) Ronald S. Cok , ”Parallel Programs for the Transputer” , Prentice-Hall International (UK) Ltd , 1991 , 邦訳 梅尾博司 他 , 「Transputer / occam による並列プログラミング入門」 , 共立出 版株式会社 , 1993. 12) Peter S. Pacheco ”PARALLEL PROGRAMMING with MPI” , Morgan Kaufmann Publishers ,1997 , 邦訳 秋葉博 「MPI 並列プログラミング」 , 培風館 , 2001. 13) Bil Lewis, Daniel J Berg , ”Multithreaded Programming with Pthreads” , SUN MICROSYSTEMS[tm] PRESS , 1997 , 邦訳 岩本 信一 訳 , 「P スレッドプログラミング」, ピアソン · エ デュケーション , 1999. 14) Jean-Daniel Nicoud and Andrew Martin Tyrrell , ”THE Transputer T414 Instruction Set” , IEEE Micro 1989, pages 60 - 75. 15) D.C.Wood and F.R.M.Barnes , ”Post-Mortem Debugging in KRoC” , Communicating Process Architectures 2000 (CPA2000) (Proceedings of WoTUG 23) , pages 179 - 192. 16) F.R.M. Barnes , ”tranx86 – an Optimizing ETC to IA32 Translator” , Communicating Process Architectures 2001 (CPA-2001) (Proceedings of WoTUG 24) , pages 265 - 282. 17) ”NPB (NAS Parallel Benchmarks)” http://www.nas.nasa.gov/Software/NPB/ 18) ”Myrinet Performance” http://www.myricom./myrinet/performance/ 19) ”KRoC download site” http://www.cs.ukc.ac.uk/projects/ofa/kroc/. な枠組みをつくっていければ、将来の並列システムに大きく寄与. ☆. 考. これはアーキテクチャレベル, プログラミング言語レベル, 双方の問題である. –6–E. −96−.

(7)

参照

関連したドキュメント

ロボットは「心」を持つことができるのか 、 という問いに対する柴 しば 田 た 先生の考え方を

(志村) まず,最初の質問,出生率ですが,長い間,不妊治療などの影響がないところ では,大体 1000

規則は一見明確な「形」を持っているようにみえるが, 「形」を支える認識論的基盤は偶 然的である。なぜなら,ここで比較されている二つの規則, “add 2 throughout” ( 1000, 1002,

バックスイングの小さい ことはミートの不安がある からで初心者の時には小さ い。その構えもスマッシュ

問題集については P28 をご参照ください。 (P28 以外は発行されておりませんので、ご了承く ださい。)

しまむらの販管費は、比較3社の中でもとくに低かったが、その中でさらに低い項目が

5 ケースの実験結果を比較すると,落下高さの低い段

まず, Int.V の低い A-Line が形成される要因について検.