2009年6月30日火曜日

大規模 Web サイトの内部アーキテクチャ

大規模 Web サイトの内部アーキテクチャについて語るサイト
http://highscalability.com/
http://highscalability.com/youtube-architecture

同志社大学 三木先生

同じ Innovative Computing Lab 出身の同志社大学ひろやす先生のブログ
http://mikilab.doshisha.ac.jp/~hiroyasu/diary2/

同志社大学を中心に行われている超並列計算研究会
http://www.is.doshisha.ac.jp/smpp/

研究室公開@工大祭 2009

今年10月下旬の工大祭で研究室を公開することになった。

ストリームコンピューティングのすごさを伝えるデモ

 昨日も松浦くんと森田くんと雑談したが、ストリームコンピューティングの凄さを伝える Visual なデモがあると良い。ストリームコンピューティングという計算パラダイムのシフトによって、今の世界がこんなにも変わる、というようなことが伝えられたらいい。以下は候補。アイデア募集。

- ストリームコンピューティングの概念的なデモ
- 大量データを実時間でオンメモリ上で処理する様子を写し、ストレージ容量の削減とリアルタイム性
  を削減する様子を視覚的に見せる
- (一般向け&うけねらい) 回転寿司

- ストリームコンピューティングの応用のデモ
 - StreamDNA: パーソナル医療への応用など。(もっと深める)
- StreamWeb:
    - SNAzzy で見せたような、CDR (Call Data Record) のグラフを
    リアルタイムに行う様子を見せる
- 数百万の人の群れの動きを可視化し、自分があるストリートを歩いていたら、自分の嗜好に合う
    イベント広告が配信される

VWAP

System S のサンプルには、VWAP (出来高加重平均価格) というアルゴリズムトレーディングで標準的に使われている実装があります

文部科学省競争的資金

文部科学省競争的資金へのリンク

2009年6月27日土曜日

StreamDNA 関連いろいろ

次世代シーケンサー関連プロジェクト
http://www.jba.or.jp/report/technology/mirai-bio/0812.html

SOLiD トレーニング
http://www.appliedbiosystems.co.jp/website/jp/event/eventpage.jsp?EVENTCD=131318

CBRC (産総研生命情報工学研究センター)のバイオインフォマティクス速習コース
http://training.cbrc.jp/modules/tinyd2/index.php?#c1
バイオインフォマティクス速習コース I 2009年 6月 4日~ 7月16日のうちの全10日(夜間)
創薬インフォマティクス技術者養成コース 2009年 8月 3日~ 7日・9月 7日~11日の10日間
バイオインフォマティクス速習コース II 2009年10月 1日~11月27日のうちの全10日

次世代シーケンサーの世界展開と日本の進む道 (イルミナ社 David Bentley)
http://www.yodosha.co.jp/jikkenigaku/podcast/9784758100434/sp200901.pdf

分子蛍光イメージング
http://tlo.wul.waseda.ac.jp/files/seedspdf/557.pdf

1時間で1000億塩基 (100GB) 読める。ヒトゲノム(60塩基) はわずか4分。10倍
呼んでも1時間足らず。
http://blackshadow.seesaa.net/article/87280446.html
ペタバイト級のストレージが必要?

各IT ベンダーの動き
http://www.ntts.co.jp/SO/so14/pdf/P09.pdf
オラクル-> http://www.oracle.co.jp/news_owa/NEWS/news.NEWS_PRINTER_VIEW?p_news_code=612


Next-Generation Genome Sequencing: Edited by Michael Janitz
遺伝子医学の最前線と次世代シーケンス: http://www.aeplan.co.jp/adv/j-igaku7z.pdf

Tesla の医療への応用

http://www.nvidia.co.jp/object/cuda_success_jp.html
http://pc.watch.impress.co.jp/docs/2008/0724/nvidia.htm

アセンブリなど

ショットガンアセンブラー(東大笠原先生講義)
http://mlab.cb.k.u-tokyo.ac.jp/~mkasa/upbsb2006/

スレッドの問題

http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.html

2009年6月26日金曜日

Tesla 用マシン到着

 Tesla C1060 (GPGPU カード)を挿すマシンが届きました!

クラウド研究会@IBM 渋谷

 昨日は森田君、松浦君、松岡研&GSICの佐藤さんとクラウド研究会に参加してきました。クラウドコンテスト、来年、何か出したいですね。今年は、DHT (Distributed Hash Table) 色がすごく強かったようですが、クラウド=DHT という暗黙の了解があるのが少し気になります。

 クラウドだと、なぜ DHT のような技術が必要なのでしょうか?「RDB (Relational Database) は 1CPU 毎にライセンス料がかかるため経済的にスケーラビリティがない」、「RDB だと画像などの非構造化データを扱いにくい。かつ関係データベースのような表ベースで管理しにくい」、「RDB はディスクベースなので、パフォーマンスが出ない」 等の問題が考えられます。

1番目の問題は当然オープンソースの RDB 製品を用いることで解決できます。Google は、あまり知られていませんが、MySQL のヘビーユーザーと言われています。2番目の問題は、Google の BigTable という技術などで解決できます。3番目の問題は、昨今 SolidDB などの製品で、オンメモリ上で RDB を実現する製品が出ており、解決できます。

 というわけで、DHT ではなくても、代替の手法が存在するわけです。また、DHT のスケーラビリティの規模が必要なサイトがどのくらい本当にあるのでしょうか? プライベートクラウド、パブリッククラウドという造語があるとしたら、DHT はどこをねらっているのでしょうか?いろいろ疑問が沸いてきます。もちろん、技術的には範囲指定ができない等の問題が存在していて、チャレンジングなのはわかります。

 最初の Motivation をしっかりと定めることが、良い研究と言えると思います。IBM の大和研究所の元所長であり、日本IBM の役員でもあった内永さんがおっしゃられたのは、「研究と趣味は表裏一体にある」という言葉です。あなたが、この1年やってきた研究は「趣味ですね」、なんて言われたとしたら、悲しいことですよね。これは是が非でも裂けたい。

 とにかく、重要なのは、「趣味」にならないために、研究の実作業を始める前、徹底的に、その研究は意味あるか?、新規性、実用性、進歩性があるか?を自問自答することですね。


2009年6月25日木曜日

StarBED プロジェクト

北陸先端大の StarBED プロジェクト。
http://www.starbed.org/

クラウド関係: Amazon S3

Amazon S3 は本当に安いか?という記事。
http://www.atmarkit.co.jp/news/200901/09/s3.html

System S の Sink アダプタを Amazon S3 にリダイレクトするものがあっても面白い。ただ、研究的にどうか?という問題もあるが。。。

松岡研 佐藤さん&國分さん来訪

松岡研究室の佐藤さん(現在 GSIC)、國分さんが研究室にいらっしゃいました。TSUBAME の利用方法に関するアンケートに答えましたが、TSUBAMEには、ぜひ、Amazon の EC2/S3 のような環境を提供してくれることを期待します。国立大学も法人化されたわけなので、これだけ大規模な計算環境を持っているのであれば、ぜひ、public (学外、民間、研究用途以外)にも公開するサービスがあるべきですね。

StreamDNA 関連

http://blog.dbcls.jp/portal/20081030.html

2008年10月の Nature に
"Focus on Next-Generation Sequencing"
という特集が組まれているらしい。

次世代シーケンサーの拠点形成
http://ec.nikkeibp.co.jp/item/seminer/01W0130108.html
理研が拠点に
http://blog.livedoor.jp/nttec2/archives/621195.html

2009年6月24日水曜日

World Wide Web 2010

2010年の 国際会議 World Wide Webの Web ページが以下のページで公開されているようだ。是非とも、今年もねらっていきたい。
http://www2010.org/www/
Call for Paper (論文募集のこと)はまだ。

2009年6月23日火曜日

AT&T

米国の AT&T も積極的に データストリーム処理の研究を進めています。
少し古いですが、VLDB 2003 にこんなチュートリアルもあります。
http://www.vldb.org/conf/2003/papers/S38P03.pdf

Internet Conference 2009, 8月10日締め切り!

鈴村がプログラム委員になっている Internet Conference 2009
の締め切りは 8月10日。10月26日(月)、27日(火)に京都
で開かれるようです。

http://www.internetconference.org/ic2009/cfp.html

Nikkei Techno

http://nikkei-techno.jp/
7月2日(木)の 16:40 から蔵前会館で説明会があるらしいです。
面白そうなので、行ってみましょう。

2009年6月18日木曜日

StreamIT

MIT のストリーム処理用言語

SEDA: ソフトウェアシステムのスケーラビリティ実現手法

SEDA (Staged Event Driven Architecture) : タイムシェアリングによるスレッドベース、プロセスベースの並行処理により大量クライアントからのロードを処理するには、限界がある。スレッド方式は、スレッドハンドリングのオーバヘッドが高い。イベントドリブンの並行性を実現するには、単一スレッドが有限状態機械を自前で制御する必要がある。

 上記の論文で提案しているSEDA とは、ソフトウェアをステージに分け、各ステージはキューによって、リクエストを投入。各ステージにはスレッドプールが存在し、その中のスレッドが処理。筆者らは、SEDA ベースの Web サーバー Haboob を実装。Apache Web Server と Flash Web Server と比較し、10%の性能向上を達成。

DSMS のプログラミングモデル

System S の現在のプログラミングモデルは、データストリーム処理に特化した言語である。データストリーム処理なので直感的に記述することができる。しかし、専用言語ではなく、通常のプログラミング言語から呼び出せないのかという質問を投げかける人もいるのも事実だ。

Ruby, PHP, Python などのプログラミング言語からシームレスにデータストリーム処理できるようにするのも一つの研究テーマになるであろう。

2009年6月17日水曜日

楽天技術研究所

 今日は千葉研(数理計算科学専攻)出身の西澤さんが勤める楽天技術研究所に、松浦君、森田君と訪問させて頂きました。ストリームコンピューティングの話しをしましたが、それなりに興味を持って聞いて頂いたように思います。実際に、ネット企業に勤めている人のご意見を伺えて少しは、StreamWeb の妥当性が目に見えてきたのではないでしょうか。また、お話しを伺いにいきましょう。

今日、紹介してもらった Fairy と ROMA 以外に、2600万商品と4800万人のレコメンドエンジン「万華鏡」、似ている画像を識別する検索エンジン「似姿」というものがあるようです。(参考サイト

ここここを見ると、大体の出店数が把握できるので、チェックしておいてください。

楽天で発表した資料はここ

データストリーム処理の投機処理

とりあえず、思いついたので、メモ。

データストリーム処理への QoS の指定

データストリーム処理上のアプリケーション開発者は、QoS を指定する。スループット、ストレージ容量の上限、レスポンスタイムの上限など。処理系は、その QoS に従って、適切なリソース割り当てや特殊なハードウェアへの割り当てを実行する.

ジョブ毎にプライオリティが存在しても面白い。

データストリーム処理とバッチ処理への動的リソース割り当て

 Web への応用を考えているのだが、DSMS の一つの応用はリアルタイムログ解析、ログ圧縮などである。しかしながら、トラフィックが少ない時には、DSMS に割り当てたハードウェアリソースもアイドル状態のままになる。データ解析は DSMS のみで完結するわけではなく、後処理としてやはり従来手法のバッチ処理が必要になる。よって、上記のアイドル状態のときは、バッチ処理にアイドル状態のリソースを割り当てる方が好ましい。一つの研究テーマとしては、これをダイナミックにコントロールするメカニズムを考案することである。

上記の考え方は、Web のみならず、様々なアプリケーションに適用可能なはずだ。

2009年6月14日日曜日

ACM/ICPC プログラミングコンテスト

http://sparth.u-aizu.ac.jp/icpc2008/index.php?lang=jp
有名なプログラミングコンテスト。東工大の学生も、何人か世界大会に進出しています。

未踏プロジェクト

未踏プロジェクト。世の中を変えるようなソフトウェアを作りたい、というチャレンジャーな方にはぴったりのファンドです。開発費が数百万単位でサポートされます。
http://www.ipa.go.jp/jinzai/mitou/koubo_index.html

未踏プロジェクト、未踏ユースがあり、後者は25歳未満が対象です。2009年下半期の申請は9月下旬から10月前半が締め切りです。競争率はもちろん高いですが、プロジェクト提案書などを書く練習にもなるはずです。IBM の東京基礎研究所にも、この未踏の経験のある学生が、何人か入ってきています。

Swopp 2009

今年の Swopp (国内の学会)は仙台であるそうだ。”クラウド”というキーワードがある論文がちらほら出てきたが、まあ、これは世の流れなのであろう。4年生を連れて行きたいが、さすがに院試の直前なのでちょっと難しいかな。

メモ

いくつかメモ。

EUCALYPTUS(http://www.eucalyptus.com/open/):  Amazon EC2 と互換のクラウド環境を実現する OSS のソフトウェア。UCSB (カリフォルニア大学サンタバーバラ校)のプロジェクト。2001年に米国テネシーでお世話になった Rich Wolski なども参画している。System S などの DSMS をクラウド環境で稼動させる実験を Eucalyptus 上で行うのも面白いのでは。(参考文献:ZDNET )

Amazon Elastic MapReduce(http://aws.amazon.com/elasticmapreduce/): Amazon の EC2/S3 上で MapReduce を動かすサービス。

Trac
(http://trac.edgewall.org/): Subversion とのインタフェース、Wiki などを包括したオープンソースのバグ追跡システム.

Google Code: http://code.google.com/hosting/
Google がプロジェクト管理システムを無償で提供。

KML : Google Earth の入力フォーマット
http://earth.google.co.jp/userguide/v4/ug_kml.html

クラウド研究会@オラクル

 先週の金曜日は森田君とクラウド研究会に参加してきた。IBM の CloudBurst のお話しと、オラクル、サンマイクロシステムズによるクラウド関連のアクティビティのお話し。CloudBurst は、WAS (WebSphere Application Server: IBM のWeb アプリケーションサーバー) などのパッケージを VMWare の仮想イメージにフリーズし、そのパターンをリポジトリに格納。VMware 社は同じように、複数の分散する仮想マシンを管理する製品を持っているだけに、その差別化を図る必要があるであろう。

オラクルのお話で、面白かったのは、オラクルは決して、「クラウド」という用語を使ってはいけないという社内方針があること。オラクルの創業者である、ラリーエリソンがクラウドという用語を嫌っているためらしい。うーん、私も実は少し納得。といっても、CLOUD 2009 (http://www.thecloudcomputing.org/2009/2/organization.html) という国際学会のプログラム委員になったので、少し考えを改めて推進派にならないといけないとは思っている。。。。

2009年6月11日木曜日

DSMS におけるデータと処理の分類

以下、DSMS における対象データの分類と、処理の分類を行う。

[対象データの分類
]

構造化データの処理
- 株価データ (データ形式: 企業名、時刻、株価)
- 通信会社の通話記録 CDR (Call Data Record)(データ形式: Caller ID, Called ID, 通話時間 など)
- GPS データ (位置情報): 携帯電話、車等 (データ形式: デバイスID, 緯度、経度)
- DNA シ-ケンサーからの塩基配列 (データ形式: ATCG からなる 50~100の塩基配列)
- イベントデータ: 

非構造化データの処理
- テキスト(自然言語): ブログ
- 音声
- 画像 (非圧縮画像 TIFF など)


構造化データと非構造化データの上記組み合わせ

[分析処理の分類]

軽量処理
- 平均、最大値、最小値 (SPADE の built-in オペレータで OK) ; Window 処理
- 判定処理: 到着データがある閾値である場合 (Functor 処理)

重量処理 (UDOP で書かれる)
- 異常値スコアの計算 (行列計算など.ただし、Sliding Window のサイズによっては非常に小さな行列を計算する場合もあり、軽いこともある)
- 塩基配列の Sequence Matching

DSMS と GPU との相性

本日は GSIC にて GPU 講習。松浦君、森田君、B3 の老木君、そして鈴村が参加。有益な一日になってくれたことを期待します。

 少し冷静になって、DSMS と GPU との相性を考える必要がありますが、計算が比較的軽く、低レイテンシが必要なアプリケーションは、CPU と GPU のデータ転送のコストがネックとなるため、向かなさそうです. アプリケーションの種類としては 以下のA~D がありますが、B, C が DSMS に向くのでしょう。

A) 計算が軽い。低レイテンシが必要
- 例) アルゴリズムトレーディング。1msec のレイテンシを争う。
B) 計算が軽い。レイテンシはそこまで重要でない。
- 例) 株の移動平均線
C) 計算が重い。レイテンシは低い方がよい
- 例) 画像解析、音声解析. 異常解析(O(N^3) の固有値問題などを解く等)
D) 計算が重い。レイテンシはそこまで重要でない
- DSMS である必要がない。従来のバッチ型処理で良い

アプリケーションによって、要求するレイテンシがある程度決まっていると思うので、実行時にそれを指定して、その範囲内で、CPU と GPU の実行をバランスさせるのも面白いです。

2009年6月10日水曜日

StreamDNA に関して

エントリの続き。

Sequence Alignment の GPU による高速化は既知。よって、System S のような分散 DSMS において、どのようにスケールさせるかがキーとなるであろう。

- 膨大な短い塩基配列をどのように複数のノード(もしくは複数の GPUノード)に分散させるか?単純に並列化できるのか否か?
- SPADE で記述するのは Straightforward か?バイオインフォマティックスの専門家にとって、どのようなプログラミングモデルが一番適切か?

2009年6月9日火曜日

GPU を用いた DSMS のスケールアウト処理

以下、研究テーマ。

研究概要

近年の DSMS 処理の研究では System S などを代表として、分散処理によるスケールアウト技術が注目されている。しかしながら、スケールアウトを実現する手法としては、現在の所、ノードレベルでしか考えられていない。本研究では、GPU の超並列コアによるスレッドレベルの並列化と Stream Processor による命令レベルの並列化を組み合わせることで、DSMS におけるスケールアウトを実現する手法を提案する。また、System S のプログラミングモデルである SPADE をそのまま踏襲し、そのコンパイラを拡張することによって、下位のハードウェアやスケールアウトの実現方法を隠蔽し、アプリケーション開発者から透過的に実現する。

本研究の評価として、YY 種類のXX 億個の株価データ(合成データ)を用い、ZZ 個のウィンドウサイズ(スライドサイズ 1)に対して移動平均、最大値、最小値を計算する。このウィンドウ処理は DSMS における典型的な処理であり、応用範囲は広く、 例えば、金融の分野における株価分析、通信会社の通話時間分析などが挙げられる。通常の CPU (1ノード、2~4 core、SSE 命令使用)、GPU 版 (1ノードのみ)、複数ノード (4ノード以上)を用いてそれぞれスループットを求め、GPU が明らかに最高性能が得られることを目指す。

本研究の Contribution は以下の通りである
- ストリーム処理と GPU 処理の組み合わせ
これはまだ未開拓の分野である。
- GPU 上で実現することによる性能最適化手法
CPU から GPU へのデータ転送時間と GPU 上の計算時間をオーバーラップさせることにより、通信のレイテンシを省く. また、その他の実装上の工夫について述べる。
---------------

この研究の続き
- アプリケーションの例としては移動平均であるが、国際論文として通すためにはもう一つアプリケーション例があると更に良い

2009年6月8日月曜日

グリッド環境における TCP

SACSIS 2009 の TCP に関するチュートリアル。非常にまとまっている良い資料だ。
http://www.hpcc.jp/sacsis/2009/SACSIS2009_TCP.pdf

計算基盤

科研の「情報爆発 IT 基盤」のプロジェクト計算基盤である InTriggerは我々も利用することができます。 https://www.intrigger.jp/registration/ のページでユーザー登録を行ってください。

我々の計算環境としては、
- TSUBAME (64 CPU)
- 松岡研究室クラスタ
- InTrigger
- Condor クラスタ (リリースされ次第)
になりました。

2009年6月2日火曜日

プロダクティブリーダー養成講座

http://www.productiveleader.jim.titech.ac.jp/application/index.html

留学支援制度

以下の公募があるようです。
http://www.iad.titech.ac.jp/studyabroad/top

2009年6月1日月曜日

演習発表お疲れ様です

二人とも今日は英語で発表しました。お疲れ様!
英語の発表はまだまだ慣れないと思いますが、これを重ねていくと慣れていくはずですよ。頑張ってください!