TECH BLOG
技術ブログ

ARTICLE

  • 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に関する検証を続けてまいりますので、また見ていただけると嬉しいです。よろしくお願いいたします。

CATEGORY

ARCHIVE

データベースの
パフォーマンス・チューニングのご相談は
株式会社インサイトまで
お気軽にお問い合わせください。

CONTACT