デジタル人材の育成
勝屋 久(Venture BEAT Project 主宰)
チーフクリエータ
人見 琢也(株式会社アスピレーション 代表取締役社長)
コクリエータ
なし
Web業界ではAmazonやGoogleといった企業が自社の持つ巨大な分散フレームワークを
自社のサービスを提供するためだけに使用するのではなく
WEBAPIなどを通して積極的に外部に公開することで新たな市場を開拓しようとする潮流が存在する。
現在提供されているのはデータベース機能や,あるいは仮想的なサーバ環境を提供するものに
限られているが、今後はその分散処理フレームワークを提供するようなサービスの出現が予想される。
GoogleではMapReduceと呼ばれる分散処理フレームワークを使用していることが知られているが、
このようなフレームワークを一般のユーザが使用して最大の性能を引き出すためには
ユーザがフレームワークに熟知していて、自身のプログラムをフレームワークに合うように
プログラミングする必要がある。そうしてなお本当に作成したプログラムが最適なものであるかどうかわからないという問題がある。
そこで本提案では
関数型の言語で書かれた一般的なプログラムを入力として受け取り
それをプログラム融合変換という手法を用いて、分散処理しやすいような性質を保ったまま
関数間で受け渡しされる中間データが最小限になるように自動的に変換し、
変換後のプログラムに対して分散処理計画を動的に決定し分散処理をおこなう分散処理環境の開発を提案する
具体的な開発項目は大きく分けて以下の2つからなる
一般的な関数型言語で書かれたプログラムを入力として受け取り
それに対してプログラム融合変換を施すエンジン
融合変換されたプログラムを入力として受け取り
動的に分散処理戦略を決定する分散処理マネージャ
サービス運用上の都合から一般ユーザからは関数型言語の部分は
GUIプログラミング環境をを用いて作成されることを想定するが
GUIで作成されたプログラムはインタープリターによって内部表現に変換され
保持されるので入力をGUIに限定しても一般性を失わない
なおこのGUIプログラミング環境はすでに完成しておりhttp://myremix.jp/において
一般にすでに公開されているため、本プロジェクトの開発項目には含まない
なお本プロジェクトの成果物を用いたアプリケーション例として
等を想定している
Web業界の世界的リーディングカンパニーであるAmazonやGoogleは巨大な分散処理フレームワークを使って、各種のサービスを提供しているがWebAPIを通して自社だけでなく分散処理フレームワークを提供するようなサービスの出現が予想される。分散処理フレームワークを使いこなすためには最適なプログラミングができるSKILLを必要とされる。本提案プロジェクトは実行するプログラムをフレームワーク上で高速に処理されるように自動的に変換する分散処理フレームワークの開発であり、将来のビジネスオポチュニティを見越して、非常に挑戦的であるが試みる価値はあると考えられる。未だ競合しそうな対象はなく、未踏のテーマとしても良いと考えられる。