Enviar búsqueda
Cargar
いいかげんな人のためのTransactional Memory Primer
•
9 recomendaciones
•
4,487 vistas
Yuto Hayamizu
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 29
Descargar ahora
Descargar para leer sin conexión
Recomendados
Intel TSX について x86opti
Intel TSX について x86opti
Takashi Hoshino
Raft
Raft
Preferred Networks
CuPy解説
CuPy解説
Ryosuke Okuta
Lispマシン・シミュレータの紹介
Lispマシン・シミュレータの紹介
たけおか しょうぞう
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -
Keizo Tatsumi
Hello, DirectCompute
Hello, DirectCompute
dasyprocta
Transactional Information Systems入門
Transactional Information Systems入門
nobu_k
Recomendados
Intel TSX について x86opti
Intel TSX について x86opti
Takashi Hoshino
Raft
Raft
Preferred Networks
CuPy解説
CuPy解説
Ryosuke Okuta
Lispマシン・シミュレータの紹介
Lispマシン・シミュレータの紹介
たけおか しょうぞう
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -
Keizo Tatsumi
Hello, DirectCompute
Hello, DirectCompute
dasyprocta
Transactional Information Systems入門
Transactional Information Systems入門
nobu_k
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
MITSUNARI Shigeo
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
Takeshi Yamamuro
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
Deep Learning JP
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介
Takeo Imai
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
MITSUNARI Shigeo
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
Takashi Hoshino
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
NTT DATA Technology & Innovation
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景
Deep Learning JP
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
Preferred Networks
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
Sho Takase
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
NVIDIA Japan
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018
Takahiro Kubo
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
克海 納谷
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
NTT DATA Technology & Innovation
やりなおせる Git 入門
やりなおせる Git 入門
Tomohiko Himura
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
Takateru Yamagishi
普通の人でもわかる Paxos
普通の人でもわかる Paxos
tyonekura
Paxos
Paxos
Preferred Networks
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Hakky St
Understanding Hardware Transactional Memory
Understanding Hardware Transactional Memory
C4Media
Transactional Memory for Smalltalk
Transactional Memory for Smalltalk
Lukas Renggli
Más contenido relacionado
La actualidad más candente
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
MITSUNARI Shigeo
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
Takeshi Yamamuro
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
Deep Learning JP
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介
Takeo Imai
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
MITSUNARI Shigeo
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
Takashi Hoshino
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
NTT DATA Technology & Innovation
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景
Deep Learning JP
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
Preferred Networks
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
Sho Takase
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
NVIDIA Japan
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018
Takahiro Kubo
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
克海 納谷
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
NTT DATA Technology & Innovation
やりなおせる Git 入門
やりなおせる Git 入門
Tomohiko Himura
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
Takateru Yamagishi
普通の人でもわかる Paxos
普通の人でもわかる Paxos
tyonekura
Paxos
Paxos
Preferred Networks
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Hakky St
La actualidad más candente
(20)
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
やりなおせる Git 入門
やりなおせる Git 入門
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
普通の人でもわかる Paxos
普通の人でもわかる Paxos
Paxos
Paxos
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Destacado
Understanding Hardware Transactional Memory
Understanding Hardware Transactional Memory
C4Media
Transactional Memory for Smalltalk
Transactional Memory for Smalltalk
Lukas Renggli
Transactional Memory
Transactional Memory
Smruti Sarangi
C-x C-f のなかのひと
C-x C-f のなかのひと
Yuto Hayamizu
Fine-grained Measurement of PostgreSQL
Fine-grained Measurement of PostgreSQL
Yuto Hayamizu
指の話
指の話
Yuto Hayamizu
Emacs Lispのある生活
Emacs Lispのある生活
Yuto Hayamizu
Beyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To Code
Yuto Hayamizu
より深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニング
Yuto Hayamizu
Transactional Memory
Transactional Memory
Yuuki Takano
VLDB2015 会議報告
VLDB2015 会議報告
Yuto Hayamizu
The Art of Performance Evaluation
The Art of Performance Evaluation
Yuto Hayamizu
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
Brendan Gregg
Linux Systems Performance 2016
Linux Systems Performance 2016
Brendan Gregg
Broken Linux Performance Tools 2016
Broken Linux Performance Tools 2016
Brendan Gregg
BPF: Tracing and more
BPF: Tracing and more
Brendan Gregg
Velocity 2015 linux perf tools
Velocity 2015 linux perf tools
Brendan Gregg
性能測定道 実践編
性能測定道 実践編
Yuto Hayamizu
性能測定道 事始め編
性能測定道 事始め編
Yuto Hayamizu
Linux Profiling at Netflix
Linux Profiling at Netflix
Brendan Gregg
Destacado
(20)
Understanding Hardware Transactional Memory
Understanding Hardware Transactional Memory
Transactional Memory for Smalltalk
Transactional Memory for Smalltalk
Transactional Memory
Transactional Memory
C-x C-f のなかのひと
C-x C-f のなかのひと
Fine-grained Measurement of PostgreSQL
Fine-grained Measurement of PostgreSQL
指の話
指の話
Emacs Lispのある生活
Emacs Lispのある生活
Beyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To Code
より深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニング
Transactional Memory
Transactional Memory
VLDB2015 会議報告
VLDB2015 会議報告
The Art of Performance Evaluation
The Art of Performance Evaluation
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
Linux Systems Performance 2016
Linux Systems Performance 2016
Broken Linux Performance Tools 2016
Broken Linux Performance Tools 2016
BPF: Tracing and more
BPF: Tracing and more
Velocity 2015 linux perf tools
Velocity 2015 linux perf tools
性能測定道 実践編
性能測定道 実践編
性能測定道 事始め編
性能測定道 事始め編
Linux Profiling at Netflix
Linux Profiling at Netflix
いいかげんな人のためのTransactional Memory Primer
1.
はやみず
ゆうと
2.
はやみず ゆうと (早水
悠登) id:hayamiz, @hayamiz 修士課程 入院1年目 研究室:情報爆発の爆心地 就職活動中 だれか雇って! 卒論:Transactional Memory関係 現在:データベース関係 Transactional Memory Primer 2
3.
1.
Transactional Memory(TM)とは 2. 現状(のような話) 1. Hardware TM 2. Software TM 3. STMメリット、デメリット 4. (時間があったら)おまけ Transactional Memory Primer 3
4.
知ってる人はどのくらいいる?
Transactional Memory Primer 4
5.
並列プログラムの同期手法の1つ ロック(排他的制御)によっておこる困った 問題をいくつか解決してくれる Dead lock
Priority inversion … ×ロックの代替 Transactional Memory Primer 5
6.
ロックによる並列制御 スレッドA
スレッドB Lock(m) Lock(m) Transactional Memory Primer 6
7.
ロックによる並列制御 スレッドA
スレッドB Start Txn Start Txn TMload(x) TMstore(y,x+1) 衝突 TMload(y) TMstore(x,y+1) Restart Txn Transactional Memory Primer 7
8.
ロック 排他的 悲観的
… みんなでさわるとマズいよね、、、 Transactional Memory 投機的 楽観的 … マズいことになったらリセットすれ ばいいじゃん イメージはつかめましたか? Transactional Memory Primer 8
9.
クリティカルセクション →トランザクション Lock(mutex) → Start
transaction Unlock(mutex) → Commit transaction 共有メモリアクセス → TMのメモリアクセスAPI Transactional Memory Primer 9
10.
1.
Transactional Memory(TM)とは 2. 現状(のような話) 1. Hardware TM 2. Software TM 3. STMメリット、デメリット Transactional Memory Primer 10
11.
1.
Hardware Transactional Memory 2. Software Transactional Memory Hybrid Transactional Memory 忘れ去られてる感 Transactional Memory Primer 11
12.
元祖TM (Maurice Herlihy,
1993) 最近まで:シミュレータの実装のみ 最近:Sun Rock Processor とうとう動くハードウェアが登場か? 延期 延期 Transactional Memory Primer 12
13.
Sun買収 \(^o^)/
Transactional Memory Primer 13
14.
Sun Rock Processor
プロトタイプ実装の論文は出ている 何ができるの? K-word Compare&Swap が作れたり 効率良く lock-free data structure が実装できたり 複雑な処理 × トランザクションのリスタート:TLB miss, async interrupt, branch misprediction, floating point division, … Transactional Memory Primer 14
15.
アカデミックの世界で流行 PPoPP 2007 2本 PPoPP
2008 9本 PPoPP 2009 4本 PPoPP 2010 8本 ライブラリ、言語も増えつつある DSTM2(Java), Deuce STM(Java), TinySTM(C/C++), TL2(C), RSTM(C++), Clojure Transactional Memory Primer 15
16.
使い物になるの? 速さが必要なものには使えない 2~3倍遅くなる スクリプト言語の機能としてはアリでは? 複雑なデータ構造:有効そう
例:巨大なグラフ、ハッシュテーブル →各スレッドは一度にごく一部しか編集しない →データの競合がない →スケールする Transactional Memory Primer 16
17.
1.
Transactional Memory(TM)とは 2. 現状(のような話) 1. Hardware TM 2. Software TM 3. STMメリット、デメリット Transactional Memory Primer 17
18.
Hardware TM …
できないことが多すぎる ので割愛 Transactional Memory Primer 18
19.
○ Deadlockが起こらない ヤバくなったらリセットすればおk
Transactional Memory Primer 19
20.
○ Composable ロックを使ったプログラム
… ロックする順番 に気をつける必要 STM … どんどんトランザクションをネストし てもおk Transactional Memory Primer 20
21.
○ Composable
Lock(A) Lock(B) Function Function call Lock(B) call Lock(A) 祝・デッドロック Transactional Memory Primer 21
22.
○ Priority inversionがおきない
High うごけない!! Middle Low Priority Transactional Memory Primer 22
23.
○ Priority inversionがおきない
Mars Pathfinder Priority inversionが 原因で再起動 Realtime systemで は致命的 Transactional Memory Primer 23
24.
○ Priority inversionがおきない
トランザクション同時が衝突したとき 優先度に応じてリスタートするトランザク ションを決定 できるらしい Transactional Memory Primer 24
25.
× データ競合が頻発する場合くそ遅い トランザクションがリスタートしまくる
カウンタのインクリメント 線形リストのinsertion, deletion Transactional Memory Primer 25
26.
× 取り消し可能な命令しかトランザク ション中に実行できない リスタートできないといけない
I/Oができない!!! I/Oを実行するトランザクションは排他的に、 という逃げの手段も TMのメリットが損なわれてしまう Transactional Memory Primer 26
27.
ほかにもいろいろ、、、 もう忘れました
Transactional Memory Primer 27
28.
Hardware TM 搭載製品が世に出ることはあるのだろうか、、 Software
TM いろいろ制限はあるけれど いろいろメリットもあります 嬉しいシーンはあるはず Clojure! Transactional Memory Primer 28
29.
道具としてのsoftware transactional memory Atomic blockの一実装
parallelFor(i <- 0..99) { atomic { y[i] = x[i+1] + x[i]; } } Lock Allocation Transactional Memory Primer 29
Descargar ahora