研究課題/領域番号 |
04558008
|
研究機関 | 東京大学 |
研究代表者 |
喜連川 優 東京大学, 生産技術研究所, 助教授 (40161509)
|
研究分担者 |
中野 美由紀 東京大学, 生産技術研究所, 助手 (30227863)
高木 幹雄 東京大学, 生産技術研究所, 教授 (30013113)
|
キーワード | 永続性(パーシステンシー) / データーベース / オブジェクト指向 / プラグラミング言語 |
研究概要 |
永続的プログラミング言語、オブジェクト指向データベースなどの実装では、二次記憶上における永続参照(永続ポインタ)の表現形式(OID)は、仮想メモリポインタと異なる形式を使用することが多く、主記憶内でポインタ書き換え(Pointer Swizzling)と呼ばれる技術が利用される。 主記憶中の参照を全て仮想アドレスポインタに書き換える方式は、仮想空間を浪費する可能性がある。一方、永続参照をそのまま主記憶中で使用することは、実行速度の低下につながる。本研究では、サロゲートOIDと呼ぶ主記憶中での永続参照の表現形式を用いたポインタ書き換え方式を確立した。本方式は、ウィルソンらのページフォールト時ポインタ書き換え方式とウィスコンシン大学Exodus/Eに於ける発見時ポインタ書き換え方式の中間の方式に相当する。本研究ではC言語を基にして、パーシステント変数の宣言を可能とするP3Lなる新しい言語を設計するとともに、GCCに手を加えることにより、そのコンパイラを作成した。P3LはサロゲートOIDをサポートするとともに、コンパイラはオブジェクトのレジデンシーチェックの効率化を図る様、最適化処理を施した。サロゲートOID方式による性能向上についてCattle001ベンチマークにおける前方探査を実施し、96ビットのポインタを主記憶で利用する場合に比べて30%〜40%程度の高速化を達成し、その有効性を定量的に明らかにすることが出来た。
|