email
translate menu

Speed up your Batch Processing

M3 for Batch Processing

M3 for Batch Processing

Asakusa Framework™の適用範囲を拡張し、さらなる高速化とTCO削減を実現

M3 for Batch Processing (エムキューブド® フォー・バッチ・プロセッシング。以下、M3 for BP) は、DAG (Directed Acyclic Graph; 有向非巡回グラフ) の形で表現されたタスクを高速処理するためのフレームワークで、業務システムのバッチ処理などを効率良く開発・運用するための「Asakusa Framework™ (*1)」の実行基盤として提供されます。

単一ノード上のマルチコア/マルチプロセッサ環境における実行性能を最大限に発揮するように最適化されており、業務バッチ処理の高速化と TCO 削減をより高い次元で実現しています。

(*1) Asakusa Framework™ は、並列分散処理基盤上で大規模な基幹バッチ処理を行うためのフレームワークで、オープンソースソフトウェアとして公開されています。Asakusa Framework™ は、その並列分散処理エンジンとしてHadoop® MapReduce、Spark™ および M3 for BP に対応しています。

...

M3 for BP 誕生の背景

...

業務システムのバッチ処理の中には、ホストやメインフレーム、データベースで数時間から数十時間をかけて行われるものがあります。この領域において処理時間を短縮したり、処理量の増加に対応するためには、数年前まで高価なスケールアップ型ソリューションしか選択肢がありませんでした。

そこでより費用対効果の高いスケールアウト型ソリューションとしてノーチラス・テクノロジーズ社 open_in_newによって開発されたのが、分散処理基盤である Hadoop® MapReduce や Spark™ を活用するためのフレームワーク「Asakusa Framework」です。

Asakusa Framework は、これまで数十時間かかっていたバッチ処理時間を数十分レベルにまで短縮することを実現してきました。しかしながら、MapReduce は TB〜PB、Spark は数百 GB〜TB の大規模データを対象としており、小規模~中規模のデータ(数GB〜数十GB)はその対象となっていません。

基幹システムなどからの業務データの多くがこの小規模~中規模のデータであるため、バッチ処理に Asakusa Framework を適用しても、分散処理に伴うオーバーヘッドが相対的に大きくなってしまい、高速化に限界がありました。また、MapReduce や Spark は、複数ノードを用意する必要があること、運用が難しいことが導入の障壁となっていました。

最新の 2-way サーバでは、単一ノードで 80 個を超える CPU コアやテラバイト級のメモリを搭載可能となっており、従来であれば複数ノードを用いて分散化しなければ処理できなかった規模のデータを単一ノードで実行できるようになってきました。そこでこうした課題を解決すべく、フィックスターズとノーチラス・テクノロジーズ社 open_in_newによって共同開発されたのが、M3 for BP なのです。

フィックスターズは、異機種プラットフォーム間で実行するプログラム=「ヘテロジニアス・コンピューティング」を得意とし、Cell Broadband Engine™ やGPU向けのソフトウェア開発を行ってきました。ヘテロジニアス・コンピューティングのために作られたOpenCLについても、フィックスターズは早くからコンパイラ製品やアプリケーション開発サービスを提供しているほか、ソフトウェア開発者向けのプログラミングセミナーや書籍の執筆なども行っています。

...

コストパフォーマンス

費用対効果に優れた Asakusa on M3BP

Asakusa on M3BP は、Asakusa DSL を始めとする Asakusa Framework の開発基盤を利用して作成したバッチアプリケーションに対して、M3 for BP をその実行基盤として利用するための機能セットを提供します。Asakusa on M3BP では、実行基盤として M3 for BP を使用することで、Asakusa Framework を用いて記述された Apache Hadoop や Spark 向けの業務バッチを、単一ノード上で高速に処理することができるようになります。とくに、小規模~中規模のデータに対しては単一ノードでありながらも Spark よりも高い性能を実現することができました。

実際の業務データを用いてバッチ処理時間を比較したところ、リレーショナルデータベースで数時間かかっていたものが、Asakusa Framework では、MapReduce との組み合わせの場合で40分弱、Spark の場合で4分弱、そしてM3 for BP の場合では2分弱にまで短縮されました。このように Asakusa on M3BP を使用することにより、実アプリケーションにおいて Asakusa on Spark を用いた場合に比べて 1/5 のノード数で約 2 倍の性能、合わせて約 10 倍の費用対効果を達成しています。

関連情報

※ Asakusa Framework™ は、株式会社ノーチラス・テクノロジーズの登録商標です。
※ Hadoop® 、Spark™ は、Apache Software Foundation の登録商標または商標です。
※ エムキューブド® は、株式会社フィックスターズの登録商標です
arrow_upward

Fixstars Corporation

Social Links