グーグル、フル機能のMapReduceをGoogle App Engineで提供へ

2011年5月23日

グーグルは同社のクラウドサービスであるGoogle App Engineで、フル機能のMapReduce機能を提供することが同社のイベントGoogle I/O 2011で明らかにしました。

appengine-mapreduce

これまでGoogle App EngineではMapReduceを構成する「Map」「Shuffle」「Ruduce」の3つのうち、Mapperの機能の提供が行われてきました。

Google I/O 2011で行われたセッション「App Engine MapReduce」では、MapReduceを構成するすべての機能の提供が行われることが発表されています。

セッションのポイントを紹介しましょう。

App Engine MapReduce

App EngineエンジニアリングチームのMike Aizatsky氏。

fig

MapReduceは数年前にグーグルが開発した処理。社内ではほとんどあらゆるチームがこの処理を利用している。Androidのチームでも使っていると思う。

MapReduceは、「Map」「Shuffle」「Reduce」と呼ばれる主要な3つのステップから構成される。

fig

MapReduce処理を一般に利用してもらうには、グーグル社内で行っているMapReduceをApp Engineで公開すればいいように思えるが、そこにはいくつかの課題がある。

例えば、App Engineでは非常に多数のアプリケーションが動作しており、多くのユーザーがMapReduceを同時に実行するとスケーラビリティに問題がでてくる。

もう1つは分離の問題。利用者ごとのMapReduceを完全に分離しつつ高い性能を実現しなければならない。

fig

グーグル社内のオリジナルのMapReduceは、可能な限り高速に実行するようにできているが、一般ユーザーではMapReduceを走らせて15分でその日の自分の利用容量の限界に達し、あとはApp Engine上のほかのアプリも全部処理が止まる、というわけにはいかないだろう。利用率の上限を設定する必要がある。

だからできるだけゆっくりMapReduceを実行するという要求もあるはずだし、悪意のあるユーザーも防がなければならない。

fig

昨年、2010年のGoogle I/OでMapper Libraryを発表し、多くの開発者に利用してもらっている。

これをさらに改善し、コントロールAPIを追加、ネームスペースをサポートするなどした。

fig

さらにShuffler機能もオープンソースで公開する。Python版は今日公開、Java版もまもなく公開する。

これは100MB程度の小さなデータを対象に、インメモリで動作し、タスクドリブンな機能を提供するものだ。

これによりMapper LibraryはもはやMapperでなく、MapReduceライブラリとなる!

fig

これが実際に走らせたときの動作。新しいUIでマルチステージを表示している。

fig

まとめると、コードを公開し、App Engineで今日から中小規模のMapReduce処理はだれでも実行できる。

fig

もしも大規模な処理を実行したい場合は連絡してほしい。

このエントリーをはてなブックマークに追加
follow us in feedly

タグ : Google , Google App Engine , MapReduce



≫次の記事
プリウスがつぶやきでユーザーと会話する。トヨタとセールスフォースが提携
≪前の記事
IBM、インテル、ヒューレット・パッカードらがオープンソースの仮想化「KVM」を推進。Open Virtualization Allianceを結成

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



Publickey 最新記事 10本

Publickey Topics 最新記事 10本


PR - Books


fig

fig

fig

fig



blog comments powered by Disqus