0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】ディスク I/O の動作モデル【5分で読める】

Last updated at Posted at 2025-02-17

ディスク I/O の動作モデル

理解のために小咄形式でまとめました。

登場人物

  • 太郎(後輩):入社1年目の若手エンジニア。
  • 花子(先輩):システムエンジニア歴3年の先輩。

場面:オフィスのホワイトボード前
太郎が ディスク I/O モデル に関する資料を見ながら、花子に質問する。

太郎:「花子先輩、ディスク I/O について調べているんですが、 ディスクのモデル って具体的にどういうものがあるんですか?」

花子:「いい質問ね! ディスク I/O のパフォーマンス を理解するためには、 ディスクがどのようにデータを処理するか という モデル を知っておくことが大事よ。 基本的な 3 つのモデル を紹介するわね。」


ディスク I/O のどうさモデルの解説

花子:「ディスク I/O のモデル には、大きく 3 つの要素 があるの。」

  1. 単純ディスク(Simple Disk)
  2. オンディスクキャッシュ(On-Disk Cache)
  3. コントローラ(Controller)

1. 単純ディスク(Simple Disk)

花子:「単純ディスク とは、 基本的なディスク I/O の動作モデル を表す概念よ。」

  • ディスクは I/O キューを持ち、I/O リクエストが到着すると処理を行う。
  • I/O リクエストが増えると、キューにリクエストが溜まり、処理待ちが発生する。
  • このモデルは、 スーパーマーケットのレジ待ちの行列 に例えられるわね。

「たとえば、 顧客(I/O リクエスト)がレジ(ディスク)で順番待ちをする のと似ていて、 レジの処理が遅いと行列が伸びる のよ。」

太郎:「つまり、 ディスクの処理能力を超えるリクエストが来ると、待ち時間(レイテンシ)が増える ってことですね!」


2. オンディスクキャッシュ(On-Disk Cache)

花子:「次に オンディスクキャッシュ ね。これは、 ディスク内部に搭載されたメモリキャッシュ を指すの。」

  • リードキャッシュ(Read Cache): 直前に読み取ったデータをキャッシュし、再利用を高速化。
  • ライトキャッシュ(Write Cache): 書き込みデータを一時的にキャッシュし、後でまとめて書き込む。

「このキャッシュを使うことで、 I/O のレイテンシを削減 できるわ。たとえば、 コンビニのレジ横にある小銭トレイ みたいなものね。」

太郎:「なるほど! 事前にキャッシュしておくことで、実際のディスクアクセス回数を減らせる んですね!」


3. コントローラ(Controller)

花子:「ディスクコントローラ は、 ディスク I/O の制御を行う専用チップ のことよ。」

  • I/O スケジューリング: I/O リクエストの順序を最適化。
  • エレベータアルゴリズム: HDD の シーク時間を最小化 するための手法。
  • フラッシュ最適化: SSD の 書き込み負荷を分散 するウェアレベリング。

「たとえば、 バスの運行管理システム みたいなもので、 効率的なルート を考えて、 無駄な移動を減らす のと同じよ。」

太郎:「ってことは、 ディスクの性能を引き出すために、コントローラのアルゴリズムが重要 になるんですね!」


花子:「これらの ディスクモデルファストフード店のオペレーション に例えると、こんな感じね。」

  1. 単純ディスクお客さんが注文して、調理待ちの行列ができる
  2. オンディスクキャッシュポテトや飲み物を事前に準備しておいて、注文時にすぐ渡せる
  3. コントローラ店員が注文の順番を最適化して、効率よく提供する

太郎:「なるほど! キャッシュがあると、処理が早くなるし、オペレーションが最適化されると、全体の流れがスムーズになる ってことですね!」


まとめ

花子:「ディスク I/O の 基本モデル を理解することで、 なぜ遅延が発生するのかどうすれば最適化できるのか を考えやすくなるわ。」

太郎:「ありがとうございます! オンディスクキャッシュの影響 を確認するために、 キャッシュ設定を調べてみます!」

参考リンク

システムパフォーマンス関連記事の目次

システムパフォーマンス関連記事は、以下の書籍を参考に記述しています。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?