2パス限定投機システムによる難並列化ループの高速化
2
0
0
全文
(2) 8 . 情報処理学会第 73 回全国大会 ਯ ड़জ४ॼঝග. ५ॣ४গشজথॢග. ड़জ४ॼঝග $. l. 3. ,. 0. (. $. 7. ). $. w. l. 3. ,. 0. (. $. 7. ਈి৲ග. ). $. 7. ,. $. 7. ,. 3. o. v. d. d. u. /. .. ୵ഥ $. f. 2. ,. $. 7. ,. 3. 7. ,. 7. ,. $. $. 7. a. d. d. u. /. .. f. $. 3. ,. 0. (. 3. 2. d. $. 2. 7. 0. 7. d. d. u. /. .. f. 0. 3. 0. 4. 0. 5. 0. 6. 0. 7. 0. 8. 0. 9. 0. 1. 0. 0. 1. 1. 0. 1. 2. 0. 3. 4. ड़জ४ॼঝග. ५ॣ४গشজথॢග. ਈి৲ග. 図 3: 各スレッド コード の速度向上率 ル数と,マルチスレッド 実行でのサイクル数より算出 した.スレッド の起動は 2 クロックで行えるものとし, PALS における各ハード ウェア間の通信には 1 クロッ クかかるものとした.パス予測成功率は,約 96%と なった. TU1 台の場合は,マルチスレッド 実行にかかる処 理がすべてオーバヘッドとなるため速度向上率は低く なる.TU を 2∼4 台にした場合は,オリジナル版で はどれも約 80%となっており,台数による効果は確認 できない.スケジューリング版では,速度向上率は約 90%から約 97%となり,台数による効果が現れている. オリジナル版に比べると大幅な速度向上となっており, レジスタ同期待ち時間低減の効果が高いことが分かる. 最適化版では,TU3 台および 4 台の場合に顕著な速度 向上率を示し ,約 113%となった.ロード 命令に関す る最適化の効果が非常に高いことが分かる.. 5. おわりに. 本稿では,複雑な制御構造を持つループに対する有 効なマルチスレッド 実行のアプローチとして,2 パス 限定投機システム PALS による実行について述べた. そして,SPEC CINT2000 ベンチマークにおけるデー タ依存を含んだループを,PALS シミュレータ上でマ ルチスレッド 実行し,逐次実行に対してプロセッサ 4 台で最大約 1.1 倍の速度向上を達成することができた. PALS では,投機的なデータの整合性の保証により 他の命令に比べてメモリアクセス命令のコストが高く なる.今後は,整合性を保証した上で低コストなメモ リアクセスを実現するメカニズムについて検討する予 定である. 謝辞 本研究は,一部日本学術振興会科学研究費補助金 (基盤研 究 (C)20500047,同 (C)21500049,同 (C)21500050) およ び宇都宮大学若手萌芽的研究プロジェクトの援助による.. ア科学会: コンピュータソフトウェア,Vol.25,No.3, pp.3-43–3-48,2008.. ). w. 2. d. 図 2: 各投機スレッド コード におけるアドレス計算用 レジスタの位置の変化. 4. 2. 2. . w. a. 0. 1. 8 ਯ. 1. 参考文献 [1] 中島浩: “非数値並列計算の動向と展望”,日本ソフトウェ. 7. ,. w. d. l. 7. 2. $. e. w. a. $. w. m. ਈి৲ග. ச২૨ >@. ノードへポインタを用いてアクセスし,読み出したデー タを使用した比較を行う.本ループでは,比較結果の 成否に対応してパスが 2 本存在している.また,ポイ ンタのアドレス計算に用いるレジスタがイテレーショ ン間の依存関係となっている.. 3.2 PALS での実行に適したコード の作成 本ループでは,アドレス計算用レジスタをイテレー ションの終端で更新し,直後のイテレーションの先頭 でのロードに使用する.このため,単純なマルチスレッ ド 化を適用した投機スレッド コード (以下,オリジナ ル版と呼ぶ) では,直前のイテレーションでの計算が 終わるまでロード を行うことができず,スレッド の並 列性をほとんど 得ることができない.そこで,同期待 ち時間を低減するため,リストスケジューリングをも とにしたコード スケジューリング [3] をオリジナル版 に適用する (以下,スケジューリング版と呼ぶ). PALS では MB を介したメモリアクセスを行うため, ロード 命令のコストは他の命令より高くなる.そこで, スレッド コード の先頭でアドレス計算用レジスタのコ ピーを行い,本来のアドレス計算より早くレジスタの 更新と次スレッドへの送信を行う.また,データの比較 に用いる変数は,ループの実行を通して同じ値が使わ れるが,アセンブリコードではイテレーションごとに メモリから値をロードしている.このため,このロー ド 命令を本ループの直前に行い,空いているレジスタ に値を格納しておくことでロード 命令を 1 つ削除する ことができる (以下,最適化版と呼ぶ). 図 2 に各投機スレッド コードにおけるアドレス計算 用レジスタの位置の変化を示す.図において,$7 がア ドレス計算用レジスタであり,lw 命令によりメモリか らデータをロード する.また,addu 命令は次のイテ レーションでアクセスするアドレスを計算する命令で あり,/.fwd は $7 の値を次のスレッドへ送信すること を表す.オリジナル版では,lw 命令と addu 命令の間 には命令が 15 存在するため,計 17 命令分の実行時間 が同期待ちとなる.スケジューリング版では,lw 命令 の直後に addu 命令を移動したため,これら 2 命令分 の実行時間が同期待ちとなる.最適化版では,レジス タをコピーする move 命令を追加し,lw 命令より前に addu 命令を移動することで,同期待ちは move と addu 命令の実行時間となる.. ५ॣ४গشজথॢග. 実行結果および考察. [2] 十鳥弘泰ほか : “2 パス限定投機方式を実現するマル チコアプロセッサ PALS の提案”,信学技報,Vol.109, No.319 (CPSY2009–46),pp.19–24,2009.. [3] 福田明宏ほか : “2 パス限定投機システムにおけるコード. 図 3 に各スレッド コード の速度向上率を示す.速度 向上率は,元のプログラムを逐次実行した際のサイク. 1-12. スケジューリング手法とその評価”,情報処理学会 第 73 回全国大会,講演番号 2H-9,2011 年 3 月 (発表予定).. Copyright 2011 Information Processing Society of Japan. All Rights Reserved..
(3)
関連したドキュメント
ル(TMS)誘導体化したうえで検出し,3 種類の重水素化,または安定同位体標識化 OHPAH を内部標準物 質として用いて PM
この論文の構成は次のようになっている。第2章では銅酸化物超伝導体に対する今までの研
攻撃者は安定して攻撃を成功させるためにメモリ空間 の固定領域に配置された ROPgadget コードを用いようとす る.2.4 節で示した ASLR が機能している場合は困難とな
テューリングは、数学者が紙と鉛筆を用いて計算を行う過程を極限まで抽象化することに よりテューリング機械の定義に到達した。
また、JR東日本パス (本券) を駅の指定席券売機に
12―1 法第 12 条において準用する定率法第 20 条の 3 及び令第 37 条において 準用する定率法施行令第 61 条の 2 の規定の適用については、定率法基本通達 20 の 3―1、20 の 3―2
利用者 の旅行 計画では、高齢 ・ 重度化 が進 む 中で、長 距離移動や体調 に考慮した調査を 実施 し20名 の利 用者から日帰
従って,今後設計する機器等については,JSME 規格に限定するものではなく,日本産業 規格(JIS)等の国内外の民間規格に適合した工業用品の採用,或いは American