ラベル cloud の投稿を表示しています。 すべての投稿を表示
ラベル cloud の投稿を表示しています。 すべての投稿を表示

2011年5月26日木曜日

[ElasticCloud] SACSIS 2011 石井君発表終了

 石井君、お疲れ様でした。次は CLOUD 2011 での英語発表ですが、頑張りましょう。

2011年4月14日木曜日

SOCC

SOCC: ACM Symposium on Cloud Computing
http://socc2011.gsd.inesc-id.pt/
Submission Deadline: April 30, 2011
Acceptance Notification: July 11, 2011

2011年4月9日土曜日

[ElasticStream] システム構成と実験方法

以下石井君の ElasticStreamシステムの構成と実験方法です。

//---------------------------------------------------------------------------------
// ElasticStream システム 構成と実験方法
// 2011/04/08 石井
//---------------------------------------------------------------------------------

- se01 を esther から wake-on-lan で起動 --> /usr/local/bin/wol.py se01
- se01 (このノードだけ外部からのコネクションを受け付ける。萩原さんにお願いしている。有効期限は2011年3月まで)を wake-on-lan で起動

<初期ディレクトリ構成>
ElasticStreamSystem
-elasticStream //ローカルに配置する設定ファイル群。今までは/tmp/elasticStream の様に配置
-spade //SPADE用プロジェクトファイル
-ec2 //Amazon EC2に関するデータ、及びRubyスクリプト群。

上記ディレクトリをコピー。
ec2/*.id の権限は注意


<ノード定義>
se01: *.dpsを実行するノード。、ResultGetterもこのノードで起動
st系など: 計算ノードとして使う。

<事前準備>
・elasticStreamフォルダ(入力ファイル、出力ファイル、設定ファイル)を /tmp/elasticStream のようにローカル上に配置。
・spade/data/result -> <ローカル上に配置したelasticStreamディレクトリへのパス>になるようにリンクを設定。

このような感じで、.bashrcにパスを通しておく
目的はEC2-API-toolへのパス、鍵・証明書の場所、デフォルトのリージョンの場所など

//---------------------------------------------------------------------------------
以下の環境変数を .bashrc に追加
export EC2_HOME=$HOME/ec2/ec2-api-tools
export PATH=$PATH:$JAVA_HOME/bin:$EC2_HOME/bin:/usr/local/cula/bin:/usr/local/cuda/bin
export EC2_PRIVATE_KEY=$HOME/ec2/pk-D4I5F3YSJGEX46MXYBRSGAEWPZTIF5BD.pem
export EC2_CERT=$HOME/ec2/cert-D4I5F3YSJGEX46MXYBRSGAEWPZTIF5BD.pem
export EC2_URL="https://ec2.us-west-1.amazonaws.com" ### デフォルトリージョン。東京のデータセンターに書き換えるときは Amazon EC2 のサイトを参照。明示的に API でリージョンを指定する必要がある。現在は Ruby スクリプトに書いている。


// ※鍵は同梱のec2フォルダに入っているのでそれへのパスを与える。
  // デフォルトのリージョンはこの場合はUS-West
//---------------------------------------------------------------------------------

<設定ファイル解説>
//---------------------------------------------------------------------------------
sla.dat (/tmp/elasticStream/input/に存在。他の設定ファイルも同様の場所に存在)
//---------------------------------------------------------------------------------
  動作の設定ファイル
[1行目]
  ・SLAとなるレイテンシ(マイクロ秒)(今回は使わない)
[2行目]
  ・TimeSlotの時間幅
[3行目]
  ・スタンドアローンモードで起動するか否か(1:スタンドアローン, 0:非スタンドアローン)
  ※スタンドアローンモードではVM Managerを起動せず、クラウド環境を利用しなくなる。

//---------------------------------------------------------------------------------
node_[local/cloud]_*.dat
//---------------------------------------------------------------------------------
  計算資源のホスト名のリスト(インスタンスタイプのカテゴリ毎にある)
各行がホスト名。
#でコメントアウト可能。
*** あらかじめ EC2 上でノードを立ち上げている場合には、node_cloud にそのホスト名を指定
//---------------------------------------------------------------------------------
setting.dat
//---------------------------------------------------------------------------------
  各種設定ファイル。
[1行目]
  ・TimeSlotの時間幅(予想済みデータレートを与えるので使用しない)
[2行目]
  ・データレートの時系列変化を表す入力ファイル名(ファイルの中は1秒ごとのタプル送信数のcsv)
[3行目]
  ・入力ファイル名
[4〜8行目]
  ・データレートの振り分け比率の初期値
  (インスタンスタイプのカテゴリ毎: local_1, local_2, Cloud_1, Cloud_2, Cloud_3 の順番)


*** 前準備
- コンソールを4つ(?)起動 (3つは se01, 1つは st07 (ローカルの計算ノード))
//---------------------------------------------------------------------------------

<起動方法>
・ローカルの各計算ノードでElasticStreamSystem/ec2/4regex.rb(Stableな計算スクリプト)を実行(引数は0(↑のインスタンスタイプのカテゴリの番号), 5000(内部の負荷forループの周回数))
※0,5000は以前の実験で使った値なので基本的には0,5000を引数として与えれば良いです。
# ruby 4regex.rb 0 5000
(ポート番号 10101 でコネクションを待っている状態になる)

・システム起動ノードでresultGetter.rbを起動(引数は10101(入力ポート), 12000(出力ポート, System S の Source (client) オペレータに渡すポート))
# ruby resultGetter.rb 10101 12000
** System S が起動するのを待つ

・deus.rbを起動(引数なし)(各TimeSlotの平均データレートを与えるスクリプト。FutureDetectionの代わり)
# ruby deus.rb
System S の Optimizer オ (UDOP) の前の Source のポート番号 11111 に接続

・xVMManager.rbを起動(引数なし)(VM管理スクリプト)
# ruby xVMManager.rb

・以上のすべての起動を確認したら、submit_job*.shでSystem Sのジョブを起動
 ※クラウド環境との通信は、xVMManager.rbが自動で行ってくれる(はず)(2011/04/08時点では未テスト)
** ./start_streams.....sh を最初に起動
** ./canceljob__.sh
** 5分経過するとクラウドにつなぐ
** Amazon EC2 のVMインスタンスはマニュアルで停止する必要があるときがあるので注意
・終了する場合は、cancel_job*.shでSystem Sのジョブを止めた後、残りのRubyスクリプトを落とす


//---------------------------------------------------------------------------------

<実験結果>
・結果はすべて、<ローカルのelasticStreamディレクトリ>/data 以下に出力される

//---------------------------------------------------------------------------------
DataRate.csv
//---------------------------------------------------------------------------------
System S側で測定したデータレート

//---------------------------------------------------------------------------------
FutureDetection.csv
//---------------------------------------------------------------------------------
FutureDetection コンポーネント(現在はSDARアルゴリズム)の出力

//---------------------------------------------------------------------------------
Latency_*****.csv
//---------------------------------------------------------------------------------
レイテンシの実測値。各タプルのレイテンシの、1秒ごとの平均。
  ALLはすべてのタプル、Local_*, Cloud_*はローカル計算資源、クラウド資源ごとの平均。
実験データとしてはALLを用いた。

//---------------------------------------------------------------------------------
Log_***.csv
//---------------------------------------------------------------------------------
各コンポーネントのログ出力。
エラー出力などもここに出力される。

//---------------------------------------------------------------------------------
Result.csv
//---------------------------------------------------------------------------------
正規表現マッチングでヒットしたタプル(JSONファイル)の"text"要素の出力
正常動作の確認用。

// SSH の設定 - パスフレーズの設定
.ssh/config というファイルを作り、以下の内容を書き足す
host *
StrictHostKeyChecking no

// AWS 管理コンソール
suzucommon@gmail.com /

Region を US West に指定
インスタンス:
stop(使い回す, pending/resume、EBSから消去しない. ただ EBSのストレージ使用量はかかる) ではなく、terminate(EBSからVMインスタンスを消去する)の状態にする.
./cancel したら terminate する。



2011年4月2日土曜日

[StreamCloud] IEEE Cloud 2011

石井君の論文が IEEE CLOUD 2011 (The 4th International Conference on Cloud Computing) に採択されました。おめでとうございます!採択率は 36/196 (18%) でした。

2011年3月12日土曜日

[StreamCloud] 関連論文

Balancing Load in Stream Processing with the Cloud
http://lsds.doc.ic.ac.uk/research/doc/smdb11-cloud_streaming.pdf

Stream processing systems must handle stream data coming from real-time, high-throughput applications, for example in financial trading. Timely processing of streams is important and requires sufficient available resources to achieve high throughput and deliver accurate results. However, static allocation of stream processing resources in terms of machines is inefficient when input streams have significant rate variations— machines remain underutilised for long periods of average load. We present a combined stream processing system that, as the input stream rate varies, adaptively balances workload between a dedicated local stream processor and a cloud stream processor. This approach only utilises cloud machines when the local stream processor becomes overloaded. We evaluate a prototype system with financial trading data. Our results show that it can adapt effectively to workload variations, while only discarding a small percentage of input data.

2011年3月9日水曜日

[StreamCloud] SACSIS採択

石井君の論文が査読付き国内会議 SACSIS2011 に採択されました。おめでとうございます。

2011年3月5日土曜日

DEBS - ACM Conference on Distributed Event Based System

DEBS 2011 http://debs2011.fzi.de/

過去の DEBS のストリーム関連の論文。

DEBS 2010 http://debs10.doc.ic.ac.uk/
- Scalable, Elastic Distributed Stream Processing, David Alves
- Semantic Quality-Assurance in Distributed and Heterogeneous Stream Processing Systems
- Processing out-of-order event streams in ETALIS
- StreamNetFlux: Birth of Transparent Integrated CEP-DBs (demo)
- Flood: Elastic Streaming MapReduce (demo)
- Placement of Replicated Tasks for Distributed Stream Processing Systems (IBM Watson)
- Workload Characterization for Operator-Based Distributed Stream Processing Applications (IBM Watson)
- Evaluation of Streaming Aggregation on Parallel Hardware Architectures


DEBS 2009 http://debs09.isis.vanderbilt.edu/
- Distributed Event Stream Processing with Non-deterministic Finite Automata
- Implementing Reliable Event Streams in Large Systems via Distributed Data Flows and Recursive Delegation
- Processing Publish/Subscribe Queries over Distributed Data Streams (

DEBS 2008 http://debs08.dis.uniroma1.it/
- Replica Placement for High Availability in Distributed Stream Processing Systems
- Real-Time, Load-Adaptive Processing of Continuous Queries Over Data Streams

DEBS 2007 http://www.debs.msrg.utoronto.ca/
- Mythbusters: event stream processing versus complex event processing, Invited Talk, Tim Bass
- High frequency distributed data stream event correlation to improve neonatal clinical management
- A practical approach for enabling online analysis of event streams
- Persisting and querying biometric event streams with hybrid relational-XML DBMS

2011年3月3日木曜日

[StreamCloud] 情報処理学会全国大会発表終了

石井君の情報処理学会全国大会@東工大の発表が終了。お疲れ様でした。

以下、指摘された点などを含めて、今後やるべきことを列挙
- 負荷予測アルゴリズム(SDAR)の向上とそれと組み合わせた実験を行う。負荷予測アルゴリズムの説明は必須。松浦君の StreamDS に関するロードバランシングに関する論文を読む。
- データストリーム処理以外の研究分野における類似技術の列挙とそれらとの差異
- Timeslot の概念と、 Amazon EC2 が現在定めている1時間単位の課金、の乖離の説明及び対応
- どのようなリアルタイム性が必要なアプリケーションかを定量的に明確にする
- 評価アプリケーションの種類を増やす。実験の大規模化。


[StreamCloud] Amazon 東京上陸

Amazon のデータセンターが東京にも作られました。
http://aws.amazon.com/jp/about-aws/whats-new/2011/03/02/announcing-asia-pacific-tokyo-region/

2010年12月14日火曜日

[StreamCloud] 学会投稿予定

以下、StreamCloud の学会投稿予定

IEEE Cloud 2011 (http://www.thecloudcomputing.org/2011/cfp.html)
- Submission: January 20 (abstract) and 31, 2011
- Notification : March 15, 2011

IEEE CloudCom 2011 (3rd IEEE International Conference on Cloud Computing Technology and Science)
- Submission : August 21, 2011,
- Notification: September 26, 2011

2010年11月25日木曜日

Amazon Web Service の記事

玉川さんによる Amazon Web Service の記事

2010年9月1日水曜日

有害 Tweet リアルタイム監視

データストリーム処理が応用できる例

http://japan.internet.com/busnews/20100831/5.html

"利用者のツイートが掲載される企業のキャンペーンページなどに無関係な宣伝や公序良俗に反するツイートが投稿された際は、リアルタイムでブロックしたり、メールでアラート"
"オプションで、ハッシュタグや一般キーワードの監視、商品購入を薦めるフレーズなどの自動ピックアップ機能"

2010年7月26日月曜日

[StreamCloud] 関連論文

先日フロリダで行われた国際学会 Cloud 2010 で、StreamCloud プロジェクトに関連するであろう論文一覧です。詳細はhttp://www.thecloudcomputing.org/2010/IEEE-ICWS-SCC-CLOUD-SERVICES-AdvanceProgram.pdfを見てください。

- Understanding Performance Interference of I/O Workload in Virtualized Cloud Environments (CLOUD2010-3007), Xing Pu
- Performance Measurements and Analysis of Network I/O Applications in Virtualized Cloud (CLOUD2010-3008), Yiduo Mei
- Integrating Resource Consumption and Allocation for Infrastructure Resources On-Demand (CLOUD2010-3010), Ying Zhang
- Mining Twitter in the Cloud: A Case Study (CLOUD2010-3014), Pieter Noordhuis
- Maximizing Cloud Providers' Revenues via Energy Aware Allocation Policies (CLOUD2010-3017), Michele Mazzucco
- Workload Migration into Clouds . Challenges, Experiences, Opportunities(CLOUD2010-3020), C. Ward
- Performance and Power Management for Cloud Infrastructures (CLOUD2010-3042), Hien Nguyen Van
- Optimal Resource Allocation in Clouds (CLOUD2010-3053), Fangzhe Chang
- Fault Tolerance Middleware for Cloud Computing (CLOUD2010-3009), Wenbing Zhao
- Using Cloud Technologies to Optimize Data-Intensive Service Applications (CLOUD2010-3003)
Dirk Habich

2010年6月11日金曜日

Internet Conference 2010


研究室からは以下の論文を提出したいと思います。

西井君: StreamSR の話
石井君:StreamCloud の話

こちらもがんばりましょう。

2010年6月10日木曜日

[StreamCloud] Eucalyptus の内部アーキテクチャ

Eucalyptus の内部アーキテクチャに関して、もう少しどのようなアーキテクチャ構成になっているかを調べていきましょう。An Assessment of Eucalyptus Version 1.4 (PDF) は1年前のものなので、1.6.2 では大幅に改善されていると思いますが、少し参考になります。

- CLC (Cloud Controller), CC (Cluster Controller), NC (Node Controller) は Web Service として実装されており、WSDL (Web Service Description Language) が存在する。CLC-CC 間、および CC-NC 間はSOAP over HTTP で通信しており、eucalyptus.conf のデフォルト設定では、WS-Security が有効になっているので、暗号化して通信が行われている

- Amazon S3 (ストレージサービス) に相当する Walrus はどのように実装されているのでしょう。これも上記のドキュメントには Web サービスとして実装されていると記述されています。

- EMI (Eucalyptus 用のイメージ)の CC から NC への転送、NC 側でのキャッシングポリシー、そして、CLC/CC 側での元の EMI イメージとの同期方法がまだよくわからないので、これも調べてください。

2010年6月9日水曜日

[StreamCloud] System S on Eucalyptus 1.6.2

Eucalyptus 1.6.2 を tesla (Cloud Controller と Cluster Controller) と st00 (Node Controller) にインストールし、System S が Eucalyptus から立ち上げた VM インスタンス上で動くことを確認しました。これでこのプロジェクトは一歩前進したと言えるでしょう。

エンジニアリングなシステム構築は見えてきましたが、これからしっかりと、リサーチ的な新規性を考えていかないといけないでしょう。

ちなみに、rpm ではなく、ソースをダウンロードしてみました。 メインのほとんどが Java で書かれていますね。Cluster Controller / Cloud Controller のスケジューラーの部分は未成熟だと Eucalyptus に書かれているので、その部分に手を入れても面白いでしょう。

2010年4月19日月曜日

[StreamCloud] アーキテクチャ考察

StreamCloud の System S 上での実現方法を石井君と議論を行ったので、そのメモを記す。現行の System S では、ホストの動的な削除は可能だが、ホストの動的な追加はできない(正確には、インスタンスへのホストの追加は streamtool addhost コマンドで可能だが、新たなホストには PE が割り当てられない)。この制限はクラウド環境を用いて、データが低レートの時は System S が稼動する VM をsuspend し, bursty な状況においては その VM をresume するようなシステムを構築する際に問題となる。

この問題を(比較的きれいに)解決するため、以下の図のように System S/SPADE の import/export 機能を用いた疎結合なアーキテクチャ構成を考える。

 要はモノシリックな SPADE アプリケーションにしてしまうと、現行の System S の機能では新たに追加されたホストへのデータ供給が難しい。しかし、import/export を用いれば、データを受信しスケジューリングするコンポーネントと、計算側のコンポーネントを分離でき、必要なときにクラウド側の計算用 SPADE ジョブを立ち上げ、import 機能でデータを取り込むような構成にすれば上記の問題が解決される、というわけだ。但し、実装上、本当に可能かはより詳細な検討・検証が必要であろう。


Job Scheduler の役割と、ジョブが処理されるまでの流れは以下の通り。
  1. ホストとストリーム番号のマッピングテーブルの管理:  UDOP の出力ストリームは物理ホストを指定することができないので、Job Scheduler (UDOP) では、内部で出力ストリーム番号(以下、ストリーム番号と省略する)とホスト名をマッピングするテーブルを持たせる。このテーブルには、その他にも、スケジューリングアルゴリズムのために必要な各ホストの属性情報(CPU,メモリ、OS,動的負荷情報、メモリ使用量, レイテンシの平均及び分散、クラウド環境のホストかどうか)を持たせる。

  2. バースト度合いの計算: Job Scheduler はデータ到着レートを見てバースト度合いを計算。LAN 内のクラスタで処理できる量かどうかを調べる。

  3. バーストでない場合: 2の計算にてバーストでないと判断された場合には、Cluster Load Management Component (Python などのスクリプト言語を用いた軽量実装) からストリームとして流れる各ホストのロード情報を用いて、データを投げるホストを決定。決定したホスト名に相当するストリーム番号を上記のテーブルから引いてきて、データとプロパティをセットし、ストリームをexport する。export のプロパティは、クラウド環境も含めた一意の ID とする。

  4. バーストな場合: 2の計算にてバーストと判断された場合に、Cloud Controller (こちらも 同じく Python などのスクリプト言語を用いた軽量実装とする)に指令を出す。Cloud Controller はあるポート番号にて Listen しており、Job Scheduler からの指令を待つ。クラウドに対する VMM の管理コマンドが Job Scheduler から発行された場合には、Amazon EC2 や Eucalyptus などのクラウド環境に対して REST API を用いてその管理コマンドを発行する。また、VM の resume 時には、その VM にて System S のジョブが実行されるように、ジョブをサブミットする。計算側でのジョブは、import でデータを取り込み、処理を開始する。VM の suspend の際にはジョブキャンセルを実行する。
 ちなみに、Cluster Load Management や Job Scheduler の機能は、System S の管理デーモンである SRM (Streams Resource Manager) や SCH (Scheduler) と同等の役割を果たしており、それらのデーモンを改変、拡張すれば良いのではとの指摘を受けると思われるが、そのような指摘に対して事前に対応するため、素直に前提条件として、「管理デーモンを改変することができない」ことを述べた方が良いだろう。

 ただし、クラウドを用いた Elastic なデータストリーム処理という考え方、及びそれらのスケジューリングポリシーを提案することが、本研究の Contribution であることを強調し、今回 SPADE 上でアプリケーションレベルで実装したのとは本質的な差はないことを述べれば良い。

2010年4月18日日曜日

Burst Detection

データストリームに対するバースト検出に関する論文。StreamDS, StreamCloud 及び StreamAlgo に関係してきますので、要チェック.

  • Adaptive Burst Detection in in a Stream Engine (PDF)
NYU (New York University) のDennis Shasha のグループの論文
  • Better burst detection, ICDE 2006
  • Efficient Elastic Burst Detection in Data Streams, SIGKDD 2003
  • Statistical monitoring of thousands of data streams in real time, VLDB2002

2010年4月8日木曜日

[StreamCloud] ベンチマーク

VMWare が無償で提供する仮想化環境ベンチマークソフト VMMark

SPEC (パフォーマンス決めの標準化団体)にもプロトタイプを寄贈している。

2010年4月7日水曜日

[StreamCloud] Amazon EC2

Amazon EC2 の SLA (Service Level Agreement) や課金体系、Reservation 機能の有無などをざっと調べてみましょう。
http://aws.amazon.com/ec2/