超並列オブジェクトベース言語OCoreによるN体問題の記述 N-body simulation in the massively Parallel Object-Based Language O Core

この論文にアクセスする

この論文をさがす

抄録

我々が開発している超並列オブジェクトベース言語OCoreは,構造化されたオブジェクト間の通信を高速に処理するとともに,従来のプログラミング言語が苦手としていた不規則かつ動的な通信についても高い記述性/実行効率を目指している。N体問題は,複数の粒子が互いに影響を与えあう系の時間発展を求めるシミュレーションであり,このような特徴を持つ問題の1つである。このような不規則な通信パタンをもつ問題は,各粒子を自律的に動作する並列オブジェクトとすることにより素直にモデル化できる。しかし,N体問題の質点のような相互に影響力を及ぼしあう個体を並列オブジェクトとして実現する際には,i)粒子間の相互作用を,同期型通信によりスロットの内容を相互参照しあうようにするとデッドロックしてしまう,ii)物理空間で近傍に存在する粒子の参照データに関する局所性を利用できず,冗長な通信が起きる,などの問題が発生する。OCoreでは,i)同じ共同体に属するオブジェクトには互いのスロットをアクセスすることを許す(comm-get),ii)リモートアクセスのキャッシングおよび通信レイテンシ隠蔽のために,Q-structureなどの同期構造体を活用する,iii)オブジェクトのPEへの分散をメタレベルで記述する,などによりデータの局所性を意識したプログラムの開発効率をあげることを目指している。本稿では,共有メモリベンチマークであるSPLASH中のBarnes-Hutを例題として,局所性を意識したOCoreでのプログラミングについて述べる。

収録刊行物

  • 全国大会講演論文集

    全国大会講演論文集 第49回(ソフトウェア), 33-34, 1994-09-20

各種コード

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