以前の研究では、例えば300台規模のコンピュータクラスタからのデータで、メモリモジュールでの訂正可能なエラーの発生率が、稼働時間10億時間当たり200回から5000回であることが示されていた。しかしGoogleは、10億時間当たりのエラーが2万5000回から7万5000回と、発生率がはるかに高いことを発見した。
メモリエラーは深刻な問題を引き起こすことがあるが、PCではサーバよりも深刻度がずっと低いと、Glaskowsky氏は述べている。その理由は、サーバはメモリに多くのデータを保存して、それを比較的安全な保管場所であるハードドライブに定期的に書き込んでいるのに対し、PCのメモリのほとんどは、アプリケーションやOSのファイル、あるいは表示されるが編集されない内容しか保存していないためだ。
「一般的に、コンシューマー向けPCはメモリで大量のデータを処理していない。多くの場合、表示するためのデータだけだ」(Glaskowsky氏)
しかしこの研究の結果から、ソフトウェアに対する見方を考え直し始めた人々もいる。「Google Chrome」のプログラマーの1人であるJohn Abd-El-Malek氏は、データ破損の問題を軽減するために、Google Chromeのデータベースコードを、このブラウザのほかのコードから切り離して、別のプロセスにすることを提案した。
「たとえ、そうした問題のごく一部のみが害を及ぼすとしても、それが多くのユーザーに広がれば、データ破損の数も膨大になる」とAbd-El-Malek氏は書いている。同氏は、このアプローチについて、同僚のすべてを納得させることはできなかったが、懐疑的だった1人であるScott Hess氏は、「そうすることで、どこでSQLiteを動かすかに関係なく、SQLiteが保存するインメモリデータを最小化するのに役立つことは分かる」と答えている。
この論文では、メモリに関するほかの通説に対しても異議を唱えている。
一般的に、温度が高いとエラー率が高くなるが、Googleのデータセンターでの室温の違いは「メモリエラーの発生率にほんの少ししか影響を与えなかった」という。ただし、システム利用率が高いとエラーの発生率が高くなり、システム利用率は温度と連動する傾向がある。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
パナソニックのV2H蓄電システムで創る
エコなのに快適な未来の住宅環境
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス
企業や自治体、教育機関で再び注目を集める
身近なメタバース活用を実現する
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」