-
2020-07-30 PostgreSQLSwarm64 DA
Swarm64 DAのコストパフォーマンス(消費電力)
はじめに
みなさん、こんにちは。インサイトの加藤です。
世界初のFPGAを使ったPostgreSQL高速化ソリューションであるSwarm64 DAについて梅宮の方からいろいろ説明させていただきましたが、処理が高速化するとは言え、実際のところコストパフォーマンスはどうなの?という疑問が出てくるかと思います。
今回はそれに応える形で、消費電力について通常構成サーバーとの比較をしてみました。
検証環境
- 使用するFPGAはAlveo U50 1枚
- FPGAありのSwarm64 DAサーバーとFPGA無しのNativeサーバーを用意
-
サーバーそれぞれのスペックはFPGAの有無以外、以前紹介した以下の内容で揃える
検証方法
PostgreSQLを稼働させていない状態の時とPostgreSQLで重い処理(TPC-DS SF300 ベンチマーク)を流している時の消費電力をそれぞれのサーバーで確認する。加えて、ベンチマーク処理の完了時間に対する消費電力も測定する。Swarm64 DAサーバーではOSによる消費電力とは別に、FPGAの消費電力も確認する。
使用するコマンドについて
検証に使用するコマンドは以下の通り
- サーバーのCPU自体の消費電力調査用コマンド
s-tui -j | jq '.Power[]'| sed 's/"//g' | awk '{sum+=$1}END{print sum}'
INSIGHTの検証環境はバッテリーを使用していないので、powertopコマンドは今回の調査に使えない。そのため、CPUの状態を様々な形式で取得できるPython製コマンドのs-tuiを採用した。json型で取得し、その中の消費電力について抽出する。
- FPGAの消費電力調査用コマンド
xbutil top -d 0 | grep W
Xlinxコマンドであるxbutil topを使用し、消費電力について抽出する。
検証結果
PostgreSQL非可動時の消費電力
- Nativeサーバー
OS : 秒間37.4W - Swarm64 DAサーバー
OS : 秒間40.1W
FPGA : 秒間28.2W
PostgreSQL可動時の消費電力
- Nativeサーバー
OS : 秒間64.4W - Swarm64 DAサーバー
OS : 秒間78.9W
FPGA : 秒間31.0W
処理の実行時間に対する消費電力
- Nativeサーバー
64.4W[可動時の消費電力] * 13171秒[処理に費やした時間] = 848212.4W = 合計 約848kW - Swarm64 DAサーバー
(78.9W + 31.0W)[可動時の消費電力] * 718.68秒[処理に費やした時間] = 78982.932W = 合計 約79kW
まとめ
今回の検証でPostgreSQL運用時の消費電力に10倍以上の差を確認できました。
ちなみに、TPC-DSベンチマークと同程度の処理が毎日実行されると仮定すると、30日間続けたときの電気料金(このサイトに基づき「1kWh27円」とする)は通常サーバーでは合計約70万円、Swarm64 DAサーバーでは合計約6万円となり、一ヶ月64万円の経費削減に繋がる事がわかりました。
今後もこのようなSwarm64 DAに関する検証を続けてまいりますので、また見ていただけると嬉しいです。よろしくお願いいたします。