10分で分かるLinuxブロックレイヤ | PDF
Recommended
PPTX
iostat await svctm の 見かた、考え方
PPTX
PDF
PDF
ARM Trusted FirmwareのBL31を単体で使う!
PDF
PDF
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
PDF
PDF
MySQL Fabricでぼっこぼこにされたはなし
PDF
PDF
不揮発メモリ(NVDIMM)とLinuxの対応動向について
PDF
PPTX
PDF
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
PDF
0章 Linuxカーネルを読む前に最低限知っておくべきこと
PDF
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PDF
Boosting I/O Performance with KVM io_uring
PDF
PPTX
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
PDF
PDF
PostgreSQL Query Cache - "pqc"
PPTX
PDF
PDF
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
PPTX
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
PDF
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
PDF
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
PDF
PDF
PDF
More Related Content
PPTX
iostat await svctm の 見かた、考え方
PPTX
PDF
PDF
ARM Trusted FirmwareのBL31を単体で使う!
PDF
PDF
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
PDF
PDF
MySQL Fabricでぼっこぼこにされたはなし
What's hot
PDF
PDF
不揮発メモリ(NVDIMM)とLinuxの対応動向について
PDF
PPTX
PDF
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
PDF
0章 Linuxカーネルを読む前に最低限知っておくべきこと
PDF
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PDF
Boosting I/O Performance with KVM io_uring
PDF
PPTX
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
PDF
PDF
PostgreSQL Query Cache - "pqc"
PPTX
PDF
PDF
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
PPTX
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
PDF
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
PDF
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
PDF
More from Takashi Hoshino
PDF
PDF
PDF
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
PDF
PDF
PDF
PDF
Effective Modern C++ 勉強会#8 Item38
PDF
Effective Modern C++ 勉強会#6 Item25
PDF
Effective Modern C++ 勉強会#1 Item3,4
PDF
PDF
メモリより大きなデータの Sufix Array 構築方法の紹介
PDF
PDF
PDF
PDF
Intel TSX 触ってみた 追加実験 (TTAS)
PDF
Intel TSX HLE を触ってみた x86opti
PDF
PDF
An Efficient Backup and Replication of Storage
PPTX
ログ先行書き込みを用いたストレージ差分取得の一手法
PDF
Recently uploaded
PPTX
FOSS4G Japan 2025 - QGISでスムーズに地図を比較 - QMapCompareプラグインの紹介
PDF
DX人材育成 サービスデザインで実現する「巻き込み力」の育て方 by Graat
PDF
技育祭2025秋 サボろうとする生成AIの傾向と対策 登壇資料(フューチャー渋川)
PDF
「似ているようで微妙に違う言葉」2025/10/17の勉強会で発表されたものです。
PPTX
How to buy a used computer and use it with Windows 11
PPTX
「Drupal SDCについて紹介」2025/10/17の勉強会で発表されたものです。
PDF
FOSS4G Japan 2024 ハザードマップゲームの作り方 Hazard Map Game QGIS Plugin
PDF
FOSS4G Hokkaido - QFieldをランナーのために活用した - QField for runners
10分で分かるLinuxブロックレイヤ 1. 2. 3. 4. IO スケジューラ
• IO リクエストを並べ変える
• 種類(kernel 3.13)
– noop
– cfq (プロセスに対して公平)
– deadline (レイテンシ重視)
• ⽣生 HDD に対しては効果が⼤大きい
• むしろ邪魔になることもある
4
5. ブロックデバイスドライバのインターフェース
• bio interface
– 全て⾃自分で⾯面倒を⾒見見なければならない
• reqeust-queue (single) interface
– IOスケジューラの恩恵を受けられる
– システムで 1 つしかキューがないので
ボトルネックに
• request-queue (multi) interface
– 昨今の⾼高速デバイス/マルチコアシステム⽤用
– Kernel 3.13 or later
5
6. 7. IO インターフェース (投げる側)
void generic_make_request(struct bio *bio);
• bio の中⾝身(抜粋)
– データバッファ
– read or write フラグ
– その他フラグ
• FLUSH: 直前までの全 write IO の永続化を保証
• FUA: 当該 IO の永続化を保証
• DISCARD: SSD などの trim/unmap ⽤用のフラグ
– bi_end_io: IO 完了了時に呼ばれるコールバック
7
8. IO インターフェース (投げられる側)
void make_request(struct request_queue *q,
struct bio *bio);
• bio interface 使⽤用時のコールバック
– q 内のデータを使ってデバイスを特定し,
IO に必要な処理理を実⾏行行
– make_request() は並列列に呼ばれる可能性も
– IO が完了了したら bio_endio() を呼んでブロッ
クレイヤに伝える
8
9. 10. dm (device mapper)
• 機能
– 仮想化
– Snapshot (dm-snap)
– Thin-provisioning (dm-thinp)
– Software RAID (dm-raid, md を流流⽤用)
– 暗号化(dm-crypt)
• LVM2 ツール他から操作
10
11. 12. 最近の話題
• Atomic IO
– MySQL の double-write などが必要なくなる
– まだ汎⽤用ではない
• NVM (Non-volatile-memory)
– Block layer を使わないインターフェースを提案
– ⾼高速な flash memory などのため
• TPPS (Tiny Parallel Proportion Scheduler)
– cgoup + ⾼高速デバイス向け
12
13. 14. 参考⽂文献
• 詳解LINUXカーネル第3版
– Daniel P. Bovet, Marco Cesati
• Linux Block IO: Introducing Multi-queue
SSD Access on Multi-core Systems
– Matias Bjørling, Jens Axboe, David Nellans,
Philippe Bonnet
• Linux Weekly News
– http://lwn.net/
14