米Facebookの電力効率を改善する負荷分散技術「Autoscale」

 米Facebookは8月8日、社内で開発した負荷分散システムの取り組み「Autoscale」を発表した。ロードバランシングアルゴリズムの調整によってデータセンターの電力消費を改善するという試みで、すでに運用環境で利用して成果を得られているという。

 Facebookは「Open Compute Project」などハードウェア側での省電力の取り組みを進めているが、Autoscaleはソフトウェア側での取り組みとなる。

 12億8000万人のユーザーを抱えるFacebookには、1日に数十億件のページリクエストがあるという。Autoscaleはこれに対応するサーバークラスタの消費電力を改善する取り組み。これまではリクエストの振り分けアルゴリズムとしてラウンドロビンをベースとしたものを利用していたが、リクエストの増減によってCPUの利用率や消費電力が大きく増減するという問題があったそうだ。そこでRPS(毎秒あたりのリクエスト数)を中程度に保つために開発したのがAutoscaleで、1台のサーバーのワークロードが中レベルに達するまで負荷を集中させるというアプローチを取る。

 Autoscaleはカスタム開発したロードバランサーと、意思決定ロジックを持つAutoscale Contorollerで構成される。ロードバランサーは物理サーバープールのサブセットである仮想的なサーバープールにワークロードを送り、これに対してAutoscale Contorollerは各サーバーのCPU利用率が中程度になるように動的にサーバープールのサイズを調整する。アクティブなサーバープールに入っていないサーバーはトラフィックを受け取らず、アイドル状態のままとなる。これにより、ワークロードが低い場合は一部のサーバーのみを利用し、その他はアイドル状態にしておいたり、バッチ処理に利用できるという。

 Autoscaleはすでに運用環境で利用されており、深夜では27%改善するなどの成果をあげている。24時間でみると、平均の電力消費は10~15%改善したと報告されている。

 Facebookは今後もAutoscaleの最適化を進めていくとしているが、Autoscaleのオープンソース化などについては現時点では明らかにしていない。

米Facebook
http://www.facebook.com/