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

5.4.2.他の並行計算モデルとの関連

 APECモデルは,ビットレベル計算を指向し,それに最適化された図式的で並列な計算モデルである.

他の図式的並行計算モデルとしては2章で言及されているように,ペトリネット[16][17],及びデー タフロー類似モデル[10][11][12][13][14][15]がある.ペトリネソトは,固定のプレースからい くつかのトークンを取り去って別のプレースに追加することによって並列システムを表現するために 使われる.このモデルは並行に動作するプロセス間の同期を表現するのに適しているが,データ値によ

る計算を表現するためには,いくつかの拡張を必要とする.従って,並行計算のためにペトリネットを 基礎とした派生モデル(色つきペトリネットなど)が提案されている.しかしながら,互いに独立に動作 するビットレベル演算素子を表現するためには,多くの拡張と制限が必要である.

 データフロー類似モデルは,命令レベルの並行計算を自然に表現できることが特徴である.そのため,

それらのモデルを基礎とした多くのVPL[18][19][21][22][28][29]が研究・開発されている.3 章でも述べたように,APECモデル以前の研究成果であるVPL A−BITS[36][37]もデータフロー類似モ デルを基礎とするVPLの一つである.同様に類似のモデルを基礎とした言語として[38][39]があるが,

この言語は汎用言語にストリーム計算と部品化の概念を追加したものである.他のデータフロー類似 VPLと比較するとよりストリーム計算を指向した言語であり,またVPLというよりはむしろテキスト言 語に図式表現を導入したシステムである、データフロー類似モデルは通信路がストリームではないデー

タフロー型モデルと,通信路がストリームであるプロセスネットワーク型のモデルの両方を含むが,こ れまでに開発されたVPLはデータフロー型を基礎とするシステムが多い.

 これらのデ・一一一一タフロー類似モデルは,データの流れと暗黙的な並列性を表現するのに適しており,デ ータストリーム使って機能レベルの部品群を結合することによって作られるプログラムに,しばしば利 用される.しかしながら,同期のための個別の単方向接続はプログラムの設計をより複雑にしてしまう ため,ストリーム指向のプログラムには必要とされない並行プロセスの頻繁な同期は,これらのモデル を基礎としたシステムで行うことは困難である.それゆえこれらのモデルを採用するVPLの中には,同 期を取るための特殊な方法を提供しているものもある.例えば,Prograph[21]では制御フロー型プロ

グラムでの直列実行をエミュレートする「シンクロリンク(synchro−1ink)」と呼ばれる機構を提供して いる.データフロー型言語の特徴の一つであるデータ到着依存型の実行では問題がある場合に,強制的 に順序を指定して実行するという使い方を前提としている.一般にこのような特殊機構は,ビットレベ ル計算で頻繁に用いられる多数の部分での同期は想定されておらず,またその振る舞いはモデルのレベ ルでは実現できないので,結局のところ言語仕様に強く依存することになる.言い換えると,モデルの 枠組みを超えた例外的な動作機構であるためモデルベースのVPLの仕様としては好ましくない.

 APECモデルは「解釈されないデータフローグラフ」[15]と最も類似性があり,このモデルは単方向 計算のためのプロセスを結合した静的(固定的)なネットワークを表現する.しかしながら,APECモデル は,キャリアの概念と一様な演算素子を用いた双方向通信を行うという点において明確に異なっている.

プリミティブと呼ばれるルールベースの演算素子とキャリアによる計算は,同期と通信を統一的に表現 できる.キャリアの送信と受信の過程を通してハードウェアシステムで頻繁に用いられる「クロック信 号」の概念をエミュレートできるので,この特徴はビットレベルプログラムの開発により適している.

実際に,後の例題で説明する「簡単な4ビットコンピュータ」の Controller 部品は,この送受信の過 程をクロック概念の代用として使う設計を行った.さらにキャリアを用いた単一経路での双方向通信は,

単方向通信路2本を用いるよりも端子の個数を減らすことができるので,多くの種類のビットレベルプ ログラムを単純で簡潔に表現可能である.

Actorモデルと呼ばれる並行計算モデル[2][3][4]は,メッセージを使って機能部品レベルのプロ セスによる計算を行う非図式的なモデルである.このモデルはオブジェクト指向プログラミング及び大 規模な分散システムの設計への応用に適している.しかし,キャリアの概念は消失することなく永続的 に存在しプリミティブの状態変数にもなりうる点においてメッセージの概念とは異なる.また,プロセ ス代数と呼ばれる非図式的並行計算モデル[5][7][8][9]もあり,形式的仕様記述及び並行プロセス の分析に適している.これらのモデルがAPECモデルと異なる点は,代数的演算を使った機能レベルの プロセスの操作による明示的な並行性を表現することである.デジタル回路エミュレータなどのような 多くのビットレベルプログラムは,論理素子群によって表現される暗黙的並行性を持つので, この特 徴はビットレベル計算には適していない.

5.4.3.コンピュータ・アーキテクチャーとの関連

 ビットレベル計算モデルの研究とは直接関係ないが,最近では動的再構成可能な細粒度並列コンピュ ータアーキテクチャに関する研究[43][44][45][46]が盛んに進められている.データフローモデル はPlastic Cell Architecture(PCA)[47]上に実装した例も存在し,またデータフローモデルのための 専用の再構成可能アーキテクチャー[48]も設計されている.これらと同様に,一様な形式の演算素子 と固定サイズはデータフロー類似モデルよりも大規模な細粒度並行性の最適化に適しているので,これ らデータフローモデル同様これらの分野の研究に結びっく可能性がある.これは,プリミティブのルー ルの1つは12ビットのデータとしてコード化できるため,プリミティブが持つ1つのルール表は48ビ

ットデータに符号化できるからである.さらにキャリアによる接続は,PCAで採用されているようなパ ケット転送網として実装してエミュレートすることが可能である.

 細粒度なアーキテクチャと本モデルが結びっくことによって,例えばプロセッサのアーキテクチャを プログラムとして扱うこと(アーキテクチャ・プログラミング)が可能になる.これによって,DSPなど の特定用途に最適化された専用プロセッサ,ストリーム処理に最適化されたプロセッサ,コアを複数並 べたマルチコアプロセッサなどをプログラムとして読込・開放することが可能になり,コンピュータの 構造に柔軟性を持たせることができる.APECモデルは論理素子に比べて直感的に扱うことが容易である ため,直接アーキテクチャをプログラミングするのに適している.これは従来の論理回路による再構成 よりも,開発期間及びコストを削減できると考えられる.また,配線遅延などの物理的な概念と切り離 すことができるので,構成情報を完全にソフトウェア的に扱うことが可能になる.

5.4.4.計算能力について

 静的データフローモデル[12][14]では,非一様形式の固定機能部品によって構成された固定的なネ ットワークが構成できるが,それらのモデルで使われる単方向演算素子に対応する部品は,APECモデル 上でプリミティブまたは部品として個別に定義できる.従って,APECモデルの計算能力と記述能力はそ れら静的データフローモデルのそれに最も近いといえる.他の側面からは,1つのAPECネットワークの 全体状態は有限数しかないため,その計算能力自体は有限状態機械のそれと同じであるといえる.言い 換えると,キャリアの個数の増減はなく,さらにキャリアが持つ値も2値であるため,キャリアが持つ 値の組み合わせと,キャリア状態の組み合わせの積が全体状態数となる.しかしこれは一般に,組み合 わせ爆発によって膨大な数になるため,有限数であるから解析が容易であるというわけではない.ただ し,データフロー型モデルの中でもタグ付トークン型や再帰関数と同等の機能を提供する動的な要素を 持つ計算モデル[14コは状態数が無限に増大するので,それらと比較すると解析は容易であるといえる.

特に,ごく小さい規模のネットワークにおいては,総当りのアルゴリズムでも動作の安全性への検証が

できる.

 一般に多くの計算モデルでは,チューリングマシンと同等の計算能力を持たせるために,概念的に動 的な要素を含んでいる.チ=・・ 一リングマシン自体は,メモリ容量に制限がないことを前提としてメモリ 領域を操作する動作を有限状態機械として定義することで,「有限の定義で無限の計算を行う」ことを 実現している.それは論理型モデルやλ計算などの直列モデルに加えて,並列モデルでもπ計算や否定 条件を持っペトリネットなどはそのクラスの能力を持つ.2次元のセルオートマトンモデルでは,ライ フゲームのルールを持っ制限のないセル空間上でチューリングマシンを構成することによって,能力の 等価性が証明されている.関連研究で述べたVisulanシステムも同様に,チューリングマシンのシミュ

レーションによって暗黙的に等価性を証明している.能力等価性の証明にはお互いにエミュレート可能

(双模倣)でなければならないが,これらのシステムのプログラムはコンピュータ上で実行されているの で,それは暗黙的に行われていることになる、

 APECモデルはこれらのモデルとは異なり有限状態の計算しか定義できないが,現実世界で実現可能な 並列システムを構成するための枠組みとしては十分な能力を持つといえる.例えば,チューリングマシ ン(あるいはRAM)を基礎とする逐次型コンピュータ,及びそれに接続されるメモリは全て有限の論理素 子によって構成されているため,本モデルで記述可能である.また,前節で述べた再構成可能システム のコンフィギュレーションは外部からの命令で行われるが,APECネットワークも同様の機構によって構 成することが可能である.もし素子が動的に増加する概念,あるいはキャリアが増加する概念を持つ場

関連したドキュメント