Linuxの「Meltdown」パッチが大きなオーバーヘッドを引き起こす?--Netflixのエンジニアが指摘

Liam Tung (Special to ZDNET.com) 翻訳校正: 編集部

2018-02-13 13:17

 CPUの脆弱性「Meltdown」に対処するLinuxのカーネルページテーブルアイソレーション(KPTI)が、CPUの大幅な性能低下を招く恐れがあると、NetflixのシニアパフォーマンスアーキテクトであるBrendan Gregg氏が指摘した。

 Intelの「Spectre」向けパッチが引き起こす、性能と安定性の問題が大きな注目を集めているが、Gregg氏はKPTIの与える影響について、「これまで見た中で、最も大きなカーネルの性能低下」だと述べている。

 KPTIは、ユーザーモードとカーネルモードの実行で、完全に個別のテーブルを使用することで、Meltdownによるデータ漏えいを防いでいる。

 Gregg氏は、KPTIの影響をテストするために、マイクロベンチマークを準備し、KPTIによってNetflixで0.1~6%の性能のオーバーヘッドが見られる可能性があることがわかったとしている。NetflixはAWSの大型ユーザーの1社だ。しかし、より大きなオーバーヘッドが見られる可能性もあるという。

 Gregg氏は、「Meltdownに対処するKPTIパッチは、1%〜800%まで、膨大なオーバーヘッドを引き起こす可能性がある」と記している

Brendan Gregg
提供:Brendan Gregg

 同氏は分析するにあたり、オーバーヘッドに影響を与える5つの要素、すなわちシステムコール回数、コンテキストスイッチ、ページフォールト率、メモリのワーキングセットサイズ、キャッシュのアクセスパターンに目を向けた。

 オーバーヘッドが800%を超える可能性があるのは、プロセスコンテキストID(PCID)に未対応のLinuxバージョンを使用している場合だという。

 Linuxカーネルは、バージョン4.14でPCIDをサポートしており、CPUがPCIDに対応している限り、Meltdown対策の個別のテーブルに対する取り扱いが改善される。

 システムがどのくらいKPTIの影響を受けるかは、アプリケーション次第である。Gregg氏が述べているように、小さな入出力を頻繁に行うプロキシやデータベースなど、システムコールの呼び出し回数が多いアプリケーションほど、最も性能が損なわれる。また、コンテキストスイッチとページフォールトの回数が増えるほど、影響の度合いも大きくなる。

 Netflixは、PCIDをサポートするLinux 4.14の使用、huge pagesの利用、システムコールの低減といった調整をうまく行うことで性能のオーバーヘッドを2%以下に抑えることができると同氏は見ている。

 しかし、KPTIは性能のオーバーヘッドを引き起こしているMeltdownとSpectre向けパッチの1つにすぎない。ほかにもクラウド向けハイパーバイザの変更、Intelのマイクロコード、Googleのソフトウェア修正パッチ「Retpoline」などがあると、Gregg氏は指摘している。

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]