Lazy Release Consistency

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

Linuxを組み込んだマイコンによる 遠隔監視システムの開発
北海道大学大学院 理学院宇宙理学専攻 EPNetFaN Mail サーバ管理課 徳永 義哉
情報理工学系研究科 コンピュータ科学専攻 上嶋裕樹
メモリコンシステンシモデル memory consistency model
メモリコンシステンシモデル memory consistency model
Ibaraki Univ. Dept of Electrical & Electronic Eng.
メモリ管理(1).
オペレーティングシステム 第10回 仮想記憶管理(1)
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
組み込み環境における ユーザレベル・デバイスドライバの検討 (進捗報告)
スレッドの同期と、スレッドの使用例 スレッドの同期 Lockオブジェクト: lockオブジェクトの生成
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
データベース工学 データベースとは データモデル 関係データベースとSQL 物理データベース編成とインデクス
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
キャッシュ 頻繁にアクセスされるデータを入れておく小規模高速なメモリ 当たる(ヒット)、はずれる(ミスヒット) マッピング(割り付け)
オペレーティングシステム (OSの機能と構造)
組込みシステムとは コンピュータ制御システム?
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
並列分散プログラミング.
アルゴリズムとデータ構造 補足資料4-2 「線形探索」
都市情報学専攻 情報基盤研究分野  M04UC513  藤田昭人
LogStructuredFileSystem Servey
複数CPU間のための共有メモリ 小島 隆史(中央大学大学院理工学研究科 國井研究室)
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
Telnet, rlogin などの仮想端末 ftp などのファイル転送 rpc, nfs
Tohoku University Kyo Tsukada
データ構造と アルゴリズム 第四回 知能情報学部 新田直也.
第9回 プロセスの協調と排他制御 並行プロセスと資源の競合 競合問題 セマフォ 不可分命令の実装 プロセス間通信 PV命令
メモリ管理 4.3, 4.4 章 さだ.
サーバ負荷分散におけるOpenFlowを用いた省電力法
チーム FSEL 立命館大学情報理工学部 ソフトウェア基礎技術研究室
型付きアセンブリ言語を用いた安全なカーネル拡張
Virtualizing a SMP on loosely-coupled computers
AMD64の仮想化技術を利用した 仮想マシンモニタの実装
情報の科学的 な理解(2) 情報科教育法 8回目 2005/6/4 太田 剛.
全体ミーティング 金田憲二.
作りながら学ぶコンピュータアーキテクチャ(改訂版)授業資料 テキスト ページ対応 天野英晴
Cache Organization for Memory Speculation メモリ投機を支援するキャッシュの構成法
Power Management ディスカッション
リモートホストの異常を検知するための GPUとの直接通信機構
SPIN Operating System hamanaka 2001/06/20.
卒論進捗発表(1) 10/ 山崎孝裕.
仮想機械 温故知新 前田俊行 東京大学米澤研究室.
メモリ投機を支援する CMPキャッシュコヒーレンスプロトコルの検討
08. メモリ非曖昧化 五島 正裕.
慶應義塾大学理工学部 天野英晴 共有メモリ型計算機  慶應義塾大学理工学部 天野英晴
Improvement of bootup time using Power Management - Project Update -
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
関数型言語による Timed CSP 検証技法の提案
09. メモリ・ディスアンビギュエーション 五島 正裕.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
オペレーティングシステム (OSの機能と構造)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータアーキテクチャ 第 9 回.
iSeries Site 人事・給与C/S版のハードウェア・ソフトウェア要件
Mondriaan Memory Protection の調査
メモリ使用量の少ないGCR法の提案 東京大学理学部情報科学科 工藤 誠 東京大学情報基盤センター 黒田 久泰
アルゴリズムとデータ構造1 2009年6月15日
6.5 セマフォ セマフォ(semaphore): 複数のタスク(もしくはスレッド)が「同期」または「相互排除」の制御のために取得(acquire)・リリース(release)できるカーネルオブジェクトの総称.
プロセッサ設計支援ツールを用いた 独自プロセッサの設計
コンピュータアーキテクチャ 第 9 回.
SMP/マルチコアに対応した 型付きアセンブリ言語
アルゴリズムとデータ構造 2010年6月17日
アルゴリズムとデータ構造 補足資料5-3 「サンプルプログラムstrcat.c」
オペレーティングシステム (OSの機能と構造)
L4-Linux のメモリ管理における問題点とその解決策
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Presentation transcript:

Lazy Release Consistency 東京大学大学院 情報理工学系研究科 電子情報学専攻 坂井修一研究室 修士1年 46424 豊島 隆志

Background: “Why” Orchestration models Shared Address Space Model 共有メモリをサポートした複雑なハードウェアが必要 × プログラムが簡単 ○ Message-Passing Model 特殊な追加ハードウェアを必要としない ○ プログラムが複雑・面倒 × Shared Virtual Memory - SVM 特殊な追加ハードウェアを必要としない ○ プログラムが簡単 ○ ソフトウェアで共有メモリを実装

Preliminary 1: Memory Management Unit - MMU Application A Main Memory Application B アドレス変換 ページ単位(4096Bなど) ページ保護 Read Write eXecute

Shared Virtual Memory Main Memory A Main Memory B Query & Answer Thread A Thread B write read write

Implementation As page fault handler Inter-System Communication ページのドメイン、コヒーレンスを管理 Inter-System Communication 最低限Message Passingができれば良い ページ情報の交換 ページデータの転送

Problems Overheads Large Granularity Page fault handler invocation kernel land ⇔ user land switch Message passing Large Granularity Poor spatial locality cause fragmentation Useless data transfer for word, by page False sharing Hardware Shared Memory : <usec Shared Virtual Memory : 数百usec~msec

Preliminary 2: Sharing Miss 他のデバイスからの書き込みが原因で起こるミス False Sharing 厳密には競合していないが、大きな単位でまとめて管理していたために起こしてしまったミス True Sharing 仮に最小単位で管理していたとしても起きる、厳密にアドレスが競合しているミス

Preliminary 2.1: True Sharing Hit read Miss read Invalid write

Preliminary 2.2: False Sharing Miss read Invalid write

Consistency Model Sequential Consistency - SC Relaxed Consistency – RC 転送コストが高く、特にSVMでは現実的ではない Relaxed Consistency – RC Eager Release Consistency - ERC write notices on release Lazy Release Consistency - LRC write notices on acquire

Relaxed Consistency - RC Sync PU 0 read y read y read y read y read y PU 1 write x write x write x write x write x

RC on Hardware Coherent Machines False Sharing False Sharing False Sharing False Sharing False Sharing Sync. PU 0 read y read y read y read y read y write notice ack. write notice ack. write notice ack. write notice ack. write notice ack. PU 1 write x write x write x write x write x ack. latency

RC/Delayed Consistency False Sharing False Sharing False Sharing Sync. PU 0 read y read y read y read y read y write notice ack. write notice ack.x2 write notice ack.x2 buffering buffering PU 1 write x write x write x write x write x

RC/Eager Release Consistency PU 0 read y read y read y read y read y False Sharing False Sharing release release PU 1 write x write x write x write x write x release release PU 2 read y False Sharing

RC/Lazy Release Consistency PU 0 read y read y read y read y read y False Sharing acquire w.n. PU 1 write x write x write x write x write x acquire w.n. PU 2 read y False Sharing

LRCではここで初めてptrへの書き込みが見える RC, ERC vs LRC writeが伝わるのは同期地点ではなく、acquire地点 Lock L1; ptr = non_null_ptr_val; Unlock L1; While (ptr == null) {}; Lock L1; a = ptr; Unlock L1; LRCではここで初めてptrへの書き込みが見える