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

ソースコード解析情報に基づく細粒度マルチスレッド制御法の提案

N/A
N/A
Protected

Academic year: 2021

シェア "ソースコード解析情報に基づく細粒度マルチスレッド制御法の提案"

Copied!
2
0
0

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

全文

(1)

ソースコード解析情報に基づく

細粒度マルチスレッド制御法の検討

森山 英明† 乃村 能成 谷口 秀夫‡ 岡山大学工学部† 岡山大学大学院自然科学研究科1.はじめに 近年,1つのチップ上で,複数の命令流を並列 実行するプロセッサが実用化されている.細粒 度スレッドの並列実行を追及したプロセッサと し て , Fuce ( Fusion of communication and

execution)プロセッサ1)が開発されている. Fuce において,プロセスは複数の細粒度スレ ッド(以降,マイクロスレッド)で構成される. マイクロスレッドは,継続による同期処理によ ってのみ制御され,一度実行が始まると中断さ れることなく処理される.また,継続の同期処 理はハードウェアによって管理される. 本稿では,Fuce の細粒度マルチスレッド環境 で OS によるスケジューリングを行うために,同 時に走行するマイクロスレッド数の最大数を, 一定以下に制限する制御法について示す.具体 的には,ソースコードを静的に解析し,解析結 果から優先度を設定し,ソースコードに制御を 組み込むことで,ソースコード解析情報に基づ く制御を行う. 2.細粒度マルチスレッド環境での制御 OS による制御として,マイクロスレッドの同 期カウンタ値を制御することにより,プロセス 全体の動作速度を調整する制御手法を提案2)した. ここで,制御手法には,次の2通りがある. 静的制御方式: ソースコードにおいて,全てのマイクロスレ ッドの同期カウンタ値を増加させ,OS による 特別な継続により制御する方法. 動的制御方式: OS が各マイクロスレッドの起動状況を動的把 握し,同期カウンタ値を制御する方法. どちらの方式も,OS によって定期的に各マイク ロスレッドへ継続を発行する(同期カウンタ値 を減らす)ことで,同時走行マイクロスレッド 数を制御する.なお,静的制御方式の考えに基 づき,全てのマイクロスレッドに特別な継続を 埋め込んだ状態から,ある確率に基づいてマイ クロスレッドを選択し継続を発行することで, 同時走行マイクロスレッド数を制限する制御方 法も提案3)している.この制御法は,プログラム の処理内容を考慮せずに継続順を決定するので, スケジューリングオーバヘッドが小さい特徴が ある.反面,制御を効果的に行えない場合があ る.そこで,本稿では,静的制御方式の考えに 基づき,さらにプログラムの処理内容を考慮に 入れてマイクロスレッドの継続順を決定するこ とで,同時走行マイクロスレッド数を制限する 方法を検討する. 3.ソースコード解析情報に基づく制御法 3.1 基本方針 同時走行マイクロスレッド数を制御するため に,各マイクロスレッドの実行順序を考慮する. このために,制御の流れを表す継続関係グラフ を導入し,その形状から各マイクロスレッドに 優先度を設定する.OS がマイクロスレッドへ特 別な継続を発行する順番は,優先度を基に決定 する. 図1は,マイクロスレッドの継続関係の例をグ ラフで表している.例えば,th5は th2,th3から の継続に加え,OS からの特別な継続を発行され ることで,動作を開始する. ここで,各マイクロスレッドの優先度を,マ イクロスレッド間の継続関係から設定する. (1) 継続順 各マイクロスレッド間には,継続の順番から 半順序関係が成立する.例えば,th1は th4に先 立って実行される必要があるため,th1 > th4の 関係が成立する.この関係に基づいて,各マイ クロスレッドに優先度を設定する.マイクロス レッド間の継続の順番関係は,継続関係グラフ における,開始点からその点までの長さによっ て求める. (2) 継続命令発行数 継続命令発行数の多いマイクロスレッドの実 行が遅れると,同時走行マイクロスレッド数の 変化が大きくなる原因につながる.継続関係グ ラフにおいて,あるマイクロスレッドの継続命 令発行数は,グラフ上の点の出次数から求める

A Fine Grain Multithread Control Method based on Source Code Analysis

†Hideaki Moriyama,

†Faculty of Engineering, Okayama University ‡Yoshinari Nomura and Hideo Taniguchi

‡Graduate School of Natural Science and Technology, Okayama University

1-33

3A-4

(2)

ことができる. なお,優先度は,OS が継続を発行する順番を決 定する目的でプログラム走行前に静的に設定さ れるので,プログラムの走行中に優先度は変化 しない. 3 th1 1 th2 2 th3 1 th4 1 th5 3 th6 1 th7 1 th11 0 th13 1 th8 1 th9 1 th10 1 th12 開始点からの長さ 0 1 2 3 4 5 ・・・ ・・・ スレッド名 継続数 マイクロスレッド ・・・継続 図 1 マイクロスレッド継続関係グラフ 優先度設定処理 優先度情報 制御組み込み処理 制御付 ソースコード ソースコード 解析処理 依存情報データ 実行 図 2 実行までの流れ 3.2 処理の流れ 図2に,ソースコード解析から実行までの処理 の流れを示し,以下に具体的な制御の方法を説 明する. <ソースコード解析処理> ソースコード解析処理では,ソースコードを入 力として静的に解析を行い,マイクロスレッド 間の継続関係を出力する.Fuce のアセンブラ言 語のソースコードは,MIPS の命令セットに準じ て い る . マ イ ク ロ ス レ ッ ド 間 の 継 続 関 係 は , ソースコード中の継続命令を抽出することで明 らかになる.出力である依存情報データは,図1 のマイクロスレッド継続関係グラフ相当の情報 を持つ. <優先度設定処理> 優先度設定処理では,依存情報データを入力 として,各マイクロスレッドへ優先度を設定し, マイクロスレッドへ継続を発行する順番を優先 度 情 報 と し て 出 力 す る . 優 先 度 は , 依 存 情 報 データで表されるマイクロスレッド間の継続関 係グラフを基に設定する.優先度は,継続関係 グラフ上の点 v(マイクロスレッド v に相当す る)の優先度を p(v)で表し,以下で定義する. p(v) = a・l(v) + b・o(v) l(v)は開始点から点 v までの最長路の長さを, o(v)は点 v の出次数を表す.式中の a,b は, l(v),o(v)にそれぞれかかる重み係数である. <制御組み込み処理> 制 御 組 み 込 み 処 理 で は , 優 先 度 情 報 を 基 に ソースコードに制御を組み込むことで,制御付 きソースコードを出力する.ソースコードに, 以下の処理を追加する. (1) 各マイクロスレッドの同期カウンタ値を1増 加する (2) 優先度情報にしたがって継続を発行する制 御マイクロスレッドを作成する これにより,制御付きソースコードでは,各マ イクロスレッドに継続が挿入され,制御マイク ロスレッドによって,周期 Tωごとにマイクロス レッド M 個へ継続を発行する.制御組み込み時 に,Tωと M の値の設定を行うことで,同時走行 マイクロスレッド数を調整する. 4. おわりに ソースコードを静的に解析し,マイクロスレ ッド間の継続順と継続命令発行数に基づき,各 マイクロスレッドの優先度を設定し,同時走行 マイクロスレッド数を制限する制御法について 記述した.今後は,制御の有効性を評価する予 定である. 参考文献 1) 雨宮聡史,松崎隆哲,雨宮真人,“排他実行マル チスレッド実行モデルに基づくオンチップ・マ ルチプロセッサの設計,” 情報処理学会研究報告, Vol.2003,No.119,pp.51-56,2003. 2) 乃村能成,雨宮聡史,日下部茂,谷口秀夫,雨宮 真人,“細粒度マルチスレッド環境でのスケジュ ーリングオーバヘッド低減機構,” 情報処理学会 研究報告,Vol.2004,No.63,pp.129-134, 2004. 3) 小川泰彦,乃村能成,日下部茂,谷口秀夫,雨宮 真人,“細粒度マルチスレッド環境でのスケジュ ーリングオーバヘッド低減機構の評価,“ 情報処 理学会研究報告,Vol.2006,No.15,pp.47-53, 2006.

1-34

情報処理学会第69回全国大会

参照

関連したドキュメント

ところで、ドイツでは、目的が明確に定められている制度的場面において、接触の開始

詳細情報: 発がん物質, 「第 1 群」はヒトに対して発がん性があ ると判断できる物質である.この群に分類される物質は,疫学研 究からの十分な証拠がある.. TWA

しかしながら生細胞内ではDNAがたえず慢然と合成

テキストマイニング は,大量の構 造化されていないテキスト情報を様々な観点から

つの表が報告されているが︑その表題を示すと次のとおりである︒ 森秀雄 ︵北海道大学 ・当時︶によって発表されている ︒そこでは ︑五

「系統情報の公開」に関する留意事項

(2011)

生活のしづらさを抱えている方に対し、 それ らを解決するために活用する各種の 制度・施 設・機関・設備・資金・物質・