グーグルのクラウドを支えるテクノロジー > 第109回 Googleのサーバークラスターのメモリー圧縮機能(パート3)
私が編集支援しているCTC教育サービスがコラム「グーグルのクラウドを支えるテクノロジー > 第109回 Googleのサーバークラスターのメモリー圧縮機能(パート3)」を公開しました。興味がある方はご覧ください。
###
はじめに
前回に続いて、2019年に公開された論文「Software-defined far memory in warehouse-scale computers」に基づいて、Googleのサーバークラスターで用いられる独自のメモリー圧縮機能を解説していきます。今回は、この仕組みによって得られた効果を示す、具体的な計測データを紹介します。
サーバー上のジョブに対する性能影響
前回までの記事で解説したように、メモリー上の長期間アクセスされていないデータについて、Linuxカーネルのzswapと呼ばれる機能で圧縮するというのが基本的な仕組みです。これにより、サーバー上のジョブが利用できるメモリー容量を増やそうというわけですが、この仕組みを導入することにより、CPUの過剰なオーバーヘッドが発生したり、ジョブの実行速度が低下するなどの影響はできる限り避ける必要があります。
まず、図1はメモリー上のデータの圧縮・解凍処理に伴うCPUのオーバーヘッドを示したグラフです。これは、CPUの実行時間の中で、メモリー上のデータの圧縮・解凍処理に用いられた時間の割合(オーバーヘッド)を示しており、横軸がオーバーヘッドの値、縦軸は「オーバーヘッドがその値以下であるジョブ/サーバーの割合」になります。
この続きは以下をご覧ください
https://www.school.ctc-g.co.jp/columns/nakai2/nakai2109.html