演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法

Slides:



Advertisements
Similar presentations
CPU/GPUを協調利用する ソフトウェア開発環境
Advertisements

シーケンス図の生成のための実行履歴圧縮手法
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
ヘテロジニアスマルチコアプロセッサ 環境を対象としたキャッシュシステム 自動生成ツールの開発
ノーマリ「オフ」と「オン」 九州大学 井上こうじ (ただのお友達).
最新ファイルの提供を保証する代理FTPサーバの開発
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
点対応の外れ値除去の最適化によるカメラの動的校正手法の精度向上
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
計算機システムⅡ 主記憶装置とALU,レジスタの制御
全体ミーティング (4/25) 村田雅之.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
フィードバック制御に基づく 定在波型熱音響エンジンにおける 自励発振条件の特徴付け
神奈川大学大学院工学研究科 電気電子情報工学専攻
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
記 憶 管 理(2) オペレーティングシステム 第10回.
オペレーティングシステム 第12回 仮想記憶管理(3)
高性能コンピューティング論2 第1回 ガイダンス
ネストした仮想化を用いた VMの安全な帯域外リモート管理
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
専門演習Ⅰ 国際経済学部 国際産業情報学科 2年 石川 愛
アスペクト指向プログラミングを用いたIDSオフロード
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
プログラム実行履歴を用いたトランザクションファンクション抽出手法
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
静的情報と動的情報を用いた プログラムスライス計算法
高速剰余算アルゴリズムとそのハードウェア実装についての研究
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
VM専用仮想メモリとの連携による VMマイグレーションの高速化
IaaS型クラウドにおける インスタンス構成の動的最適化手法
リモートホストの異常を検知するための GPUとの直接通信機構
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
オペレーティングシステムJ/K (仮想記憶管理)
「コアの数なんて どうでもいい」 五島 正裕(東大).
通信機構合わせた最適化をおこなう並列化ンパイラ
SPE Observer: Cell/B.E.のSPEを用いたOS監視システム
Cell/B.E.のSPEを利用した 安全なOS監視システム
先進的計算基盤システムシンポジウム SACSIS2007併設企画 マルチコアプログラミングコンテスト 「Cellスピードチャレンジ2007」
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
複数ホストにまたがって動作する仮想マシンの障害対策
VMMのソフトウェア若化を考慮した クラスタ性能の比較
目的:高速QR分解ルーチンのGPUクラスタ実装
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
Cell/B.E.のSPE Isolationモードを用いた監視システム
2010年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
第4回 メモリ管理 主記憶(メインメモリ)の管理 固定区画方式と可変区画方式 空き領域の管理 スワッピング.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
設計情報の再利用を目的とした UML図の自動推薦ツール
Cell/B.E. のSPE上で動作する 安全なOS監視システム
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
メソッドの同時更新履歴を用いたクラスの機能別分類法
Cソースコード解析による ハード/ソフト最適分割システムの構築
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
プログラムの一時停止時に 将来の実行情報を提供するデバッガ
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
複数ホストにまたがるVMの 高速かつ柔軟な 部分マイグレーション
2008年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
情報システム基盤学基礎1 コンピュータアーキテクチャ編
Presentation transcript:

演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法 ○福本 尚人, 井上 弘士,村上 和彰 九州大学

マルチコア・プロセッサ 1チップに複数のプロセッサコアを搭載 複数コアによる並列処理により高性能化 性能だけでなく、消費エネルギーも重要 並列 プログラム Core i7 (Intel) Core i7 (Intel) Cell/B.E.(ソニー/東芝/IBM) IBM:http://domino.research.ibm.com/comm/research_projects.nsf/pages/multicore.CellBE.html http://ascii.jp/elem/000/000/124/124281/img.html

マルチコアにおけるメモリウォール問題 × メモリ性能によるトータル性能の抑制 ○ 大きな主記憶アクセスレイテンシ オフチップメモリバンド幅の不足 プログラム:Barnes 256KB private memory Ideal memory プログラム:Cholesky 256KB private memory Ideal memory ○ Idealとの差が小さい × コア数に見合う性能が 得られない

提案手法の狙い 用途に応じてコアを使い分け コア同士で協調実行 メインコア:並列プログラム実行用 ヘルパーコア:メモリ性能向上用 演算性能とメモリ性能のバランシング プログラム: Cholesky Ideal memory メイン コア 6並列実行+2サポート実行 ヘルパー コア コア 本研究 のねらい 256KB private memory 従来の8並列実行 本手法を実装し、評価した結果、 最大、46%の実行時間、32%の消費エネルギーを削減 ハードウェアコストなし

発表手順 マルチコアにおけるメモリウォール問題 演算/メモリ性能バランスを考慮したマルチコア向けオンチップメモリ貸与法 評価 基本アイディア 詳細な実装(ソースコードの自動変換) 貸与メモリのデータ割当て決定 ヘルパーコア数決定 評価 まとめと今後の課題

対象マルチコア・プロセッサ 並列 プログラム チップ コア SPM オンチップ接続 ソフトウェア制御 オンチップメモリ 主記憶

メモリ性能改善効果>演算性能低下効果 となるようにヘルパーコア数を決定 マルチコア向けオンチップメモリ貸与法 メインコア 並列プログラムを実行 ヘルパーコア メインコアに自身のメモリを提供(階層メモリとして 活用される) アイドル ヘルパーコアを増やすと ○メモリ性能が向上 ○消費電力が減少 ×演算性能が低下 並列プログラム メインコア ヘルパーコア Idle コア SPM オンチップ接続 ロード    主記憶 メモリ性能改善効果>演算性能低下効果 となるようにヘルパーコア数を決定

プログラムの特徴に応じた コアの使い分け プログラムの特徴に応じて適切なコアの配分を決定 オンチップ接続 オンチップ接続 プログラム: Barnes 256KB private memory Ideal memory プログラム: Cholesky Ideal memory 256KB private memory コア SPM オンチップ接続 全てメインコア コア SPM オンチップ接続 メインコア数3 ヘルパーコア数1 SPM ○メモリ性能向上による性能向上 大 ○演算性能低下による性能低下 小 ○コアの消費電力の削減 ○従来の全コア実行により高性能化 プログラムの特徴に応じて適切なコアの配分を決定

発表手順 マルチコアにおけるメモリウォール問題 演算/メモリ性能バランスを考慮したマルチコア向けオンチップメモリ貸与法 評価 基本アイディア 詳細な実装(ソースコードの自動変換) 貸与メモリのデータ割当て決定 ヘルパーコア数決定 評価 まとめと今後の課題

提案手法の適用手順 コア数1で 事前実行 DMA転送トレース 逐次処理時間の割合・・・ 入力 プロファイル情報 事前実行 並列化 ソースコード 事前実行 プロファイル情報 メインコア ソースコード ヘルパーコア ソースコード 貸与メモリの データ割当て決定 コア配分決定 貸与メモリデータ割当て コア配分 入力 ソースコード生成 ハード ウェア 情報 コア数1で 事前実行 DMA転送トレース 逐次処理時間の割合・・・

貸与メモリのデータ割当て決定法 目標:メインコアの主記憶アクセス回数が最小となる貸与メモリのデータ割当ての算出 決定手順 プロファイル情報を元に各データごとのアクセス回数を集計 アクセス回数の多い順にデータを貸与メモリへ配置 プロファイル情報 貸与メモリ データ割当て 1.アクセス 回数の集計 2.保持する データの選択 DMA転送トレース

ヘルパーコア数決定法 目標: 最も高性能となるヘルパーコア数の算出 決定手順 性能モデルにプロファイル情報を代入することで全てのコア配分の実行時間を予測 最も実行時間の短いコア配分を選択 DMA転送に関する情報 搭載コア数・・・ ハードウェア 情報 予測実行時間 コア配分 プロファイル情報 性能予測 実行時間の 比較 逐次実行時間の割合        ・・・

メモリ貸与法適用時にプログラマが行う作業 元ソースコードの並列実行部の前後に目印の挿入 スレッド生成部の修正 他は全て自動で適用される プロファイル情報取得用の関数の挿入 主記憶アクセス数最小となる割当て決定 性能モデルによる 実行時間の予測 アドレス変換処理の挿入 実行コア数の変更 貸与メモリのデータ入替え

発表手順 マルチコアにおけるメモリウォール問題 演算/メモリ性能バランスを考慮したマルチコア向けオンチップメモリ貸与法 評価 基本アイディア 詳細な実装(ソースコードの自動変換) 貸与メモリのデータ割当て決定 ヘルパーコア数決定 評価 まとめと今後の課題

評価環境 Cell/B.E.の実機(Cell reference set)で評価 実行プログラム SPEの実行時間を計測 HIMENO, LU (SPLASH-2), FFT (CellSDK), Matrix_mul (CellSDK) SPEの実行時間を計測 7個のSPEに対して、オン チップメモリ貸与法を適用 適切なコアの配分の算出法 性能モデルを用いて予測  (PB-PREDICT) 事前実行を全パタン行い予測  (PB-MEASURE) 【最適な配分】

実行時間 メインコア数6 ヘルパーコア数1 1 1 3 3 1 1 2 2 1 1 最大で46%の実行時間の削減

実行時間 主記憶アクセス削減によるストール時間の削減 > 従来実行が最も性能が高いと予測した場合 メインコア数6 ヘルパーコア数1 1 1 3 3 1 1 2 2 1 1 主記憶アクセス削減によるストール時間の削減 > メインコア減少による演算時間増加+アドレス変換時間増加 従来実行が最も性能が高いと予測した場合

実行時間 ヘルパーコア数を正しく予測できていないが、 最適なヘルパーコア数を予測することで性能向上 従来実行と比較して性能は低下していない メインコア数6 ヘルパーコア数1 1 1 3 3 1 1 2 2 1 1 ヘルパーコア数を正しく予測できていないが、 従来実行と比較して性能は低下していない 最適なヘルパーコア数を予測することで性能向上

実行時間 メインコア数6 ヘルパーコア数1 1 1 3 3 1 1 2 2 1 1 最大で46%の実行時間の削減

消費エネルギー評価方法 消費エネルギーモデルを用いて評価 SPU, LS, 主記憶の動的消費エネルギー メモリ貸与法の適用により、   :非ストール時の消費電力   :ストール時の消費電力   :非ストール時の実行時間   :ストール時間          とする(α=0~1) ヘルパーコアの   は読込み完了までの時間とする 消費電力*実行時間 アクセス回数*アクセス当たりの消費エネルギー メモリ貸与法の適用により、 動作コア数減少、ストール時間削減→SPUの消費エネルギー削減   (ストール時の消費電力が大きいほど、削減効果大) 主記憶アクセスがLS間転送へ→DMA転送の消費エネルギー削減

αに対する消費エネルギーの変化 (α: ストール時の消費電力の割合/通常実行時の消費電力) αに対する消費エネルギーの変化 (α: ストール時の消費電力の割合/通常実行時の消費電力) 性能向上が大きいプログラムではαに対する変化が大きい ヘルパーコア実行ならびに アドレス変換による処理の増加>DMA転送のエネルギー削減 α=1のとき、最大52%の消費エネルギー削減 α=0のとき、最大12%の消費エネルギー削減

消費エネルギー (α=0.4) 最大で32%の消費エネルギーの削減 実行コア数減少、実行時間削減→SPUの消費エネルギー削減 1 1 1 1 3 3 2 2 1 1 実行コア数減少、実行時間削減→SPUの消費エネルギー削減 主記憶アクセスがLS間転送に置き換え→DMA転送の消費エネルギー削減 最大で32%の消費エネルギーの削減

まとめと今後の課題 プログラムの特徴に応じて演算性能とメモリ性能の バランスをとるマルチコア向けオンチップメモリ貸与法 今後の課題 適切なヘルパーコア数と貸与メモリのデータ割当てを決定 自動ソースコード変換により実装 最大で、46%の実行時間の削減と32%の消費エネルギーの削減を達成 今後の課題 詳細な消費エネルギー評価 コア、オンチップメモリ、主記憶のエネルギー比を変更 消費エネルギーを考慮したヘルパーコア数決定法の考案

Backup slides

主記憶アクセス削減率 1 1 2 2 1 3 3 1 1 1

使用メモリ量

既存研究との比較 3 3 1 1 1 1 1 2 2 1 1