5分ルール

ウィキペディアから、無料の百科事典

計算機科学における「5分ルール(英語: five-minute rule)」とは、あるデータ項目をメモリ上に保持し続けるべきか、それともディスクに保存し必要に応じてメモリに読み戻すべきかを判断するための経験則。この経験則は1985年に、タンデムコンピューターズ社のジム・グレイとジャンフランコ・プッツォル(Gianfranco Putzolu)によって初めて提唱され[1][2]、 その後、メモリと永続ストレージの相対的費用と性能の変化を反映させる形で、1997年[3]および2007年[4]に改訂された。

経験則は以下の通り:

5分ランダムルール: 5分以内の間隔で再利用される、ランダムにアクセスされたディスクページをキャッシュする。

グレイはまた、シーケンシャルアクセスに対しても、それに対応する「1分ルール」を提示した[5]:

1分ルール: 1分以内の間隔で再利用される、シーケンシャルにアクセスされたディスクページをキャッシュする。

5分ルールはデータベースの分野で考案されたものだが、(例えば)Network File Systemのキャッシュ容量計画など、他の分野にも適用されている[6]。

当初の5分ルールは、以下の費用対効果の計算式から導き出されたものである[4]:

損益分岐点間隔(秒) = (RAM 1MBあたりのページ数 / ディスク1台あたりの秒間アクセス数) × (ディスクドライブ1台あたりの価格 / RAM 1MBあたりの価格)

2007年のデータにこれを適用すると、磁気ディスクからDRAMへのキャッシングでは約90分、SSDからDRAMへのキャッシングでは15分、ディスクからSSDへのキャッシングでは2時間15分という間隔が導き出される。したがって、ディスクからDRAMへのキャッシング間隔は、1987年にGrayとPutzoluが2007年時点でのRAMとディスクの関係について「5時間ルール」として予測していた値よりもやや短いものとなった[4]。

The Registerが報じたネットアップのエンジニア、David Dale氏の試算によると、2008年時点でのディスクからDRAMへのキャッシングに関する数値は以下の通りであった:「50KBのページサイズでは損益分岐点に達するまでの時間が5分であったのに対し、4KBでは1時間、1KBでは5時間であった。損益分岐点を5分にするには、ページサイズを50倍にする必要があった」。また、2010年時点でのディスクからSSDへのキャッシングについては、同ソースは「SLCの場合、250KBのページサイズでは損益分岐点に達するのに5分を要したが、4KBのページサイズでは5時間かかった。MLCフラッシュの場合、625KBのページサイズでは5分であったが、4KBのページサイズでは13時間を要した」と報告している[7]。

2000年、GrayとShenoyはウェブページのキャッシュ(英語版)に対して同様の計算を適用し、ブラウザは「その有効期間内に再参照される可能性が少しでもあるならば、ウェブページをキャッシュすべきである」と結論付けた[8]。

関連項目

脚注

  1. ↑ Gray, Jim; Putzolu, Franco (May 1985), “The 5 Minute Rule for Trading Memory for Disc Accesses and the 5 Byte Rule for Trading Memory for CPU Time”, Technical Report 86.1, Revised February 1986 (Cupertino, California: Tandem Computers) (PN87615), オリジナルの2011-10-31時点におけるアーカイブ。 2010年12月21日閲覧。.
  2. ↑ Gray, Jim; Putzolu, Gianfranco R. (1987), “The 5 Minute Rule for Trading Memory for Disk Accesses and The 10 Byte Rule for Trading Memory for CPU Time”, Proceedings of the ACM SIGMOD Conference, pp. 395–398, doi:10.1145/38713.38755, ISBN 978-0-89791-236-5.
  3. ↑ Gray, Jim; Graefe, Goetz (1997), “The Five-Minute Rule Ten Years Later, and Other Computer Storage Rules of Thumb”, ACM SIGMOD Record 26 (4): 63–68, arXiv:cs/9809005, doi:10.1145/271074.271094.
  4. 1 2 3 Graefe, Goetz (2007), “The five-minute rule twenty years later, and how flash memory changes the rules”, DaMoN '07: Proceedings of the 3rd international workshop on Data management on new hardware, pp. 1–9, doi:10.1145/1363189.1363198, ISBN 978-1-59593-772-8 Free version in ACM Queue, September 2008.
  5. ↑ Chevance, René J. (2004). Server Architectures: Multiprocessors, Clusters, Parallel Systems, Web Servers, Storage Solutions. Digital Press. p. 542. ISBN 978-0-08-049229-2
  6. ↑ Musumeci, Gian-Paolo D.; Loukides, Mike (2002). System Performance Tuning. O'Reilly Media, Incorporated. p. 263. ISBN 978-0-596-55204-6
  7. ↑ “Flash and the five-minute rule • The Register”. The Register. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  8. ↑ Jim Gray, Prashant Shenoy, "Rules of Thumb in Data Engineering", MS-TR-99-100.