Recommended
PDF
PDF
PDF
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
PDF
PDF
PDF
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
PDF
PDF
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
PPTX
PDF
【メタサーベイ】Transformerから基盤モデルまでの流れ / From Transformer to Foundation Models
PPTX
PDF
RSA暗号運用でやってはいけない n のこと #ssmjp
PDF
PPTX
BigQuery Query Optimization クエリ高速化編
PDF
レコメンドアルゴリズムの基本と周辺知識と実装方法
PDF
Pythonはどうやってlen関数で長さを手にいれているの?
PDF
ChatGPT 人間のフィードバックから強化学習した対話AI
PDF
PDF
PDF
PPTX
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
Boost.B-tree introduction
PPT
More Related Content
PDF
PDF
PDF
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
PDF
PDF
PDF
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
PDF
PDF
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
What's hot
PPTX
PDF
【メタサーベイ】Transformerから基盤モデルまでの流れ / From Transformer to Foundation Models
PPTX
PDF
RSA暗号運用でやってはいけない n のこと #ssmjp
PDF
PPTX
BigQuery Query Optimization クエリ高速化編
PDF
レコメンドアルゴリズムの基本と周辺知識と実装方法
PDF
Pythonはどうやってlen関数で長さを手にいれているの?
PDF
ChatGPT 人間のフィードバックから強化学習した対話AI
PDF
PDF
PDF
PPTX
PDF
PDF
PDF
PDF
PDF
PDF
PDF
Similar to Cache-Oblivious データ構造入門 @DSIRNLP#5
PDF
Boost.B-tree introduction
PPT
PDF
PDF
PPTX
PDF
PDF
Proposed boost b_tree_library(ja)
More from Takuya Akiba
PPTX
PDF
Learning Convolutional Neural Networks for Graphs
PDF
TCO15 Algorithm Round 2C 解説
PDF
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
PDF
PDF
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
PDF
PDF
PDF
勉強か?趣味か?人生か?―プログラミングコンテストとは
PDF
PDF
プログラミングコンテストでのデータ構造 2 ~動的木編~
PDF
PDF
Recently uploaded
PDF
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
PDF
ニューラルプロセッサによるAI処理の高速化と、未知の可能性を切り拓く未来の人工知能
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
PDF
AI開発の最前線を変えるニューラルネットワークプロセッサと、未来社会における応用可能性
PPTX
ChatGPTのコネクタ開発から学ぶ、外部サービスをつなぐMCPサーバーの仕組み
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
PDF
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
PDF
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
PPTX
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
PDF
膨大なデータ時代を制する鍵、セグメンテーションAIが切り拓く解析精度と効率の革新
Cache-Oblivious データ構造入門 @DSIRNLP#5 1. 2. アウトライン
1. B-Tree が何故使われるのか? (復習)
2. Cache-Oblivious の考え方と意義
3. Cache-Oblivious 探索木 (vEB Layout)
4. 世の中の Cache-Oblivious 事例
Cache-Oblivious データ構造入門 (@iwiwi)
3
3. 4. 5. 6. 7. 8. 9. なぜ B-Tree の方が良いか?
大事な前提(若干雑)
1. ディスクの読み込み時間 >> 計算時間
2. ディスクである箇所を読み込むと周辺も含
めてそこそこ大きく読まれる
前提より
• ディスクを読み込む回数だけを考える
– 普段の議論:「O(ほげ) 時間」
– 今回の議論:「ディスクI/O 𝑂(ほげ) 回」
• 一度に読み込まれるサイズを 𝐵 とおく
Cache-Oblivious データ構造入門 (@iwiwi)
10
10. データの探索にかかる I/O 回数
二分探索木
• 𝑂 log 𝑛 回
一回の I/O で 2 分岐
B-Tree
• 𝑂 log 𝐵 𝑛 回
一回の I/O で Θ(𝐵) 分岐!
↑ノードのサイズをブロックサイズ 𝐵に合わせる
B-Tree のほうが log 𝐵 倍ぐらい早い
これは平気で 10 倍とかになるので大違い!
Cache-Oblivious データ構造入門 (@iwiwi)
11
11. 12. 13. 14. 15. 16. 17. Cache-Aware vs. Cache-Oblivious
Cache-Aware = 普通
ブロックのサイズ 𝐵 を事前に
知っていて,それを使ってデータ構造を設計する
(例:B-Tree)
Cache-Oblivious = 縛りプレイ
ブロックのサイズ 𝐵 を知らないことにする!
知らないなりに頑張る
𝐵 がどんな値であったとしてもいい感じになるよう頑
張る
※本当はメモリサイズ 𝑀 というパラメータもあって,同様にそれも知らない
ことにする.今回は出てこないので省略
Cache-Oblivious データ構造入門 (@iwiwi)
18
18. 19. Cache-Oblivious でない例
B-Tree は Cache-Oblivious ではない
↑ノードのサイズをブロックに合わせる
ブロックサイズ 𝐵 を知らないと
何分木にしていいかわからない!
ブロックサイズ 𝐵 を使ってデータ構造を設計している
Cache-Oblivious データ構造入門 (@iwiwi)
20
20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 約 𝒏 ノード × 約 𝒏 個
𝑇0
……
𝑇1 𝑇2
𝑇
Cache-Oblivious データ構造入門 (@iwiwi)
𝑛
35
35. 36. 37. 38. 39. vEB Layout の性質
Cache-Oblivious である!
再帰してるだけ.ブロックサイズ 𝐵 は出てこなかった.
𝐵 を全く知らずに構築したのに……なんと
要素の探索が I/O 𝑂 log 𝐵 𝑛 回でできる!
↑
𝑩 を知ってて作った B-Tree と性能が一致!
(オーダー記号に隠れた定数倍を除いて)
(𝐵 : ブロックのサイズです ← 忘れた人むけ)
Cache-Oblivious データ構造入門 (@iwiwi)
40
40. vEB Layout の性質
Cache-Oblivious である!
再帰してるだけ.ブロックサイズ 𝐵 は出てこなかった.
𝐵 を全く知らずに構築したのに……なんと
要素の探索が I/O 𝑂 log 𝐵 𝑛 回でできる!
↑
𝑩 を知ってて作った B-Tree と性能が一致!
(オーダー記号に隠れた定数倍を除いて)
最悪の場合でも I/O 回数は
(𝐵 : ブロックのサイズですlog 𝐵 𝑛 回
2 + 4 ← 忘れた人むけ)
Cache-Oblivious データ構造入門 (@iwiwi)
41
41. 42. 43. 44. 他の Cache-Oblivious データ構造・アルゴリズム
データ構造
• 動的な探索木 (CO B-Tree)
– さっきのは静的な木だったので実際に動的にしようと思うと
もっと複雑なものが必要
• 順位キュー
• リスト
• ……
アルゴリズム
•
•
•
•
ソート (Funnel Sort)
FFT,行列乗算
グラフ探索
……
いっぱい
あります!
Cache-Oblivious データ構造入門 (@iwiwi)
45
45. 46. 47. 48. 49. 論文 (MIT CSAIL)
Cache-Oblivious Streaming B-trees
Michael A. Bender, Martin Farach-Colton, Jeremy T. Fineman, Yonatan
Fogel, Bradley Kuszmaul, and Jelani Nelson
SPAA’07
Cache-Oblivious String B-Trees
Michael A. Bender, Martin Farach-Colton, and Bradley C. Kuszmaul
PODS’06
Concurrent Cache-Oblivious B-Trees
Michael A. Bender, Jeremy T. Fineman, Seth Gilbert, and Bradley C.
Kuszmaul
SPAA’05
Cache-Oblivious データ構造入門 (@iwiwi)
50
50. 論文 (MIT CSAIL)
Cache-Oblivious Streaming B-trees
Michael A. Bender, Martin Farach-Colton, Jeremy T. Fineman, Yonatan
Fogel, Bradley Kuszmaul, and Jelani Nelson
SPAA’07
Chief Scientist
CTO
Chief Architect
Cache-Oblivious String B-Trees
Michael A. Bender, Martin Farach-Colton, and Bradley C. Kuszmaul
PODS’06
Concurrent Cache-Oblivious B-Trees
Michael A. Bender, Jeremy T. Fineman, Seth Gilbert, and Bradley C.
Kuszmaul
SPAA’05
MIT の Cache-Oblivious 研究ガチ勢の起業!
Cache-Oblivious データ構造入門 (@iwiwi)
51
51. 52. 53. おまけ:van Emde Boas の発音
https://www.youtube.com/watch?v=AjFtTQevtq0#t=14m15
Peter van Emde Boas と友人である Erik D. Demaine (MIT)
による発音が YouTube で聞けます
Cache-Oblivious データ構造入門 (@iwiwi)
54
54.