研究実績の概要 |
汎用性の高い型付中間言語、すなわち広く様々な高水準言語からの翻訳の共通のターゲットとしての低水準の型付中間言語を、安全で高性能な言語処理系(計算基盤)が作成できる形で定義することは、高水準言語間の連携などの点で言語処理系技術に貢献しようとする研究者の挑戦的な夢である。さらにマルチコア化を活用した共有メモリによる高性能な多言語並列計算の安全性確保(データレース回避の検証等)は極めて挑戦的である。本研究では近年の型理論の成果(依存型等)を踏まえて、その設計に挑戦した。 型付中間言語レベルでのメモリモデルとして、既存のアプローチと同様、データレースがない(data-race-free な)プログラムについては 逐次一貫性(sequential consistency)が得られるという点を基礎とし、データレース回避を検証するような型検査が現状の技術で一定の範囲がカバーできるとの方向性を得た。その後、型付中間言語レベルを視野にいれつつも、spawn, syncコンストラクト等による並行処理が記述できる高水準言語のレベルで例題を用いてデータレース回避について研究し、fractional permissionに関する既存研究を拡張し、配列(行列)の部分配列(行列)に関するpermissionを取り出すための空間的fractionを導入した。 最終年度は、確実に安全な、複数の高水準言語による並列処理方式として、型付中間言語レベルで、fractional permissionを扱える共有データ構造を準備し、複数の高水準言語の逐次インタプリタを並列に実行し、メモリが分離していると型検査可能なインタプリタにメタ呼出しを通してのみ共有データ構造を操作させる方式を考えた。また、翻訳と組み合わせたり、単一言語の複数インタプリタ並列実行も可能との方向性を得た。
|