Cache Organization for Memory Speculation メモリ投機を支援するキャッシュの構成法

Slides:



Advertisements
Similar presentations
1 広島大学 理学研究科 尾崎 裕介 石川 健一. 1. Graphic Processing Unit (GPU) とは? 2. Nvidia CUDA programming model 3. GPU の高速化 4. QCD with CUDA 5. 結果 6. まとめ 2.
Advertisements

福永 力; Chikara Fukunaga 1 マルチコア /Multi-Core マルチコア化の背景 Background of Multi-Core CMOS トランジスタ CMOS transistor マルチコアプロセッサの一般的構成 Typical structures of Multi-Core.
Windows Azure ハンズオン トレーニング Windows Azure Web サイト入門.
第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング.
情報理工学系研究科 コンピュータ科学専攻 上嶋裕樹
キャッシュ付PRAM上の 並列クィックソートと 並列マージソート
メモリコンシステンシモデル memory consistency model
07. 値予測 五島 正裕.
ヘテロジニアスマルチコアプロセッサ 環境を対象としたキャッシュシステム 自動生成ツールの開発
Chapter11-4(前半) 加藤健.
CCP Express 3.1 リカバリ&初期化ガイド
小水力班/ Small Hydro Generation Group 研究背景 / Research background
第1回レポートの課題 6月15日出題 今回の課題は1問のみ 第2回レポートと併せて本科目の単位を認定 第2回は7月に出題予定
Chapter 11 Queues 行列.
片岡広太郎 Modem Watch Dog 片岡広太郎
データベース工学 データベースとは データモデル 関係データベースとSQL 物理データベース編成とインデクス
2010年7月9日 統計数理研究所 オープンハウス 確率モデル推定パラメータ値を用いた市場木材価格の期間構造変化の探求 Searching for Structural Change in Market-Based Log Price with Regard to the Estimated Parameters.
ネットワーク構成法 スケール 第6回 11月19日.
Solid State Transformer (SST)
Object Group ANalizer Graduate School of Information Science and Technology, Osaka University OGAN visualizes representative interactions between a pair.
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
TCPデータ通信との公平性を考慮した 輻輳適応能力を有する MPEG動画像通信のための品質調整機構
Agent&Society.
Tohoku University Kyo Tsukada
Windows Summit /8/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Power Electronics center
Estimating Position Information by Detecting Network-Connection
SAP & SQL Server テクニカルアーキテクチャ概要 マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター
Provisioning on Multiple Network(NIC) env
Who Is Ready to Survive the Next Big Earthquake?
Possible Damping Ring Timing
サーバ負荷分散におけるOpenFlowを用いた省電力法
Air Pen -- an introduction of my recent result --
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
大阪大学 大学院情報科学研究科 博士前期課程2年 宮原研究室 土居 聡
Lazy Release Consistency
New accessory hardware Global Platform Division
Session 8: How can you present your research?
MPIを用いた最適な分散処理 情報論理工学研究室 角 仁志
11. マルチスレッド・プロセッサ 五島 正裕.
KMSF-CODEアーキテクチャ における動的QOS制御
全国粒子物理会 桂林 2019/1/14 Implications of the scalar meson structure from B SP decays within PQCD approach Yuelong Shen IHEP, CAS In collaboration with.
Coloured Katakana Jumble Animals
データベース工学 生研 戦略情報融合研究センタ 喜連川 優.
10. マルチスレッド・プロセッサ 五島 正裕.
Term paper, Report (1st, first)
Volleyball club ZAURUS
メモリ投機を支援する CMPキャッシュコヒーレンスプロトコルの検討
名古屋大学大学院国際原語文化研究科 第46回日本語教育学講座講演会
08. メモリ非曖昧化 五島 正裕.
Satoshi Kawashima, LLD 川島 聡 University of Tokyo
Diffservにおける 絶対的な品質保証法
22 物理パラメータに陽に依存する補償器を用いた低剛性二慣性系の速度制御実験 高山誠 指導教員 小林泰秀
09. メモリ・ディスアンビギュエーション 五島 正裕.
コンピュータアーキテクチャ 第 9 回.
東北大 情報科学 田中和之,吉池紀子 山口大 工 庄野逸 理化学研究所 岡田真人
The Facilitative Cues in Learning Complex Recursive Structures
非等方格子上での クォーク作用の非摂動繰り込み
Mondriaan Memory Protection の調査
九州大学のキャンパスネットワークを事例にL1~L3を学ぶ Study on L1,L2 and L3 with case of Campus Network of Kyushu Univ. 岡村耕二 Koji OKAMURA.
Cluster EG Face To Face meeting
BSPモデルを用いた 並列計算の有用性の検証
Grammar Point 2: Describing the locations of objects
コンピュータアーキテクチャ 第 9 回.
全体ミーティング(9/15) 村田雅之.
全体ミーティング (9/12) 村田 雅之.
Improving Strategic Play in Shogi by Using Move Sequence Trees
1.2 言語処理の諸観点 (1)言語処理の利用分野
自己ルーティングによるラベル識別 コリニア音響光学効果を用いたラベル識別 スケジューリング 経路制御 ラベル ラベル 識別 ラベル 処理
Presentation transcript:

Cache Organization for Memory Speculation メモリ投機を支援するキャッシュの構成法 東京大学工学部電子工学科 坂井研究室 20422 豊島 隆志 坂井研究室の豊島です。 今日は「~」と題して発表させて頂きます。 Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Outline Introduction Background ~Speculative Multi-threading~ Our Baseline Model – NEKO – Cache Coherency Protocols Overview Cache Directories Events Conditions State Diagrams Evaluation Environment Results Conclusions Future Works まず、イントロダクションです。 Cache Organization for Memory Speculation

Background ~Speculative Multi-threading~ A single threaded application Parallel execution !! Objectives Proposal of Cache Coherency Protocols Support Memory Speculation on Speculative Multi-threading Comparison between these protocols Invalidate-based vs. Update-based, etc… Dependencies (interrupting parallel executions) Control dependencies Data dependencies Register level dependencies Memory level dependencies Memory Speculation 研究背景としてSpMTについて説明します。 SpMTでは、プログラムを細かいスレッドに分割して、複数のプロセッサ上で並列実行します。 しかし、各スレッド間に存在する「依存」を解決しない限り、本来のプログラムの整合性が保たれません。 「依存」は大きく分けて、「コントロール依存」と「データ依存」に分類され、 さらに「データ依存」は「レジスターレベルの依存」と「メモリレベルの依存」の2種類に分かれます。 この「メモリレベルの依存」に対処する手法として「メモリ投機」があります。 そこで本研究の目的ですが、 まず第一に「メモリ投機」を支援する「キャッシュプロトコル」の典型的なモデルを複数提案します。 そして、それらの性能を比較し、一般的な「キャッシュプロトコル」に言える特徴がこれらに当てはまるのかを検討します。 Cache Organization for Memory Speculation

Our Baseline Model –NEKO– まず、もっとも特徴的な機構「スレッド・コントロール・ユニット」がコンパイラにより静的に分割されたスレッドを、動的にプロセッサに割り当てます。 プロセッサは4つ存在し、それぞれのレジスターは同期されています。 次が本研究の対象としているL1キャッシュになりますが、ここでメモリ投機を支援します。 最後に共有バスを通じて、これらはL2キャッシュと接続されます。 以上が「NEKO」の説明になります。 Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Outline Introduction Background ~Speculative Multi-threading~ Our Baseline Model – NEKO – Cache Coherency Protocols Overview Cache Directories Events Conditions State Diagrams Evaluation Environment Results Conclusions Future Works 次にキャッシュプロトコルについての説明をします。 Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Overview Two major types of cache coherency protocols Invalidate-based Update-based Cache Miss in multi-tasking × Bad ○ Good Traffic especially on data bus ○ Little × Heavy Design Complexity ○ Simple × Complex まず、一般的には大きく分けて2種類のプロトコルが存在します。 1つは「invalidate方式」、そしてもう1つは「update方式」です。 それぞれ、表のような特徴が見られます。 特に今回は「キャッシュミス」と「トラフィック」について注目してください。 Cache Organization for Memory Speculation

Cache Directories Invalidate-based Protocol -MONE- Containing conditions in addition to common information Violation Detection Version Management Line Tag State Condition Word 7 … Word 0 Data Conditions Obsolete Speculative Loaded Stored 2bit 1bit 64bit まず、「invalidate方式」を「メモリ投機」に対応させたプロトコル「MONE」の「キャッシュディレクトリ」の構成について説明します。 今回特徴的なのは「コンディションビット」と呼ばれる付随的な状態ビットです。 「メモリ投機」を支援するには大きく2つ、「Violationの検出」と「バージョン管理」が必要となります。 このうち、「Violationの検出」に利用されるのは青の部分の「コンディションビット」。 「バージョン管理」に利用されるのは赤の部分の「コンディションビット」です。 Cache Organization for Memory Speculation

Cache Directories Update-based protocol -NENEKO- Containing conditions in addition to common information Violation Detection Version Management Line Tag State Conditions Word 7 … Word 0 Data Invalid Shared Modified Obsolete Store Loaded 1bit 64bit 4bit 「update方式」を「メモリ投機」に対応させた「NENEKO」も同様になります。 Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Events Events PrRd Load operation from Processor PrWr Store operation from Processor BusRd Load operation via Bus BusInv Invalidate operation via Bus BusUpd Update (Store) operation via Bus PrSquash Processor is squashed PrCommit Processor is committed PrvCommit Just previous processor is committed BusCommit Other processors are committed Invalidate-based only Update-based only Thread-control Events Unique to Speculative Multi-threading イベントについても簡単に説明します。 この部分がSpMTに特徴的なイベントで、それぞれのプロセッサで実行されるスレッドの終了を通知します。 Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Conditions Conditions bus shared shared with other processors forwarded forwarded from another processor dynamic delayed sent from successor processors masked masked by prior events static loaded loaded by the processor stored modified by the processor obsolete be invalid when next thread is assigned speculative have been forwarded Invalidate-based only Update-based only 我々の提案するプロトコルでは、「イベント」と「コンディション」を入力情報として、状態遷移を行います。 「コンディション」は、先ほど説明した「コンディションビット」で構成される「スタティック・コンディション」 バスからの信号で通達される「バス・コンディション」、また「イベント情報」と「コンディションビット」、「投機レベル」を元に算出される「ダイナミック・コンディション」が存在します。 Cache Organization for Memory Speculation

Cache Organization for Memory Speculation State Diagrams Invalidate-based Protocol -MONE- Update-based Protocol -NENEKO- これらが、それぞれの状態遷移を表した図になります。 通常のプロトコルに比べて、特に複雑な印象はありません。 Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Outline Introduction Background ~Speculative Multi-threading~ Our Baseline Model – NEKO – Cache Coherency Protocols Overview Cache Directories Events Conditions State Diagrams Evaluation Environment Results Conclusions Future Works ここから評価の説明に入ります。 Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Environment Simulator CPON2: MONE/NENEKO Protocol Simulator Processors’ access patterns are gained from trace data of SPECint95 on NEKO Simulator Environment Processors: 4 Cache size: 256kBytes Line size: 64Bytes (=8Words) Associativity: 2 Protocols: MONE/NENEKO (with per-Word / per-Line basis violation detection) MONE/W, MONE/L, NENEKO/W, NENEKO/L まず、キャッシュプロトコルのシミュレータですが、今回開発したシミュレータ「CPON2」は、先ほど説明した2つのプロトコルをシミュレートします。 しかし、これらはプロセッサ部分のシミュレートは行いませんので、「NEKOシミュレータ」によって作成された「アクセス履歴」を入力データとして用います。 これらはSPECint95を走らせた履歴データとなっています。 構成としましては、 プロセッサが4つ。 キャッシュサイズが256キロバイト。 ラインサイズ、64バイト。 アソシアティビティは2。 また、プロトコルについては「MONE」と「NENEKO」の2種類について、Violation検出機構をワード単位で構成した場合とライン単位で構成した場合の2種類。 計2×2の4種類を比較に用いています。Violation検出機構に関しては、ワード単位で構成しないと著しく性能が低下する、という先行研究があったため、NEKOモデルでこれを検証する事にしました。 Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Results Block time ratio Invalidate-based Protocol -MONE- Update-based Protocol -NENEKO- zero zero 2.4×10-4 The worst case of SPECint95 Average of SPECint95 The best case of SPECint95 Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Results Violation Frequency × ○ × ○ The worst case of SPECint95 Average of SPECint95 The best case of SPECint95 Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Results Cache miss ratio thread control missの説明 Capacity or Conflict Only 12.15% invalidations are effective and appear as cache miss reason in the left graph Thread Control Invalidation Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Results Bus event ratio Address Bus Data Bus Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Outline Introduction Background ~Speculative Multi-threading~ Our Baseline Model – NEKO – Cache Coherency Protocols Overview Cache Directories Events Conditions State Diagrams Evaluation Environment Results Conclusions Future Works Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Conclusions Proposal of Cache Coherency Protocols supporting Memory Speculation Evaluations of these Protocols MONE./W MONE/L NENEKO/W NENEKO/L block ○ violation × cache miss △ bus event - Result is different from expectation NENEKOは改善の余地がある Cache Organization for Memory Speculation

Cache Organization for Memory Speculation Future Works Mechanisms for avoiding effects of thread-control Comparison between these protocols and other approaches for Memory Speculation Cache Organization for Memory Speculation