データセンターの電力量ログをGAEで産業技術総合研究所 中田秀基
自己紹介• 中田秀基  • 産業技術総合研究所  • http://d.hatena.ne.jp/hidemon  • Twitter @hidemotoNakada• 並列・分散計算システムが専門  • グリッドとか  • クラウドっぽいのと...
今日のお話• さまざまなロギングをGAEでやるのは現実的か  • 可用性は?  • 課金は?• アウトライン  • 産総研電力可視化プロジェクトの紹介 • GAEによるロギング • 実際どうだっか
Smart Meter• 電力使用量の可視化  • これまで  • 一ヶ月間の全体の使用量 • Smart Grid   • 時間的、空間的に測定の粒度を小さく   • 1時間ごと、コンセント単位• 可視化の目的  • 電力使用量を意識すること...
Google PowerMeter• スマートメータを家庭に設  置、個人がデータを参照で  きるようにするプロジェク  ト• 2009年2月から• 2011年9月に打ち切り。。。                           http:...
東日本大震災 ー 原発事故• 昨夏は、研究用のクラスタは全部停止• 今年も夏場は多分動かせない• なにがどれだけ電気を食っているのか• どれを止めてどれを動かすとベストなの  か• どんな状況のときにどれだけ食うのか
産総研電力可視化• 分電盤からの配線単位で電力使用量を1秒ごとに計測、集計• 分電盤 – 部屋に対応• 分電盤一つにつき4配線• ゆくゆくは各グループに電力使用量を課金• 可能な限り安く構築 
電力可視化の基本構造              集計機    DBセンサー   センサー   センサー    センサー   センサー
なにがむずかしいか• 電力センサーの情報をどうやって引っ張ってくるか• 配電盤は地理的に散在• ネットワークはあるが。。。• 配電盤に設置する個々のセンサーは可能な限り安く• IPをしゃべるワンボードPCのようなものでも難しい• 無線なんかとて...
階層化• 各階層で異なる通信方法を  採ることが可能• 上位レイヤは数が少ないの   集計機    DB  で高価な通信方法を採用で  きる• 下位レイヤについては地理  的に近接であるという仮定  をおくことができる           中継...
産総研可視化のアーキテクチャ                    集計機       DB建物間                 TCP/IP         データ収                  データ収           集   ...
産総研可視化のアーキテクチャ                    集計機       DB建物間                 TCP/IP         データ収                  データ収           集   ...
13電力計測ユニット • 配電盤に一つ • 毎秒の電流・電圧値をデータ収集ユニットに送信 • 商用電流センサ4つ含む製造コストは約1万円と    安価 • 測定精度は国家標準に準拠することを保証 RJ-45 portClamp-on curre...
16データ収集ユニット(1/2)• クラウド接続するためのゲートウェイとして動作• 最大32台の計測ユニットからデータを収集し、電力値を  計算     – UTPケーブル接続によるデータ通信および電力供給• 20秒分の電力値をまとめてGAEに...
17  データ収集ユニット(2/2)                                             電力計測        GAE                                  ユニット      ...
18産総研つくば・サーバ室                   2011年8月後半より運用                    フリーアクセスに設置                    されたデータ収集ユニット           クランプ...
なんでGAEか?• 所内でサーバ立てるのが面倒だった• 将来収集ユニットが数十になった時にスケールさせる  のが大変そう• バックアップが面倒• 将来複数の拠点からのアクセスがありうるのでファイ  アウォールの中に置くことはできない • クラッ...
20Small start Go big                               Google App Engine                                   Datastore4 電流センサ   ...
21GAE上のデータ集計サーバ• データ収集ユニットから受信したデータを集約し、     計測点ごとの使用電力をデータベース化     • 1分ごとの秒単位のデータ(PowerMinite)        • 20秒に1度のupdateリクエス...
内部データ構造          20          秒          分          20          秒          分          20          秒          分      PowerMi...
23  REST API 一覧path                            method   description/update                         POST     消費電力のアップロード/la...
24データ更新    各データ収集ユニットは20秒分の                                                     GAE                                       ...
25    データ取得    アプリケーションは定期的に(1分)                                     GAE                                                 x...
26可視化アプリケーション                   less than 90% of the upper limit                   less than 95% of the upper limit       ...
可用率 • 半年以上運用してきて、GAE原因で止まったことは多分無い    • High replication 使用 • 他の原因で落ちたことは何度か    • ネットワークの停止    • 収集ユニットの暴走3000            ...
アクセス頻度• アクセス回数 0.8/s 強程度• 8 (集計ユニット) * 2(update + 分データへの昇格) /20s
課金実績• 月10ドル前後
課金内訳• データベース書き込み の課金がドミナント • 週42万回• 読み出しも週15万回  • アップデートのための読    み出し?• 1週間= 10080分   • 1分に15回
課金の問題(?)点• 個人のクレジットカードに来る。。。• 立替払いで精算• GAE for Businessにすればいい?  • でもそんなにつかうわけじゃないし。• 1週間ごとに〆なので請求が面倒くさい。• 月1を選べるようにしてください。。
まとめ• GAEはロギングにつかえるか?• 可用性 – 充分  • ネットワークの可用性のほうが問題• 課金 - 無料では無理 • インターバルを大きく取れば可能だろうが、セン   サー側に負荷が • 月10ドルぐらいでOK
謝辞下記の皆様に感謝します• センサーユニット担当• 高野了成氏、清水敏行氏• 電力計測ユニット担当• 村川正宏氏、河西勇二氏
データセンターの電力量ログをGAEで
データセンターの電力量ログをGAEで
Upcoming SlideShare
Loading in...5
×

データセンターの電力量ログをGAEで

1,282
-1

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,282
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

データセンターの電力量ログをGAEで

  1. 1. データセンターの電力量ログをGAEで産業技術総合研究所 中田秀基
  2. 2. 自己紹介• 中田秀基 • 産業技術総合研究所 • http://d.hatena.ne.jp/hidemon • Twitter @hidemotoNakada• 並列・分散計算システムが専門 • グリッドとか • クラウドっぽいのとか • MapReduceっぽいのとか• AppEngine • すっきりわかる Google App Engine• AJN14でPaxosについて紹介
  3. 3. 今日のお話• さまざまなロギングをGAEでやるのは現実的か • 可用性は? • 課金は?• アウトライン • 産総研電力可視化プロジェクトの紹介 • GAEによるロギング • 実際どうだっか
  4. 4. Smart Meter• 電力使用量の可視化 • これまで • 一ヶ月間の全体の使用量 • Smart Grid • 時間的、空間的に測定の粒度を小さく • 1時間ごと、コンセント単位• 可視化の目的 • 電力使用量を意識することで効率的 な 利用を促進 • C.f. レコーディング・ダイエット • C.f. 自動車のエコランプ
  5. 5. Google PowerMeter• スマートメータを家庭に設 置、個人がデータを参照で きるようにするプロジェク ト• 2009年2月から• 2011年9月に打ち切り。。。 http://japanese.engadget.com/ 2009/02/10/google-powermeter/ http://googleblog.blogspot.jp/2011/06/updat e-on-google-health-and-google.html
  6. 6. 東日本大震災 ー 原発事故• 昨夏は、研究用のクラスタは全部停止• 今年も夏場は多分動かせない• なにがどれだけ電気を食っているのか• どれを止めてどれを動かすとベストなの か• どんな状況のときにどれだけ食うのか
  7. 7. 産総研電力可視化• 分電盤からの配線単位で電力使用量を1秒ごとに計測、集計• 分電盤 – 部屋に対応• 分電盤一つにつき4配線• ゆくゆくは各グループに電力使用量を課金• 可能な限り安く構築 
  8. 8. 電力可視化の基本構造 集計機 DBセンサー センサー センサー センサー センサー
  9. 9. なにがむずかしいか• 電力センサーの情報をどうやって引っ張ってくるか• 配電盤は地理的に散在• ネットワークはあるが。。。• 配電盤に設置する個々のセンサーは可能な限り安く• IPをしゃべるワンボードPCのようなものでも難しい• 無線なんかとても使えない• センサー数が数千になってもスケールするように
  10. 10. 階層化• 各階層で異なる通信方法を 採ることが可能• 上位レイヤは数が少ないの 集計機 DB で高価な通信方法を採用で きる• 下位レイヤについては地理 的に近接であるという仮定 をおくことができる 中継機 中継機 センサー センサー センサー センサー センサー
  11. 11. 産総研可視化のアーキテクチャ 集計機 DB建物間 TCP/IP データ収 データ収 集 集 十数 - 数十 ユニット ユニット建物内 カレントループ / カレントループ / UTP UTP 計測 計測 計測 数百 ユニット ユニット ユニット配電盤 電圧 数千 センサー センサー センサー センサー センサー
  12. 12. 産総研可視化のアーキテクチャ 集計機 DB建物間 TCP/IP データ収 データ収 集 集 十数 - 数十 ユニット ユニット建物内 カレントループ / カレントループ / UTP UTP 計測 計測 計測 数百 ユニット ユニット ユニット配電盤 電圧 数千 センサー センサー センサー センサー センサー
  13. 13. 13電力計測ユニット • 配電盤に一つ • 毎秒の電流・電圧値をデータ収集ユニットに送信 • 商用電流センサ4つ含む製造コストは約1万円と 安価 • 測定精度は国家標準に準拠することを保証 RJ-45 portClamp-on current sensor (max: 4) Signal processing board (dsPIC30F3013)
  14. 14. 16データ収集ユニット(1/2)• クラウド接続するためのゲートウェイとして動作• 最大32台の計測ユニットからデータを収集し、電力値を 計算 – UTPケーブル接続によるデータ通信および電力供給• 20秒分の電力値をまとめてGAEにpush送信 – NATの背後でも動作可能• 自動コンフィグレーション機能 電力計測ユニット(最大32台)と接続 インタネット経由でGAEと 接続
  15. 15. 17 データ収集ユニット(2/2) 電力計測 GAE ユニット RJ-45 ports x 32CPUボード(T-SH7706LSR)- SH3 Linux- Buildroot 2011.05- pmon.pyスクリプト シリアル・パラレル変換器 (Xilinx Spartan-3E)
  16. 16. 18産総研つくば・サーバ室 2011年8月後半より運用 フリーアクセスに設置 されたデータ収集ユニット クランプ型 電流センサ GAE 配電盤 電力計測ユニット
  17. 17. なんでGAEか?• 所内でサーバ立てるのが面倒だった• 将来収集ユニットが数十になった時にスケールさせる のが大変そう• バックアップが面倒• 将来複数の拠点からのアクセスがありうるのでファイ アウォールの中に置くことはできない • クラックされたりすると面倒。。。• 輪番停電も。。
  18. 18. 20Small start Go big Google App Engine Datastore4 電流センサ 32 ポート = 128 センサ データストア • センサは要求に応じて動的に追加可能 • GAEも負荷に応じてスケールアウト可能 ...
  19. 19. 21GAE上のデータ集計サーバ• データ収集ユニットから受信したデータを集約し、 計測点ごとの使用電力をデータベース化 • 1分ごとの秒単位のデータ(PowerMinite) • 20秒に1度のupdateリクエストで更新 • 1時間ごとの分単位のデータ(PowerHour) • GAEのタスクキュー機能を用いて、20秒に1度更新 バックグラウンドタスクで更新 • 1日ごとの時間単位のデータ(PowerDay) • 1時間ごとに起動されるcronタスクで更新• Slim3で実装
  20. 20. 内部データ構造 20 秒 分 20 秒 分 20 秒 分 PowerMinute PowerHour PowerDay
  21. 21. 23 REST API 一覧path method description/update POST 消費電力のアップロード/latest GET 最新の1分間の平均消費電力の取得/latest,N GET 最新N分の平均消費電力の取得/summary.s/YYYYmmDDHHMMSS,N GET 指定時刻からN秒の平均消費電力の取得/summary.m/YYYYmmDDHHMM,N GET 指定時刻からN分の平均消費電力の取得/summary.h/YYYYmmDDHH,N GET 指定時刻からN時間の平均消費電力の取得/query.s/LOC/YYYYmmDDHHMMSS,N GET LOCから始まる場所の指定時刻からN/query.m/LOC/YYYYmmDDHHMM,N GET 秒・分の平均消費電力の取得/unit-config/UNIT_ID GET コンフィグレーションの取得/unit-config/UNIT_ID PUT コンフィグレーションの設定
  22. 22. 24データ更新 各データ収集ユニットは20秒分の GAE xxx.appspot.com/update データをまとめてGAEに送信 POSTするJSONデータ例{ "id": ”UNIT_ID" "time": "1319837460” /* elapsed seconds from the UNIX epoch time */ "power": { /* data for the last 20 seconds per measurement point */ "sensor0.0": [VAL0, VAL1, VAL2, VA3, ..., VAL19], "sensor0.1": [VAL0, VAL1, VAL2, VA3, ..., VAL19], "sensor1.0": [VAL0, VAL1, VAL2, VA3, ..., VAL19], .... }}
  23. 23. 25 データ取得 アプリケーションは定期的に(1分) GAE xxx.appspot.com/latest,N GAEからデータを取得 GETで得られるJSONデータ例{ "time": “1319837460” /* epoch time */ "timeStr": “201110290631” /* human readabletime in JST */ "power": { "LOCATION0": [1234] "LOCATION1": [1234] "LOCATION2": [1234] "LOCATION3": [1234] "LOCATION4": [1234] ... } Viewer application}
  24. 24. 26可視化アプリケーション less than 90% of the upper limit less than 95% of the upper limit more than 95% of the upper limit Offlineウェブアプリケーション(HTML5) デスクトップアプリケーショ
  25. 25. 可用率 • 半年以上運用してきて、GAE原因で止まったことは多分無い • High replication 使用 • 他の原因で落ちたことは何度か • ネットワークの停止 • 収集ユニットの暴走3000 A B2500 C200015001000500 0 直近1月のあるセンサーの値
  26. 26. アクセス頻度• アクセス回数 0.8/s 強程度• 8 (集計ユニット) * 2(update + 分データへの昇格) /20s
  27. 27. 課金実績• 月10ドル前後
  28. 28. 課金内訳• データベース書き込み の課金がドミナント • 週42万回• 読み出しも週15万回 • アップデートのための読 み出し?• 1週間= 10080分 • 1分に15回
  29. 29. 課金の問題(?)点• 個人のクレジットカードに来る。。。• 立替払いで精算• GAE for Businessにすればいい? • でもそんなにつかうわけじゃないし。• 1週間ごとに〆なので請求が面倒くさい。• 月1を選べるようにしてください。。
  30. 30. まとめ• GAEはロギングにつかえるか?• 可用性 – 充分 • ネットワークの可用性のほうが問題• 課金 - 無料では無理 • インターバルを大きく取れば可能だろうが、セン サー側に負荷が • 月10ドルぐらいでOK
  31. 31. 謝辞下記の皆様に感謝します• センサーユニット担当• 高野了成氏、清水敏行氏• 電力計測ユニット担当• 村川正宏氏、河西勇二氏
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×