超並列V言語とそのマルチスレッド実行方式の概要 Massively Parallel Programminng Language "V" and It's Multi-Threaded Implementation

この論文にアクセスする

この論文をさがす

抄録

V言語はデータフロー向き関数型言語validを拡張したもので,依存関係のないものは全て並行動作することを前提とした言語である.計算の進行する頂序を規定するのは依存関係だけである.依存関係を持つものの間で頻繁な同期が必要となるが,データフロー同期方式により同期は暗黙のうちに行なわれ,プログラマが明示的に同期を指定する必要はない.ある計算に必要な値がまだ求まっていない場合は,その値が決まるまで実行が中断し,値が求まった時点で自動的に同期がとられ計算が再開する.V言語では,自律して並列に動作するプロセスとしてagentインスタンスを生成し,並列オブジェクト指向風の計算を行なうことができる.agentインスタンスはカプセル化された内部状態を持ち,お互いの間でストリームを通じてデータをやり取りしながら計算を進める.インスタンス間の同期もデータフロー同期方式によって行なわれる.送信側では通信路に次々にデータを流し,受信側では通信路の出口からデータを読みとって計算を進める.データが到着していなければ読みとり側のプロセスは待たされ,データが到着すると待ちが解かれ処理が進む(メッセージ駆動orデータ駆動).ストリームの要素をメッセージとみなせば並列オブジェクト指向と考えることが出来るが,処理内容がメッセージだけで決定するなら,Validの枠組での関数呼び出しで済む.ここでagentを導入したのは,並行に動作し内部状態を持ったプロセスと,それらの間の自由度の高い通信を容易に記述することが目的である.出来る限り関数性を保持するため,agentの内部で状態を保持するためには,再帰で明示的に状態をフィードバックする.本稿ではagentを中心にV言語の特徴とその処理系,並列実行モデルの概略について述べる.V言語プログラムは命令レベルの細並列処理も可能だが,ここでは種々の並列計算機上での実現を意識したマルチスレッド並列実行モデルについて述べる.

収録刊行物

  • 全国大会講演論文集

    全国大会講演論文集 第47回(ソフトウェア), 57-58, 1993-09-27

各種コード

  • NII論文ID(NAID)
    110002896054
  • NII書誌ID(NCID)
    AN00349328
  • 本文言語コード
    JPN
  • 資料種別
    Conference Paper
  • データ提供元
    NII-ELS  IPSJ 
ページトップへ