My online activities
検索
以前の記事
2013年 02月 2013年 01月 2012年 03月 2012年 02月 2012年 01月 2011年 12月 2011年 11月 2011年 10月 2011年 09月 2011年 08月 2011年 07月 2011年 06月 2011年 05月 2011年 02月 2011年 01月 2010年 12月 2010年 11月 2010年 10月 2010年 09月 2010年 08月 2010年 07月 2010年 06月 2010年 05月 2010年 04月 2010年 03月 2010年 02月 2010年 01月 2009年 12月 2009年 11月 2009年 10月 2009年 09月 2009年 08月 2009年 07月 2009年 06月 2009年 05月 2009年 04月 2009年 03月 2009年 02月 2009年 01月 2008年 12月 2008年 11月 2008年 10月 2008年 09月 2008年 08月 2008年 07月 2008年 06月 2008年 05月 2008年 04月 2008年 03月 2008年 02月 2008年 01月 2007年 12月 2007年 11月 2007年 10月 2007年 09月 2007年 08月 2007年 07月 2007年 06月 2007年 05月 2007年 04月 2007年 03月 2007年 02月 2007年 01月 2006年 12月 2006年 11月 2006年 10月 2006年 09月 2006年 08月 2006年 07月 2006年 06月 2006年 05月 2006年 04月 2006年 03月 2006年 02月 2006年 01月 2005年 12月 2005年 11月 2005年 10月 2005年 09月 2005年 08月 2005年 07月 2005年 06月 2005年 05月 2005年 04月 2005年 03月 2005年 02月 2005年 01月 2004年 12月 2004年 11月 2004年 10月 2004年 09月 2004年 08月 2004年 07月 2001年 01月 カテゴリ
全体 Math Science Book Log Misc Business Music IT Food Topic Movie Art Stat Politics Muttering Off Topic 未分類 ブログパーツ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
|
2010年 08月 04日
RとHadoopを併用する並列化ソリューションがようやく実用レベルのとば口の一歩手前まできたカンジがある。昨日発表があった、Revolution Analytics(旧REvolution Comupting)のRとHadoopインテグレーションは、並列化処理速度を目指したというよりは、Hadoopの分散ストレージ(HDFS)をうまく使ってテラバイトサイズのデータを解析できるようにしたソリューションだそうだ。
Revolution Analytics Brings Big Data Analysis to R with R http://bit.ly/cD1Pf9 ちなみにRevolution Analyticsとしては、以前の多コア対応を謳っていた並列化ソリューションであるParallelRもサポートをつづけるけれど、主力をこちらのほうにシフトするみたいだね。 いままでも、Amazon Web ServiceのEC2にHadoop乗せてRHIPEでRを統合したり、Amazon Elastic MapReduceにのストリーマーとしてRスクリプトを書いたりはできたのだけれど、数GB単位のデータならまだしもテラバイトはちょっとムリというカンジだったから、これでようやくエンタープライズレベルになってきたかもしれない。 RHIPE http://ml.stat.purdue.edu/rhipe Amazon Elastic MapReduce http://aws.amazon.com/elasticmapreduce/ これらのソリューションは、Rのコード自体ではほとんど並列化を意識することがないのだが、並列化を実装する並列化インフラ(HadoopやAmazon Elastic MapReduce)の能力に依存してしまい、効率的にマシンリソースが活用できなくなるという欠点がある。また、並列化インフラの機能制限によって実現ができない処理もあるかもしれない。 ただ、最近はAmazon Elastic MapReduceや以下のClauderaのHadoopディストリビューションがあるので、Hadoopインフラの構築コストが劇的に低下している。 http://www.cloudera.com/hadoop/ だから、HadoopとRをインテグレーションし並列化はHadoopに任せきる、というソリューションの将来はかなり有望になっていると思う。ただそれでも、巨大データをどう扱うか、計算中のログを効率よくとるにはどうするか、計算が途中で破綻したばあいその途中結果から再開させるのはどうするか、多段並列化はどう実装するか等、RをHadoopやAmazon Elastic MapReduceで統合するソリューションには解決するべき細かいことがたくさんある。 それに対して、もう一つのRの並列化ソリューションに、PVMやMPIをつかってRであっても並列化コードを書かせるソリューションがある。これは並列化コードにより多コアや複数マシンをエクスプリシットに使うという方針で、この方針で有名な実装にrpvmやRrmpiそしてsnowやsnowfall、Revolution Anlyticsのforeachなどがある。 rpvm http://cran.r-project.org/web/packages/rpvm/index.html Rmpi http://cran.r-project.org/web/packages/Rmpi/index.html snow http://cran.r-project.org/web/packages/snow/index.html snowfall http://cran.r-project.org/web/packages/snowfall/index.html foreach http://cran.r-project.org/web/packages/foreach/index.html これらのそれぞれに一長一短があって、どれも決定的ではないのだけれど、いまはsnowをベースに拡張したsnowfallの勢いがあるみたいだ。ただ、並列化コードを書かなければいけないソリューションは、マシンリソースを最大限に利用した効率的な計算ができるけれど、コードを書くのが大変だ。かなり良くできるコーダーでも、少し複雑な計算をしようとしたら一朝一夕ではいかなくなる。 いずれにしろ、Rはもともと並列化マシーナリーを言語としてサポートしていないから、並列化をインフラでやるのかコードでやるのかという、どちらのソリューションを採用するにしても、茨の道が待っているのは間違いない。というか、実際やるとわかるけれど、かなりツライ。このあたり、Erlangのような最初からコンカレントな処理をやることを意識している言語・フレームワークが本当に羨ましいと思う。Rを並列化させる試みはまだまだ始まったばかり、というのが現状の事態だと思う。
by yutakashino
| 2010-08-04 09:36
| Topic
|
ファン申請 |
||