平成8年度 委託研究ソフトウェアの提案

(21) CMGTP による並列チャネルルータの開発

研究代表者:周 能法 助教授
      九州工業大学情報工学部




[目次]

  1. 研究の背景
  2. 研究の目的
  3. 研究内容
  4. 研究体制/研究方法
  5. 想定されるソフトウェア成果

[研究の背景]

チャネルルーチイング問題は,VLSIレイアウト設計の中の一つ重要な問題である。これは,チャネルのターミナル間の接続要求を与え,それらを満たす配線方法を決める制約充足問題である。私たちは,すでに制約論理型言語CLPを用いてこの問題を解くためのプログラムを書いた。しかし,このプログラムは,次に上げる二つの理由で満足にいく結果が得られなかった。(1)チャネルが多層になる場合に,一本の配線に対してチャネルの層と層の中のトラックを決めなければならないため,問題を簡単にCLPで記述できない。(2)大規模な問題を解く時に効率が悪い。

MGTPはKLICで書かれた一階述語論理のための証明系である。これは,非ホーン節が書けることや並列を意識せずに並列探索プログラムが書けるなどの魅力がある。また制約MGTPであるCMGTPは,制約解消によく用いられている制約伝搬法をルールを用いて柔軟に記述できる利点を持っている。しかし,CMGTPの応用は決して多いとは言えない。また,CMGTPは開発者以外の人によって徹底的に評価されたことはまだない。


[研究の目的]

本研究の目的は二つある.第一に,CMGTPを用いて高速なチャネルルータを構築する。この目的に達するためには,並列を生かすようなプログラミング技法を採用しなければならない。第二に,第五世代コンピュータ研究の基盤技術の一つであるCMGTPを評価し,CMGTPの応用範囲を広げる。また,このプロジェクトから得られた経験をCMGTPの機能拡張及び利用技術向上に役立てるように整理する。


[研究内容]

本研究は,特定型のチャネルと配線に対してルータを構築するのではなく,汎用性のあるチャネルルータを構築する。ルータは,チャネルと配線の型及び具体的な接続要求を入力として受けとり,配線位置を出力として表示する。具体的な研究内容は以下の通りである。

(a) 問題をCMGTPで記述しやすい形に定式化する。CMGTPは基本的に既存の関係を組み合わせることによって新しい関係を構築するというボトムアップ的な証明方法を取っている。チャネルルーチイング問題は制約充足問題であるが,変数の定義域が整数の集合ではなく,タプルの集合になっているため,変数及びそれの定義域を一つの多項関係として記述する。また,制約も関係として記述する。プログラムの実行は,既存の関係から制約を満たす新しい関係を生成することになる。

(b) プログラムの効率を改善するために,中間関係の生成を抑制する方法を採用する。具体的には,否定情報を積極的に伝搬して解の生成に貢献できない中間事実をできるだけ早く削除する。また,問題に特有な制御知識を用いて中間事実の生成を抑制する。さらに,目標に関連したサブゴールの証明を行なうトップダウン証明法の良さを取り入れたマジック法がこの問題に対して有効であるかどうかについても検討を行なう。

(c) プログラムの効率を改善するために,並列性を活用する.CMGTPで書かれたプログラムは,KLICに変換してから実行するため,CMGTPの有効なプログラミング技法を採用しなければならない。また実験を進めるとともに,新しいプログラミング技法を見つける必要があるかもしれない。

(d) ルータの性能を評価する.チャネルルーチイング問題に関して大規模なベンチマークが多く公開されている。これらのベンチマークを用いてCMGTPで書かれたルータの性能を評価し,また他のルータの性能との比較を行なう。

(e) KLICの視覚インタフェースを用いて配線の位置を表示するプログラムを作成し,本ルータを使いやすいソフトウエアにして公開する。


[研究体制/研究方法]

(1) 研究体制
       氏名     所属
研究代表者 周 能法   九州工業大学情報工学部助教授
研究協力者 長谷川隆三  九州大学システム情報科学研究科教授
研究協力者 越村 三幸  九州大学システム情報科学研究科助手

(2) 研究の方法

上記に挙げた人々で研究を進めると共に,MGTPの他の利用者ともメールなどで意見交換を行なう。


[想定されるソフトウェア成果]

(1)作成されるソフトウェア名称

  MCR(-in-CMGTP)
  Multi-layer Channel Router in CMGTP

(2)そのソフトウェアの機能/役割/特徴

汎用性のあるチャネルルータである。具体的に,チャネルの型としてHV,nHV (n=1,2,3,4), HVH,VHVを考える。ここでは,H は平方層 (Horizontal Layer) のことを言い,Vを垂直層 (Vertical Layer) のことを言う。また,配線の型としては,ドグレグ (dogleg) を許す型と許さない型を考える。ユーザは,チャネルと配線の型及び具体的な接続要求を入力し,また最適問題の場合に最適化の基準 (配線領域を最小にするか,配線の長さを最短にするか,それとも両方か) を指定する。ルータは,配線位置を決め,結果を表示する。

本ソフトウエアは,CMGTP の有効性と共にKLICの並列処理の有効性を示す一つの応用となる。

MCR の特徴としては三点上げられる: (1)従来のルータと比べると,MCRは非常に簡単なシステムである, (2)特定型のチャネルと配線ではなく,いろいろな型のチャネルと配線に対して使える, (3)並列探索を用いている。

(3)ソフトウェアの構成/構造

MCRは三つの部分からなる。

(1) 問題の定義部:これは,変数及び変数の定義域を記述する基本関係及び制約を記述するルールからなる。
(2) 制御部:これは, プログラムの実行を制御するためのルールからなる。
(3) 出力部:これは,結果を表示する部分である。

(4)参考とされたICOTフリーソフトウェアとの関連

  KLIC上のMGTP及びCMGTPを利用して開発を進める。

(5)使用予定言語および動作環境/必要とされるソフトウェア・パッケージ/ポータビリティなど

  CMGTP及びKLICを使う。

(6)ソフトウェアの予想サイズ(新規作成分の行数)

  3000行ぐらい (MGTP1000行とKLIC2000行)

(7)ソフトウェアの利用形態

MCRは,CMGTPの応用の一つとして,VLSI設計者,組合せ問題に興味を持っている人々,そしてCMGTPを他の領域に応用しようとする人々にとって参考になる。

(8)添付予定資料

  ソフトウェア仕様書、ユーザマニュアル等


www-admin@icot.or.jp