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

C言語プログラムのためのソースコード静的メトリクスを利用したタスク粒度解析手法

N/A
N/A
Protected

Academic year: 2021

シェア "C言語プログラムのためのソースコード静的メトリクスを利用したタスク粒度解析手法"

Copied!
8
0
0

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

全文

(1)

C言

語 プ ログ ラ ム の た め の ソ ー ス コ ー ド静 的 メ ト リク ス を 利 用 した

タス ク粒度解析手法

小 林 裕 昌*1,甲 斐 宗 徳*2 TaskGranularityAnalysisMethodUsingStaticMetricsofSourceCodefbrCPrograms HiromasaKobayashi*1,MunenoriKai*2 ABSTRACT:InthefirstphaseofourautomaticparallelizingtranslatorfbrCprogram,asourcecodeis decomposedintoasetoftasksofthegranularityofastatementlevelattheminimum.Inthenextphase, taskschedulingwhichdeterminesstaticallybywhichprocessorthesetasksareprocessedisperformed. Sincethistaskschedulingisacombinatorialoptimizationproblem,itisimportantfbrittosuppressthe numberoftaskswhichconstitutestheprogram.Therefbre,uselessparallelismisremovedusingthe infbrmationaboutthedependenciesamongtasksandtaskcost,andthetaskgranularityanalysisisrequired inordertomaketaskgranularityreasonable.However,sinceitisnecessarytoanalyzetheprocessingtime ofataskonlyusingtheinformationacquiredfromasourcecode,exactcostmaybeunabletobeassigned inthetimeanalysisusingtheconventionalcomputationalcomplexityanalysis.So,inthispaper,themethod ofaimingattheimprovementinaccuracyofexecutiontimeanalysisisproposedbyapplyingstaticmetrics ofsourcecode. Keywords:automaticparallelizingtranslator,taskgranularity,taskscheduling,executiontimeanalysis, staticmetricsofsourcecode (ReceivedMarch31,2014) 1.は じ め に 技 術 分 野 に お け る 驚 異 的 な 成 長 の 背 景 に は,電 子 計 算 機,す な わ ち コ ン ピ ュ ー タ の 存 在 が 大 き く 関 わ っ て お り, と り わ けCPU(CentralProcessingUnit)の 進 化 が 多 大 な 影 響 を 及 ぼ し て い る こ と は 間 違 い な い 。 CPUの 性 能 を 向 上 させ る た め の 方 法 と し て は,動 作 周 波 数 を 上 げ る こ と が 代 表 的 で は あ る が,こ こ 数 年 で 周 波 数 を 上 げ る こ と は 限 界 に 近 付 い て い る 。 そ こ で 性 能 向 上 に 対 す る解 決 策 と し て,複 数 の プ ロ セ ッ サ を 用 い て 並 列 動 作 さ せ る と い う考 え が 主 流 と な っ て き て い る 。 そ の た め,プ ロ グ ラ ム を 効 率 よ く 並 列 処 理 さ せ る た め に は,並 列 プ ロ グ ラ ミ ン グ を 用 い て プ ロ グ ラ ム を 作 成 す る こ と が 必 須 で あ る と言 え る。 しか し,並 列 プ ログ ラ ミ ン グを 用 い て も,効 率 的 な ソ ー ス コー ドを 作成 で き な け れ ば,処 理 速 度 を向 上 させ る こ とは難 し く,そ の た め に は 通 常 の プ ロ グ ラ ミ ン グの 知 識 の他 に,専 門 的 な知 識 が 必 要 とな り,非 常 に難 易 度 の 高 い技 術 で あ る こ とが伺 え る。 以 上 の よ うな こ とか ら,並 列 プ ロ グ ラム の 必 要性 が 高 ま っ て き て い るに も関 わ らず,効 率 の 良 い 並 列 プ ロ グ ラ ム の作 成 に は プ ログ ラマ に 大 き な負 担 が か か る とい う問 題 が発 生 して い る と言 え る。 この 問題 点 を本研 究 の 背 景 と した。 2.C言 語 自 動 並 列 化 トラ ン ス レー タ *1:理 工 学 研 究 科 理 工 学 専 攻 博 士 前 期 課 程 学 生 *2:理 工 学 研 究 科 理 工 学 専 攻 教 授(kai@st .seikei.ac.jp) C言 語 自動 並 列 化 トラ ン ス レー タ[1]とは,C言 語 で 記 述 され た逐 次 実行 可能 な ソー ス プ ロ グ ラム を読 み 込 み プ

(2)

ロ グ ラム 内 に存 在 す る並 列 性 を抽 出 し,MPI(Message PassingInterface)に よ る 並 列 実 行 用 コー ドを埋 め 込 む こ とで 並 列 化 コー ドを 出 力 す る。 ま た,並 列 効 果 を高 め る た め に 並 列性 を 抽 出 した 後 に,ル ー プ の 分 割 や 実 行 時 間 の解 析 を 用 い た ス ケ ジ ュー リン グな どの 最 適 化 処 理 を行 うこ とで,よ り並 列 効 果 の 高 い コー ドを 生 成 す る。 本研 究 で 開発 して い る並 列 化 トラ ンス レー タ で は,ま だ 実 用 的 な 自動 並 列 化 が 存 在 して い な いC言 語 に 対 して 並 列化 を行 い,MPIが 挿 入 され た 並 列 プ ロ グ ラム を生 成 す る こ とで,よ り様 々 な 並 列 実 行 可 能 環 境 で 利 用 で き る よ うに して い る。 ま た 並 列 化 ソー ス コー ドを出 力 す る こ とで,開 発 段 階 で は ユ ー ザ に よ る独 自の チ ュー ニ ン グや コ ンパ イ ラに よ る最適 化 処 理 を 施 す こ とが 可 能 とな る。 以 上 の よ うな 特 徴 を 持 ち プ ロ グ ラム の 実 行 性 能 向 上 を 実 現 す るC言 語 自動 並 列 化 トラ ンス レー タ の完 成 を 最 終 目的 とす る。 2.1ト ラ ン ス レ ー タ 処 理 手 順 図1は 並 列 化 トラ ン ス レ ー タ の 処 理 手 順 を 表 わ して い る。 Cソースコード 畢 中間データ構造の作成 畢 並 列 化 コード(MPI) 図1並 列 化 トラ ンス レー タ 処 理 手 順 初 期 作 業 と して 入 力 され た 逐 次 プ ロ グ ラム か ら 中間 デ ー タ構 造 を 作 成 した の ち,そ れ に 対 す る,並 列 性 解 析 を 行 うこ とで 並 列性 を抽 出 す る[21。 中盤 の 作 業 と して,タ ス クの 実 行 時 間 と依 存 関 係 を考 慮 し,タ ス ク の 適 切 な粒 度 を求 め る タス ク粒 度 解 析 を行 う。 現 段 階 の 本 トラ ンス レー タで は,内 部 で 簡 易 的 な タ ス ク ス ケ ジ ュ ー リン グを 実 行 し タス クに 対 して プ ロセ ッ サ の割 り当 て を 静 的 に 行 う。 タス ク粒 度 解 析 とは,タ ス ク ス ケ ジ ュ ー リン グの 効 率 を上 げ るた め に必 要 な 作 業 と な り,詳 しい説 明 は3章 で行 う。 最 終 段 階 で は,各 解 析 ・変 換 処 理 が 完 了 した 中間 デ ー タ構 造 か ら並 列 プ ロ グ ラム を 作 成 し出 力 す る。 2.2タ ス ク グ ラ フ に つ い て 本 ト ラ ン ス レ ー タ に 読 み 込 ま れ た ソ ー ス コ ー ドは,解 析 器 に よ っ て タ ス ク と 呼 ば れ る コ ー ドセ グ メ ン トに 分 解 され る 。 タ ス ク 間 に は 依 存 関 係 が 存 在 し,こ れ ら の 先 行 ・ 後 続 関 係 を エ ッ ジ で 表 し,タ ス ク 同 士 を つ な い だ グ ラ フ を タ ス ク グ ラ フ と 呼 ぶ 。 ま た,ス テ ー トメ ン ト レ ベ ル の タ ス ク 以 外 に も,ブ ロ ッ ク ス コ ー プ と制 御 フ ロ ー 文 を 持 つifタ ス ク,forタ ス ク や,ユ ー ザ 定 義 関 数,main関 数 を 示 すfunctionタ ス ク と い っ た タ ス ク を マ ク ロ タ ス ク と し て 定 義 す る 。 図2は タ ス ク グ ラ フ の 一 例 を 示 す 。 図2タ ス ク グ ラ フ の 一 例 3.タ ス ク 粒 度 解 析 並 列 性 ・依 存 解 析 が 終 了 した 時 点 で は,一 部 を除 き, タ ス ク の初 期 粒 度 は ス テ ー トメ ン トレベ ル で あ るた め, タ ス ク の数 は ソー ス コー ド内 の ス テ ー トメ ン ト数 に 相 当 す る。 す な わ ち ス テ ー トメ ン ト数 が 多 い ソー ス コー ドが 対 象 で あ る場 合,多 くの タ ス クは 細粒 度 の タス クで あ る た め,タ ス ク数 も大 き くな る。 一般 的 に,並 列 処 理 を行 う こ とに よ り発 生す る通 信 の オ ー バ ーヘ ッ ドは,処 理 時 間 に 大 き な影 響 を及 ぼ し,細 粒 度 タ ス クに 関 して は 逐 次 処 理 を行 っ た方 が 良 い場 合 が 多 い。 そ れ ど こ ろか,タ ス ク ス ケ ジ ュ ー リ ング が組 み合 わせ 最 適 化 問題 で あ るた め, 探 索解 法 の過 程 に お い て 大 量 の組 合 せ が発 生 し,求 解 時 間 が指 数 関数 的 に増 大す る。 この た め,ス テ ー トメ ン ト 数 が 多 く存 在 す る ソー ス コー ドが 対象 で あ る場 合,無 駄 な並 列 性 を省 き,タ ス ク を適 切 な粒 度 に ま とめ る作 業 は 必 須 と言 え る。 前 年 度 で は,タ ス ク粒 度 の調 整 に 用 い る個 々 の タス ク コス トを ス テ ー トメ ン ト内 の メ モ リア クセ ス命 令 ,通 信 に か か る オ ーバ ーヘ ッ ドを依 存 強度(通 信 に よっ て 渡 さ な けれ ば な らな い 変数 の個 数)と い う代 替案 を提案 し, プ ロセ ッサ数 に基 づ く最 大 並列 度 を 考慮 した タス ク融 合 とい うア ブ.ロー チ に よっ て粒 度 を 求 め た[3]。 本 研 究 で は,タ ス クの持 つ様 々 な 要 素 を考 慮 し,よ り

(3)

詳 細 な タ ス ク の 実 行 時 間 を 見 積 も る こ とが 可 能 な メ トリ ク ス を 提案 す る。 3.1タ ス ク の 種 類 と 解 析 方 法 に つ い て 本 ト ラ ン ス レ ー タ で は,タ ス ク の 最 小 単 位 を ス テ ー ト メ ン ト レ ベ ル と し て い る 。 ま た,ス テ ー トメ ン トレ ベ ル の タ ス ク を 条 件 文 や 制 御 文 と み な し,そ れ ら の タ ス ク の 組 み 合 わ せ をifやfbrと い っ た 専 用 の 構 造 に 当 て は め る こ と に よ っ て 制 御 フ ロ ー 構 文 を 構 成 し て い る 。 こ の,条 件 文 や 制 御 文 と い っ た タ ス ク を ま と め た タ ス ク 群 を Controlタ ス ク と定 義 す る 。 関 数 や 構 造 体 と い っ た タ ス ク も 同 じ く,仮 引 数,ロ ー カ ル 変 数 と い っ た す べ て の 変 数 と ブ ロ ッ ク ス コ ー フ.で囲 ま れ た タ ス ク 群 の 組 み 合 わ せ と い っ た も の で 構 成 さ れ て お り,そ れ ら を 前 述 の と お り Macroタ ス ク と 呼 ぶ 。 こ こ で は ス テ ー トメ ン トレ ベ ル の タ ス ク,ブ ロ ッ ク ス コ ー プ で 囲 ま れ た タ ス ク 群,基 本 的 な 種 類 のMacroタ ス ク の 解 析 方 法 を 示 す 。 3.1.1Expressionタ ス ク 本 ト ラ ン ス レ ー タ に お け る タ ス ク の 最 小 単 位 で あ り, 基 本 的 な 式 を 表 現 し て い る 。 代 入 文 や,制 御 フ ロ ー 文 と い っ た も の が こ のExpressionタ ス ク と し て 扱 わ れ る 。こ れ ら タ ス ク の 情 報 は 木 構 造 に よ っ て 保 管 さ れ て い る 。 図3 で は,代 入 文 で あ るExpressionタ ス ク の 一 例 を 示 して い る 。

}

図4Compoundタ ス ク の 一 例

3.1.3ifタ ス ク,if-elseタ ス ク,switchタ ス ク これ ら の タ ス ク は,コ ン ト ロ ー ル タ ス ク とCompoundタ ス ク を 組 み 合 わ せ た 条 件 判 定 を 行 う制 御 フ ロ ー 文 で あ る 。 これ ら の タ ス ク の コ ス トは,コ ン ト ロ ー ル タ ス ク の コ ス ト と,最 も 実 行 コ ス トの 大 き いCompoundタ ス ク の 総 和 に よ っ て 決 定 され る 。 図5で は,基 本 的 なif-elseタ ス ク の 例 を 示 し て い る 。 図5if-elseタ ス ク の 一 例

草二2+1

図3Expressionタ ス ク の 一 例 3.1.2Compoundタ ス ク 本 ト ラ ン ス レ ー タ で は,ブ ロ ッ ク ス コ ー プ 内 に 宣 言 さ れ て い る タ ス ク 群 を ま と め て 一 つ の タ ス ク と して 扱 う。 ifタ ス ク やfbrタ ス ク と い っ た マ ク ロ タ ス ク は,Compound タ ス ク と,制 御 フ ロ ー 文 で あ るExpressionタ ス ク の 組 み 合 わ せ に よ り構 成 さ れ て い る 。ま た,ユ ー ザ 定 義 関 数 やmain 関 数 と い っ たfUnctionタ ス ク もCompoundタ ス ク と,仮 引 数,変 数 宣 言 さ れ たsymbolで 構 成 され て い る 。 図4は, Compoundタ ス ク の 一 例 を 示 し て い る 。 3.1.4forタ ス ク,whileタ ス ク これ ら の タ ス ク は,コ ン ト ロ ー ル タ ス ク とCompoundタ ス ク を 組 み 合 わ せ た 反 復 制 御 を 行 う制 御 フ ロ ー 文 で あ る 。 これ ら の タ ス ク の コ ス トは,コ ン ト ロ ー ル タ ス ク の コ ス ト とCompoundタ ス ク の 総 和 で あ る 。 ま た,回 数 が 判 明 し て い る場 合 は,Compoundタ ス ク の コ ス トに 反 復 回 数 を 乗 算 し,判 明 し て い な い も の は 乗 算 を 行 わ な い 。 図6で は,forタ ス ク の 一 例 を 示 して い る 。 図6forタ ス ク の 一 例 3.1.5functionタ ス ク こ れ ら の タ ス ク は,ユ ー ザ 定 義 関 数,main関 数 と い っ

(4)

た 関 数 タ ス ク で あ る。 通 常 の タ ス ク と 異 な り,Compound タ ス ク と 引 数,変 数 宣 言 とい っ たsymbolリ ス トを 持 つ 。 こ れ ら の タ ス ク の コ ス ト はfunctionタ ス ク の 持 つ Compoundタ ス ク の 一 回 分 の イ タ レ ー シ ョ ン の コ ス ト と 等 し い も の と 定 義 す る。ま た,functionタ ス ク はCompound タ ス ク が 持 つ タ ス ク 群 の 依 存 関 係 を 解 析 し,生 成 さ れ た タ ス ク グ ラ フ を 持 つ 。 図7は,基 本 的 なfUnctionタ ス ク の 例 を 示 し て い る。 図5functionタ ス ク の 一 例 3.2静 的 メ トリ ク ス を 用 い た タ ス ク の 実 行 時 間 解 析 一 般 的 に 細 粒 度 で あ る ソ ー ス コ ー ドの 実 行 時 間 を 正 確 に 見 積 も る こ と は 難 し い 。 そ こ で,本 研 究 で は タ ス ク の 持 つ 要 素 に 加 え,タ ス ク の 属 性 を 考 慮 し,実 行 時 間 解 析 を 行 う。 そ の た め に 必 要 な 要 素 を 応 用 メ ト リ ク ス と 定 義 し て 解 析 を 行 う。 以 下 は,ど の タ ス ク で も 適 用 さ れ る 基 本 メ ト リ ク ス を 示 す 。 ○ 基 本 メ ト リク ス >1、OC(linesofcode) タ ス ク の 持 つ ア セ ン ブ リ コ ー ドに お け る ス テ ッ プ 数 >NOV(numberofvariables) タ ス ク の 持 つ 変 数 の 数 を 計 測 す る メ ト リ ク ス こ れ は 前 年 度 の ト ラ ン ス レ ー タ に 採 用 さ れ て い た 実 行 時 間 解 析 と 同 義 で あ り,変 数 の 個 数 を 表 す 二 つ の メ ト リク ス の 合 計 と な る 。 二 つ の メ ト リ ク ス の 詳 し い 内 容 は 次 に 説 明 を 行 う。 >NTV(numberoftaskvariables) タ ス ク の 持 つ ク ラ ス 指 定 子 が 付 い て い る 変 数 の 数 >NIV(numberofinstancevariables) タ ス ク の 持 つ ク ラ ス 指 定 子 が 付 い て い な い 変 数 の 数 次 に 示 す の は,ifタ ス ク やhmctionタ ス ク と い っ た Compoundタ ス ク に 適 用 さ れ る メ ト リ ク ス を 示 す 。こ れ は,Chidamber氏 とKemerer氏 が 提 案 し た ソ フ トウ ェ ア メ ト リク ス で あ るCKメ ト リ ク ス[41を元 に,タ ス ク の 実 行 時 間 に 関 わ る と 考 え ら れ る 複 雑 度 を 算 出 す る メ ト リク ス で あ る。 0応 用 メ ト リ ク ス >CBF(couplingbetweenfunctions) 対 象 の タ ス ク と依 存 関 係 の あ る タ ス ク の 数 >CBFが 高 い ほ ど 、他 の タ ス ク に 依 存 し て い る こ と を 示 し 、 複 雑 で コ ス トが か か る こ と を 示 唆 し て い る 。 >WMT(weightedmethodspertask) タ ス ク の 複 雑 さ の 総 和 >WMTが 高 い ほ ど複 雑 な タ ス ク と な り、 コ ス トが 高 い こ と を 示 唆 し て い る。 〉 複 雑 さ の 総 和 と は 、McCabeの サ イ ク ロ マ チ ッ ク 数 と い う循 環 的 複 雑 度 を 示 し て い る。 循 環 的 複 雑 度 と は 、 プ ロ グ ラ ム 中 の 分 岐/合 流 点 を ノ ー ド、 そ の 他 の 部 分 を エ ッ ジ と し た と き 、 ノ ー ドの 数(v)、 エ ッ ジ の 数(e)か ら 、e-v+2 と い う式 で 求 め た 値 と な る。 >RFT(responseforatask) タ ス ク 内 で 呼 び 出 され るCompoundタ ス ク の 回 数 >RFTが 大 き い ほ ど 、 呼 び 出 すCompoundタ ス ク の 回 数 が 多 い こ と を 示 し 、 複 雑 で コ ス トが か か る こ と を 示 唆 し て い る。 3.3各 メ ト リ ク ス を 使 用 し た コ ス トの 算 出 方 法 前 述 ま で に 紹 介 し た メ ト リ ク ス を そ の ま ま の 数 値 で 使 用 す る こ と は 難 し く,各 メ ト リ ク ス を 使 用 し た コ ス トの 算 出 を 行 う必 要 が あ る。こ こ で は,そ の 算 出 方 法 を 示 す 。 以 下 の 式 で はnは タ ス クID,Nを 全 体 の タ ス クIDと す る 。 0基 本 メ ト リ ク ス ●LOCを 利 用 し た コ ス トの 算 出 方 法 タ ス ク グ ラ フ 内 に あ る タ ス ク のLOCを 合 計 し, 対 象 と な る タ ス ク の 割 合 を 算 出 す る。 これ は,ア セ ン ブ リ コ ー ド全 体 か ら 見 た 各 タ ス ク の 持 っ コ ー ドの 割 合 を 示 し て い る。 100×Loc(n) LOCCost(n)=ΣC .。L。c(k)'"(1) ●NOVを 利 用 し た コ ス トの 算 出 方 法 LOC内 に お け るNOVの 割 合 を 算 出 す る 。 これ は,各 タ ス ク の 持 つ 命 令 群 の 中 の メ モ リア ク セ ス 命 令 の 割 合 を 示 し て い る。 100× 〈10v(n) NOVCost(n)= …(2)L oc(n) 0応 用 メ ト リ ク ス >CBF,WMT,RFTを 利 用 し た コ ス トの 算 出 方 法 これ ら の 応 用 メ ト リ ク ス は,LOCと 同 じ く,タ ス ク グ ラ フ 内 に お け る各 タ ス ク の 割 合 を 算 出 す る。

(5)

100×1!llmt(η) 1!V"τCo∫ 亡(η)=ΣC .。 伽 亡(k)'00(3) 100×Cわ プ(η)CBFC OS亡(η)=Σ 憂 .。Cbf(k)'0'(4) 100×Rプ 亡(η) RFTCo∫ 亡(η)=ΣC .。 脚)'"(5) ま た,タ ス ク コ ス トは 以 上 の 式 の 総 和 と な る 。 TaskCost=(1)+(2)+(3)+(4)+(5) こ れ ら の 割 合 と い っ た 重 み 付 け は,LOCやNOVと い っ た ソ ー ス コ ー ドの 物 理 的 な 情 報 と,依 存 関 係 と い っ た 理 論 的 な 情 報 か ら 算 出 さ れ た コ ス トの 価 値 を 同 等 に し,タ ス ク の 相 対 的 な コ ス トを 算 出 す る こ と を 狙 っ て い る 。 4.性 能 評 価 本 章 で は,前 述 の解 析 手 法 を並 列 化 トラ ンス レー タ に 実 装 し,求 め られ た コス トと,実 際 の タス クの 実 行 時 間 との 相 対 的 な 比 較 を 行 うた め,以 下 の 実 験 を行 った 。 な お,紙 面 の都 合 上,本 実 験 で は タス ク粒 度 解 析 にお け る 実 行 時 間解 析 の み を 適 用 した 場 合 を示 して お り,タ ス ク 粒 度 最 適 化 は行 っ て い な い 4.1実 験 概 要 本 提 案 手 法 が 実 装 さ れ た 並 列 化 トラ ン ス レー タ が 生 成 し た ス ケ ジ ュ ー ル 長,並 列 プ ロ グ ラ ム を 用 い て 以 下 の 二 つ の 実 験 を 行 う。 実 験1で は,ス ケ ジ ュ ー リ ン グ 長 の 減 少 率 を 比 較 し,実 験2で は,実 験1で 得 られ た ス ケ ジ ュ ー ル 長 の 減 少 率 と 並 列 実 行 し た 際 の 減 少 率 を 比 較 し,提 案 手 法 の 有 効 性 の 検 証 を 行 う。 実 験 環 境 と 使 用 す る ベ ン チ マ ー ク は 以 下 の 通 りで あ る 。 ・実 験 環 境 マ シ ン仕 様 OS:CentOS6.5 CPU:intel(R)Xeon(R)CPUE5-46408-CORE@2.40GH×4 実 装 メ モ リ:256GB ・使 用 し た ベ ン チ マ ー ク lMiBenchVersion1.0:basicmath _large.c 2MiBenchVersion1.0:susan.c 3姫 野 ベ ン チ マ ー ク(dynamicallocateversion) 4NASParallelBenchmarks:IS(size'S') ま た,本 ト ラ ン ス レ ー タ で は 早 稲 田 大 学 笠 原 氏 に よ る DF/IHS(DepthFirst/lmplicitHeuristicSearch)を 元 に,通 信 を 考 慮 し た 組 合 せ 探 索 が で き る よ うに,当 研 究 室 で 拡 張 し た ス ケ ジ ュ ー リ ン グ ア ル ゴ リ ズ ム を 使 用 し て い る。 時 間 計 測 関 数 は,intel(R)Xeon(R)CPUE5-4640に 組 み 込 ま れ て い る 高 精 度 タ イ マ 「lnvariantTSC」 を シ リア ラ イ ズ す る こ と な く 呼 び 出 せ るRDTSCP命 令 を 使 用 し た 。 4.1.1実 験1:ス ケ ジ ュー リ ング 結 果 の 比 較 この 実験 で は,ス ケ ジ ュ ー リ ン グを行 っ た 結 果 を用 い て相 対 的 な 比較 を行 う。 比較 対 象 は,本 提案 手 法 で コス トを設 定 した 際 の ス ケ ジ ュ ー リ ン グ結 果 に お け る減 少 率 と,実 際 に計 測 した 実行 時 間 を コス トと して 設 定 した 際 の ス ケ ジ ュ ー リ ング結 果 の減 少 率 で あ る。 な お,こ こで は各 ベ ン チ マ ー クの最 大 並 列度 を 考 慮 しプ ロセ ッサ 台 数 を4台 と し,探 索 時 間 は10秒 で設 定 しス ケ ジ ュー リン グ を行 っ た。これ は,最 適 解 が10日 以 上 の 探 索 を行 っ て も得 られ な か っ た こ とに加 え,お お よそ10秒 ほ どで 大 部 分 の分 枝 限 定 法 に よ る枝 切 りが行 わ れ て い た こ とに よ る もの で あ る。 表1ス ケ ジ ュ ー リン グ結 果 に お け る減 少 率 の 比較 逐次 実行 並 列実行 減 少率(%) baSIcmath 提 案コス トによる スケ ジュー ル 長 4,582 3,214 29,800 実時間(RDTSC) 866β48,263 669,126,938 22,800 himeno 提 案コス トによる スケ ジュー ル 長 4,347 2,134 50,909 実時間(RDTSC) 1,282,034,208 1,282,006,033 0,002 susan 提 案コス トによる スケ ジュー ル 長 265 233 12075472 susan(S) 実時間(RDTSC) 359.067β89 358,045,623 0.2846999 susan(e) 実時間(RDTSC) 81,608,665 80,457,236 1.4109151 susan(C) 実時間(RDTSC) 40,029,505 38,907,192 2.8037144 NasBench(IS) 提案コストによるスケジュール長 55,984,147 55,876,623 0.1920615 実 時間(RDTSC) 1,785,007 1,784,952 00030812 4.1.2実 験2:実 行 時 間 の 減 少 率 の 比 較 こ の 実 験 で は,実 際 に 逐 次 実 行 を 行 っ た 実 行 時 間 と, 生 成 され た 並 列 プ ロ グ ラ ム の 実 行 時 間 を 比 較 し 減 少 率 を 算 出 す る 。 な お 元 の ソ ー ス プ ロ グ ラ ム と 生 成 さ れ た ソ ー ス コ ー ドは 共 にmpiccで コ ン パ イ ル し て お り,オ プ シ ョ ン の 設 定 も 同 じ で あ る。 ま た,ス ケ ジ ュ ー リ ン グ を行 っ た 際 と 同 じ設 定 で あ る プ ロ セ ッ サ 数4で 並 列 実 行 を 行 っ た 。 表2実 行 時 間 に お け る減 少 率 の 比較 逐 次実行(秒) 並列 実行(秒) 減 少 率(%) basicmath 74,549 52,776 29.20568 susan(S) 0.16530238 0.161720437 2.16690358 susan(e) 0.036015911 0.040963003 一13 .735851 susan(C) 0.017626467 0.018816229 一6.7498582 himeno 50.81711283 50.34413226 0.93075059 NasBench 0.029267821 0.029942926 一2.3066465 表2で 減 少 率 が マ イ ナ ス とな っ て い る個 所 は 実行 時 間 が増 加 して い る こ とを表 して い る。

(6)

な お 元 の ソ ー ス プ ロ グ ラ ム と 生 成 さ れ た ソ ー ス コ ー ド は 共 にmpiccで コ ン パ イ ル し て お り,オ プ シ ョ ン の 設 定 も 同 じ で あ る。ま た,プ ロ セ ッ サ 数4で 並 列 実 行 を 行 っ た 。 4.2考 察 4.2.1ス ケ ジ ュー リン グ結 果 の 比 較 に お け る考 察 実 験1よ り,提 案 手 法 か ら求 め られ た コス トを利 用 し た ス ケ ジ ュ ー リン グ結 果 と,実 際 に 実 時 間 を測 定 し,そ こか ら得 られ た 値 を タ ス ク コス トと して 割 り当て た 際 の ス ケ ジ ュ ー リング 結 果 の 比 較 を 行 っ た 。 》basicmathベ ンチ マ ー ク につ い て 回 数 不 明 の ル ー プ も少 な く どの マ シ ン環 境 で 動 作 させ て も計 算 内 容 が 同 一 の もの に な る とい う特 徴 か ら,誤 差 は 最 も少 な い とい う結 果 に な っ た 。 これ は,basicmathの よ うな 計 算 を 行 うプ ロ グ ラム で あ れ ば 本 提 案 手 法 は 有 効 で あ る と考 え られ る。 >susanベ ンチ マ ー ク につ い て 入 力 され る画 像,オ プ シ ョンに よっ て 演 算 の 内 容 が 変 化 す る とい う特 徴 か ら,ソ ー ス コー ドの 内 容 だ けで 実 行 時 間 の 判別 を行 う本 提 案 手 法 は あ ま り有 効 で な い と考 え ら れ る。 この よ うな ベ ンチ マ ー クに 対 して は,今 後 の 実 行 時 間解 析 の 改 良 の他 に,本 トラ ンス レー タ に昨 年 度 搭 載 され た 動 的 実 行 制御 を 行 う並 列 プ ロ グ ラム が 有 効 で あ る と言 え る。 》 姫 野 ベ ンチ マ ー ク に つ い て 4⊥1の 実 験 の 中 で最 も誤 差 大 き い結 果 とな っ て い る。 原 因 は,マ シ ンの ス ペ ッ クに よっ て 演 算 の 内 容 が 変 化 す るベ ンチ マ ー ク とい う特 徴 で あ る点 に加 え,計 算 を行 う 関数 に 渡 す 引 数 に よっ て 繰 り返 し回 数 が 変 化 す る とい う プ ログ ラム の性 質 上,本 提 案 手 法 に 対 す る相 性 が 非 常 に 悪 い とい う点 が 上 げ られ る。 これ は,同 一 の 関 数 で あ る こ とか らそ れ らの タ ス クの コス トは 引 数 に関 わ らず 同 値 で あ る とみ な され るか らで あ る。 この こ とか ら,同 一 の 関 数 で あ っ て もそ の 引 数 に よ っ て 実行 時 間 が 変 化 す る とい う性 質 を考 慮 す べ きで あ る と 考 え られ る。 》NASParallelBenchmarksに つ い て この ベ ンチ マ ー クに 関 して も無 視 で きな い 誤 差 が 発 生 して しま っ て い る。 これ は,本 提 案 手 法 の 性 質 上 最 も複 雑 で 大 規模 な構 造 を して い るル ー プ 文 に 対 して コス トを 重 く設 定 して しま うとい う点 が 原 因 に な っ て い る と考 え られ る。 実 際 に 動 作 させ た 結 果,条 件 分 岐 が 多 く最 も大 規模 な ル ー プ 文 よ りも,す べ て の 値 を一 つ ず つ 比 較 す る 簡 潔 な ル ー プ 文 が ボ トル ネ ッ ク とな っ て い る こ とが 判 明 した。 この こ とか ら,よ り詳 し く構 造 を解 析 し,実 行 時 間 を 推 測 す る必 要 が あ る と言 え る。 〉 ま と め 以 上 の 結 果 か ら,提 案 手 法 が 大 規 模 か つ 外 部 の 要 因 に よ っ て 演 算 の 内 容 が 変 化 す る タ ス ク に な る ほ ど 精 度 が 低 く な り,そ れ に よ る 誤 差 が 生 じ る も の と 考 え ら れ る 。 susanベ ン チ マ ー ク,姫 野 ベ ン チ マ ー ク,NASParallel Benchmarksに 関 し て は,更 な る 実 行 時 間 解 析 の 改 良 が 求 め られ る 。basicmathに 関 し て は,最 も誤 差 の 少 な い 結 果 と な っ た が,約7%の 誤 差 が あ っ た 。 こ れ は,暫 定 解 で あ る こ と が 誤 差 を 生 む 原 因 の 一 つ で あ る と考 え られ る。 4.2.2実 行 時 間 の 減 少 率 の 比 較 に お け る考 察 実験2で は,実 際 に 対象 の ベ ンチ マ ー ク を逐 次 で 実行 した場 合 の 実行 時 間 と,本 トラ ンス レー タに よっ て 生 成 され た並 列 化 コー ドの 実行 時 間 を 比較 し減 少 率 を算 出 し た。 また,実 験1の 表5.1と 実 験2の 表5.2か ら,ス ケ ジ ュ ー リン グ 上 の減 少 率 と実 際 の 実行 時 間 の減 少 率 の 比 較 を行 っ た。 >basicmathベ ンチ マ ー ク につ い て 実験1の 結 果 と同 じ くス ケ ジ ュー リン グ結 果 の減 少 率 と実 際 の プ ログ ラム の減 少 率 との誤 差 が 最 も少 な い。 以 上 の こ とか ら,提 案 手 法 で ス ケ ジ ュー リ ン グ を行 い,そ の結 果 を元 に 生成 した 並列 化 コー ドが ほ ぼ狙 っ た 通 りの 並 列 実行 で あ る こ とを示 し,こ れ は提 案 手 法 に よ り高 い 精 度 で 実行 時 間 を概 算 で き た こ とを 示 して い る と考 え ら れ る。 >susanベ ンチ マ ー ク につ い て 実験1に も記 した とお り,本 提案 手 法 に よ る実行 時 間 解 析 で は,実 際 の処 理 時 間 を概 算 す る こ とは難 し く,そ れ に伴 っ て ス ケ ジ ュ ー リ ン グ結 果 か ら得 られ た減 少 率 と 実 際 に 実行 を行 っ た 際 の減 少 率 に は誤 差 が 生 じて い る。 これ は,本 提 案 手 法 に よ る タス クの 重 み 付 けが うま くい かず,タ ス ク ス ケ ジ ュ ー リ ン グ部 分 に お い て適 切 な 並 列 性 を 生 かす こ とが で き な か っ た か ら と考 え られ る。 ま た,susan(e)とsusan(c)に 関 して は,並 列 実 行 を行 うこ とに よ り実行 時 間 が増 加 して しま っ て い る。 この原 因 に 関 して は,ま とめ に お い て考 察 を行 う。 〉姫 野ベ ン チ マ ー ク に つ い て 実 際 に並 列 実行 を行 っ た 際 に僅 か な が ら実行 時 間 の 減 少 に成 功 した。 内部 で は,計 算 を行 う関 数 が ボ トル ネ ッ ク とな っ て お り,そ の タ ス ク以外 は す べ て 細粒 度 の タス ク で あ る。 した が っ て,計 算 を行 うタス ク を処 理 す るプ

(7)

ロ セ ッ サ が 実 行 時 間 の 大 部 分 を 占 め て お り,そ の 他 の プ ロ セ ッ サ は ほ と ん ど ア イ ドル 状 態 で あ る 。 ま た,ボ トル ネ ッ ク と な る 関 数 は 上 記 で も 示 し た 通 り,引 数 に よ っ て 繰 り返 し 回 数 が 変 わ り,演 算 を 行 う処 理 時 間 が 変 動 す る 。 こ の よ うな プ ロ グ ラ ム 場 合,susanと 同 じ く 提 案 手 法 で は 実 行 時 間 を 推 測 す る こ と が 困 難 で あ り,ス ケ ジ ュ ー リ ン グ 結 果 か ら 得 ら れ た 減 少 率 と,実 際 に 並 列 実 行 した 際 の 減 少 率 に 誤 差 が 生 じ て い る。 >NASParallelBenchmarksに つ い て こ の ベ ン チ マ ー ク に 関 し て も,susanベ ン チ マ ー ク と 同 じ く 並 列 実 行 を 行 う こ と に よ り実 行 時 間 が 増 加 して しま っ て い る。 こ れ もsusanベ ン チ マ ー ク と 同 じ く 適 切 な タ ス ク コ ス トの 見 積 も りが 出 来 な か っ た こ と が 原 因 の 一 っ と 考 え ら れ る。 ま た,ボ トル ネ ッ ク と な っ て い る 粗 粒 度 タ ス ク と 細 粒 度 タ ス ク と の 差 が 非 常 に 大 き く 無 駄 な 並 列 性 が 多 く あ る こ と が 実 行 時 間 の 増 加 に 繋 が っ て い る と 考 え ら れ る。 こ れ に 関 し て は,タ ス ク 粒 度 最 適 化 部 分 で あ る タ ス ク 融 合 が 有 効 で あ る と 考 え ら れ る 。 そ れ 以 外 の 原 因 に 関 し て は 以 下 の ま と め で 考 察 を 行 う。 》 ま とめ 以 上 の 結 果 か ら,本 トラ ンス レー タで 想 定 して い た 特 徴 と一 致 す るbasicmathベ ンチ マ ー ク に 関 し て は 提 案 手 法 が 有 効 で あ る と言 え る。 しか し,入 力 され る値 に よ っ て 演 算 の 回数 が 変 わ る とい っ た 性 質 の プ ロ グ ラム に対 し て は 提案 手 法 で は 不 十 分 で あ る こ とが 考 え られ る。 ま た,実 際 に 通信 遅延 を 考 慮 した 静 的 タス クス ケ ジ ュ ー リング を行 い,そ の 結 果 を元 に 並 列 化 コー ドを出 力 し た が 実行 時 間 が 増加 して しま う場 合 が 存 在 した 。 この こ とに 関 して は,提 案 手 法 が 有 効 に 作 用 しな か っ た 以 外 に トラ ンス レー タ 全 体 の 問題 と して 以 下 の こ とが 原 因 と し て あ げ られ る。 1.main関 数 のみ の並 列 化 今 年 度 の トラ ンス レー タ で は,並 列 化 を行 う部 分 が プ nグ ラム 中 のmain関 数 だ けで あ る。 これ は 各 関 数 や ル ー プ 文 な どの タ ス クに 対 して は そ れ 以 上 の 並 列 性 解 析 を行 わ ず 一 っ の タ ス ク と して 扱 い,そ の 呼 び 出 しを行 うmain 関 数 の み を 並 列 処 理 す る とい うもの で あ る。 しか し,多 くの プ ログ ラム は 関 数 や ル ー プ 文 が ボ トル ネ ッ ク とな っ て お りそ れ らの タ ス クに 対 して 並 列 処 理 を行 わ な い 限 り 速 度 の 向 上 は 見 込 め な い。 実 際 に ボ トル ネ ッ ク と思 わ れ る タス ク に対 して 並 列 性 を抽 出 す る こ とは 現 時 点 で 可 能 とな っ て い るが,そ の タ ス ク に 対 して どの よ うに して 適 切 な 数 の プ ロセ ッサ を割 り当 て るの か,特 定 の タス ク を複 数 の プ ロセ ッサ で 処 理 を 行 う場 合 の ス ケ ジ ュ ー リ ン グ 方 法 と い っ た 技 術 が 未 成 熟 で あ る た め 実 装 の 段 階 に 至 っ て い な い 。 2.MPI命 令 の 選 択 と挿 入 今 年 度 の ト ラ ン ス レ ー タ で 出 力 さ れ る 並 列 化 コ ー ドは, 最 低 限 の 通 信 を 行 う 命 令 の み で あ る 。 本 来 で あ れ ば MPIGather,MPIReduceと い っ た 集 団 通 信 命 令, MPIBarrierと い っ た 命 令 を 適 切 に 使 用 し な け れ ば 効 率 の 良 い コ ー ドの 生 成 は 不 可 能 で あ る。過 去 の 研 究 に よ り, MPIGather,MPIReduceの 使 用 す る た め の 技 術 は 研 究 さ れ て き た が,ど の よ うな 条 件 で 命 令 を 挿 入 す る の か と い っ た こ と が 問 題 と な り 実 装 に は 至 っ て い な い 。 以 上 の結 果 か ら,本 提 案 手 法 が 有 効 な プ ロ グ ラム は 一 部 存 在 す る もの,動 的 に演 算 の 処理 量 が 変化 す る タス ク に 対 して は依 然 と して対 策 が必 要 で あ る と考 え られ る。 5.ま と め と 今 後 の 課 題 本 研 究 で は,タ ス ク コス ト算 出 の た め の メ ト リクス を 提 案 し,タ ス ク粒 度 解 析 に お け る実行 時 間解 析 の 拡 張 を 行 っ た。 結 果 と して,前 年 度 の メ モ リア クセ ス命 令 だ け を考 慮 した計 算 量解 析 と比 べ,ソ ー ス コー ド静 的 メ ト リクス を 利 用 す る こ とに よ りタ ス ク の もつ性 質 を よ り詳 し く解 析 す る こ とが 出来,精 度 の 向 上 に成 功 した。 本 提 案 手 法 に お け る今 後 の課 題 は 以 下 の 二 つ が 上 げ ら れ る。 一 つ は,こ こで示 した コス トメ ト リクス に プ ライ オ リテ ィ を設 定 し重 み づ け を す る こ とに よ り,よ り詳 細 な 見積 も りを行 え る可能 性 が あ る。 二 つ 目は,こ の メ ト リク ス を導 入 した こ とに よっ て タス ク粒 度 最適 化 の 結 果, タ ス ク ス ケ ジ ュ ー リ ング の 求解 時 間,出 力 され た プ ロ グ ラ ム の並 列 実行 した 際 の 実行 時 間 に 対 して どの よ うな影 響 を 与 え て い るか を よ り詳 し く実 験 し,メ ト リクス の 改 良,選 択 を行 っ て い く必 要 が あ る。

参考文献

[1]美 濃 本 一 浩:"C言 語 自動 並 列 化 トラ ンス レー タ の 開発",修 士 論 文,成 膜 大 学 工 学 部 工 学研 究 科 情 報 処 理 専攻,2005. [2]遠 山 純 也:"C言 語 自動 並 列 化 にお け る並 列性 解 析 と動 的 実行 制 御",修 士 論 文,成 膜 大 学 工 学 部 工 学 研 究科 情 報 処 理 専攻,2013.

(8)

[3]竹 本 拓 未:"最 大 並 列 度 を 考 慮 し た タ ス ク 粒 度 解 析 手 法 の 提 案 と 評 価",学 士 論 文,成 膜 大 学 理 工 学 部 情 報 科 学 科,2013. [4]S.R.ChidamberandC.EKemerer,``Ametricssuitefbr object-orienteddesign".IEEETrans.onSoftware Engineering,20(6),PP.476-493,1994

参照

関連したドキュメント

この見方とは異なり,飯田隆は,「絵とその絵

本節では本研究で実際にスレッドのトレースを行うた めに用いた Linux ftrace 及び ftrace を利用する Android Systrace について説明する.. 2.1

このため、都は2021年度に「都政とICTをつなぎ、課題解決を 図る人材」として新たに ICT職

日本語で書かれた解説がほとんどないので , 専門用 語の訳出を独自に試みた ( たとえば variety を「多様クラス」と訳したり , subdirect

解析の教科書にある Lagrange の未定乗数法の証明では,

しかし , 特性関数 を使った証明には複素解析や Fourier 解析の知識が多少必要となってくるため , ここではより初等的な道 具のみで証明を実行できる Stein の方法

②上記以外の言語からの翻訳 ⇒ 各言語 200 語当たり 3,500 円上限 (1 字当たり 17.5

※ CMB 解析や PMF 解析で分類されなかった濃度はその他とした。 CMB