• 検索結果がありません。

指定されたメソッドの呼び出し中でオブジェクトのメモリレイアウトを整列化できるグラフ解析向けJavaコンパイラ

N/A
N/A
Protected

Academic year: 2021

シェア "指定されたメソッドの呼び出し中でオブジェクトのメモリレイアウトを整列化できるグラフ解析向けJavaコンパイラ"

Copied!
1
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会論文誌. プログラミング. Vol.7 No.4 39 (Aug. 2014). 発表概要. 指定されたメソッドの呼び出し中でオブジェクトの メモリレイアウトを整列化できるグラフ解析向け Java コンパイラ 汐田 徹也1,a). 佐藤 芳樹2. 千葉 滋1. 2014年3月18日発表. 指定されたメソッドの呼び出し中でオブジェクトのメモリレイアウトを整列化できるグラフ解析向け Java コンパイラを提案する.一般に,オブジェクト指向で表現されたグラフ構造は,各頂点や各辺が持つ 多様な属性がオブジェクトとして抽象化されるため,グラフ全体を探索しながら属性を使って計算するよ うな処理で高いキャッシュ効率が期待できない.キャッシュ効率を高めるために,連続してアクセスする データをメモリ上に整列させるテクニックはよく知られているが,Java 言語ではユーザがオブジェクトの 整列順序による性能への影響を意識しながら開発することは難しい.そこで本研究では,プログラマの付 加したアノテーションに基づくプログラム変換で,指定されたフィールドの配列化やグラフ探索順序に 沿ったメモリレイアウト整列化を実現する Java コンパイラを開発した.コンパイラは,フィールド配列化 のためにクラス定義およびオブジェクトアクセスを静的に変更し,フィールドをアクセス順序に従った頂 点や辺オブジェクトを再生成するコードを埋め込む.また,グラフオブジェクトを,その ID を保持するポ インタオブジェクトと,それ以外のフィールドを格納するオブジェクトに分割することで,高速なメモリ レイアウト整列化およびその解放を達成しつつ,ポインタオブジェクト導入による間接参照のオーバヘッ ドもできる限り軽減した.典型的なグラフ解析としてダイクストラ法を用いた実験から,最大で 14 倍程度 の性能向上が見込めることを確認した.. A Java Compiler Which Optimizes Memory Layout of Objects for Graph Analysis Programs Tetsuya Shiota1,a). Yoshiki Sato2. Shigeru Chiba1. Presented: March 18, 2014. We propose a Java compiler which optimizes memory layout of objects for graph analysis programs. In general, programs which have calculations from attributes corresponding to graph components with traversing a graph are not expected to run with high cache hit ratio if they use graph data represented by objectorientation. This is due to abstraction which express attributes of graph components as object. Although there are some data alignment techniques for cache efficient, it is difficult for user to develop program in consideration of performance of data layout in Java. In this study, we developed a Java compiler which constructs optimized object alignment based on the order traversing a graph and which transforms the fields specified by user to arrays. The compiler transforms class-declarations and object-accesses for field-arraying and embeds a code which reallocations data to construct object alignment which is based on the order traversing a graph in the original program. And our compiler separates the id as “Pointer Object” from the original objects to optimize memory layout efficiency and to free the data of the graph. We confirmed remarkable effect that our optimization improves the execution speed fourteen times in performance through an experimentation using Dijkstra method.. 1. 2. a). 東京大学大学院情報理工学系研究科 Graduate School of Information Science and Technology, The Univiersity of Tokyo, Bunkyo, Tokyo 113–8656, Japan 東京大学情報基盤センター Information Technology Center, The University of Tokyo, Bunkyo, Tokyo 113–8658, Japan [email protected]. c 2014 Information Processing Society of Japan . 39.

(2)

参照

関連したドキュメント

The object of this paper is to prove a selection theorem from which we derive a fixed point theorem that is different from the one due to Tarafdar [7] in that the compactness

According to our new conception object-oriented methodology is based on the elimination of decision repetitions, that is, sorting the decisions to class hierarchy, so that the

The complete bipartite graphs K SiS , the pentagon and the complements of strongly regular graphs with a\ = 0 are in this class.. It is not hard to construct graphs in this class

A knowledge of the basic definitions and results concerning locally compact Hausdorff spaces and continuous function spaces on them is required as well as some basic properties

The object of the present paper is to give applications of the Nunokawa Theorem [Proc.. Our results have some interesting examples as

The problem is modelled by the Stefan problem with a modified Gibbs-Thomson law, which includes the anisotropic mean curvature corresponding to a surface energy that depends on

The variational constant formula plays an important role in the study of the stability, existence of bounded solutions and the asymptotic behavior of non linear ordinary

In this section we state our main theorems concerning the existence of a unique local solution to (SDP) and the continuous dependence on the initial data... τ is the initial time of