Copyright(c)2011 NTT CORPORATION. All Rights Reserved.




Jubatusを利用した電力計測

  NTT 情報流通プラットフォーム研究所
         中山 心太
         2011/11/7




               © 2011 NTT Information Sharing Platform Laboratories
基本アイディア
    •前提
     –消費電力とアプリケーション には相関
     –アプリケーションとパケット には相関
     –電力計高い!!

    •仮説
     –パケットから消費電力が推定可能、安い!

    •ゴール
     –基幹ルータで個々のマシンの電力を推定
                 © 2011 NTT Information Sharing Platform Laboratories
2
実験環境


電力計      教師データ        • 環境
                        – ノートPC(Wiresharkでpcap取得)
                        – 消費電力が記録できる電源タップ

      パケットキャプチャ       • 学習
                        – 電力を分類、パケットを特徴量とし
                          て学習

              ノートPC   • 評価実験
                        – ある一日のパケットと電力を学習
                        – 別の日のパケットから電力を推定
                        – 推定値と実測値から精度を評価




                        © 2011 NTT Information Sharing Platform Laboratories
3
Feature vectorの作り方
•ラベル:10秒間の平均電力値
•特徴量:10秒間に流れたパケットの配列
    –Source IP
    –Destination IP
    –プロトコル
    –パケットサイズ
    –ペイロードから先頭数バイト



                    © 2011 NTT Information Sharing Platform Laboratories
4
実験結果
•横軸実測、縦軸予測
    36



    34



    32



    30



    28



    26



    24



    22



    20
         20   22   24   26   28       30           32           34           36




                                  © 2011 NTT Information Sharing Platform Laboratories
5
誤差の評価
•誤差が正規分布に近い=使える
                               700


                               600


                               500

出
現                              400
回
数
          測定値:30 [w]           300
[




回
          推定値:31 [w]   など
]




                               200


                               100


                                0
    -15   -10          -5            0                      5                   10

                       測定値と推定値の誤差 [w]



                                         © 2011 NTT Information Sharing Platform Laboratories
6
実は
•初期はダメダメでした

                           700



                           600



                           500


出                          400
現
回
数                          300
[ ]




回
                           200



                           100



                            0
      -15   -10   -5             0            5                 10                 15
                       測定値と推定値の誤差 [w]
                                     © 2011 NTT Information Sharing Platform Laboratories
7
ARPパケットの誤学習
•ARPパケットをフィルタリングすることで精
 度向上
                             700



                             600



                             500


出                            400
現
回
数                            300
[ ]




回
                             200



                             100



                              0
      -15   -10     -5             0            5                 10                 15
                         測定値と推定値の誤差 [w]
                                       © 2011 NTT Information Sharing Platform Laboratories
8
考察:ARPパケットの誤学習
•ARPパケットは消費電力に影響しない
    –アイドル状態であってもARPパケットを受信
    –ARPパケットは時間により変動
     • 午前中は出社直後でARPが多い
    –ARPパケットはSource IPがバラバラ


•昼休みの時間帯だけ誤差が増大
    –アイドル時にARPパケットを受信
    –Source IPから電力を推定 -> 失敗
                     © 2011 NTT Information Sharing Platform Laboratories
9
将来の野望
 •基幹ルータで消費電力を推定
                                              空調制御
         データセンタ/オフィス                          PUE向上
             推定


     電力計無し
                  電力計    TAP




                        © 2011 NTT Information Sharing Platform Laboratories
10
まとめ
 •Jubatusを使ってパケットから消費電力予測
     –パケットを強引に特徴量にした
     –誤差が正規分布 = 十分利用可能
     –Classifierで回帰チックなことを強引に
      • 分類器で連続値の推定は、本来はNG
      • データ量が多かったので可能だった
      • 分離平面からの距離で重み付けで補正(未検証)


 •Jubatusは簡単
     –Pythonで約100行でここまでできた
                      © 2011 NTT Information Sharing Platform Laboratories
11
宿題
 • マシンが増えても大丈夫なの?

 • マシンを変えたらどうなるのか?
     –コア数の違い、TDPの違い
     –マシンの特性ごとに補正式が必要

 • 仮想化に対応できるのか?
     –Dest IPでVM識別が可能、割り当てコア数から計算?
     –オーバーコミット環境では、マシン特性の補正式が複雑化

 • 暗号化されていたらどうなるのか?
     –精度は悪くなるが、Source IPとパケット長から推定可能?


                       © 2011 NTT Information Sharing Platform Laboratories
12

Jubatus Workshop - Jubatusを利用した電力推定

  • 1.
    Copyright(c)2011 NTT CORPORATION.All Rights Reserved. Jubatusを利用した電力計測 NTT 情報流通プラットフォーム研究所 中山 心太 2011/11/7 © 2011 NTT Information Sharing Platform Laboratories
  • 2.
    基本アイディア •前提 –消費電力とアプリケーション には相関 –アプリケーションとパケット には相関 –電力計高い!! •仮説 –パケットから消費電力が推定可能、安い! •ゴール –基幹ルータで個々のマシンの電力を推定 © 2011 NTT Information Sharing Platform Laboratories 2
  • 3.
    実験環境 電力計 教師データ • 環境 – ノートPC(Wiresharkでpcap取得) – 消費電力が記録できる電源タップ パケットキャプチャ • 学習 – 電力を分類、パケットを特徴量とし て学習 ノートPC • 評価実験 – ある一日のパケットと電力を学習 – 別の日のパケットから電力を推定 – 推定値と実測値から精度を評価 © 2011 NTT Information Sharing Platform Laboratories 3
  • 4.
    Feature vectorの作り方 •ラベル:10秒間の平均電力値 •特徴量:10秒間に流れたパケットの配列 –Source IP –Destination IP –プロトコル –パケットサイズ –ペイロードから先頭数バイト © 2011 NTT Information Sharing Platform Laboratories 4
  • 5.
    実験結果 •横軸実測、縦軸予測 36 34 32 30 28 26 24 22 20 20 22 24 26 28 30 32 34 36 © 2011 NTT Information Sharing Platform Laboratories 5
  • 6.
    誤差の評価 •誤差が正規分布に近い=使える 700 600 500 出 現 400 回 数 測定値:30 [w] 300 [ 回 推定値:31 [w] など ] 200 100 0 -15 -10 -5 0 5 10 測定値と推定値の誤差 [w] © 2011 NTT Information Sharing Platform Laboratories 6
  • 7.
    実は •初期はダメダメでした 700 600 500 出 400 現 回 数 300 [ ] 回 200 100 0 -15 -10 -5 0 5 10 15 測定値と推定値の誤差 [w] © 2011 NTT Information Sharing Platform Laboratories 7
  • 8.
    ARPパケットの誤学習 •ARPパケットをフィルタリングすることで精 度向上 700 600 500 出 400 現 回 数 300 [ ] 回 200 100 0 -15 -10 -5 0 5 10 15 測定値と推定値の誤差 [w] © 2011 NTT Information Sharing Platform Laboratories 8
  • 9.
    考察:ARPパケットの誤学習 •ARPパケットは消費電力に影響しない –アイドル状態であってもARPパケットを受信 –ARPパケットは時間により変動 • 午前中は出社直後でARPが多い –ARPパケットはSource IPがバラバラ •昼休みの時間帯だけ誤差が増大 –アイドル時にARPパケットを受信 –Source IPから電力を推定 -> 失敗 © 2011 NTT Information Sharing Platform Laboratories 9
  • 10.
    将来の野望 •基幹ルータで消費電力を推定 空調制御 データセンタ/オフィス PUE向上 推定 電力計無し 電力計 TAP © 2011 NTT Information Sharing Platform Laboratories 10
  • 11.
    まとめ •Jubatusを使ってパケットから消費電力予測 –パケットを強引に特徴量にした –誤差が正規分布 = 十分利用可能 –Classifierで回帰チックなことを強引に • 分類器で連続値の推定は、本来はNG • データ量が多かったので可能だった • 分離平面からの距離で重み付けで補正(未検証) •Jubatusは簡単 –Pythonで約100行でここまでできた © 2011 NTT Information Sharing Platform Laboratories 11
  • 12.
    宿題 • マシンが増えても大丈夫なの? • マシンを変えたらどうなるのか? –コア数の違い、TDPの違い –マシンの特性ごとに補正式が必要 • 仮想化に対応できるのか? –Dest IPでVM識別が可能、割り当てコア数から計算? –オーバーコミット環境では、マシン特性の補正式が複雑化 • 暗号化されていたらどうなるのか? –精度は悪くなるが、Source IPとパケット長から推定可能? © 2011 NTT Information Sharing Platform Laboratories 12