単一ノード/マルチコアに最適化した並列分散処理フレームワーク「Asakusa on M3BP」、ノーチラステクノロジーズとフィックスターズがオープンソースで公開

2016年4月12日

ノーチラステクノロジーズとフィックスターズは、単一ノード上での基幹バッチ処理を並列分散処理基盤で行うことに最適化したフレームワーク「Asakusa on M3BP」(アサクサ エムキューブドビーピー)と、その実行基盤となる「M3 for Batch Processing」(エムキューブド フォー バッチ プロセッシング)を開発し、オープンソースで公開したと発表しました

Asakusa on M3BP | NAUTILUS

単一ノードに最適化されたM3 for BP

大規模なデータに対する複雑な処理を並列分散処理で高速に実行する代表的なソフトウェアにはHadoopやSparkがあります。

しかしHadoopやSparkは数百台から数千台規模のサーバをネットワークで接続したクラスタ環境で高い処理性能を発揮するように作られているため、数ギガバイトから数十ギガバイトの小規模から中規模なデータを1台のサーバ上で処理する場合にはオーバーヘッドが大きくて効率が悪く、十分な性能は発揮できません。

一方で、最近のサーバはプロセッサ数のコアが大幅に増加し、大容量メモリを搭載、高速なフラッシュストレージを備えるなど、単一ノードでも高い並列分散処理能力を備えるようになってきました。

今回発表されたM3 for BPは、こうした単一ノードの能力を活用して高速にバッチ処理を実行するために開発された実行基盤です。クラスタ構成が不要で、単一ノードから並列分散処理を始めることができます。

C++で開発することによりCPUコアやメモリを最大限活用

実行基盤となるM3 for BPの特長を、公開されたホワイトペーパーから引用します。

M3 for BPでは、MapReduceやSparkが苦手とする小規模~中規模データ処理において、単一ノード上で処理を完結させます。これにより、計算ノード上のCPUコアやメモリの細かい制御が可能となり、さまざまな計算リソースを無駄なく最大限に活用することが可能となります。

また、全ての処理を計算ノードのメモリ上で完結させるため、ネットワークやストレージ入出力など、データ交換のオーバーヘッドを大幅に削減できます。結果として、単一ノードあたりの処理効率を大幅に向上させることができ、小~中規模の単一ノード上で処理を完結できるような処理に対しては、複数の計算ノードを用いた分散処理よりも高速な処理を実現できる場合があります。

また、より多くのデータを単一ノードで処理することが可能となるため、バッチ処理に使用するシステムの小型化も期待することができ、高い費用対効果を実現しています。

このM3 for BPは、効率よく多数のCPUコアや大容量メモリを活用するため、C++によるネイティブライブラリとして開発されています。

これまでHadoopやSparkを対象にAsakusa Frameworkで記述されていたバッチアプリケーションは、このM3 for BPの上で「Asakusa on M3BP」を用いることで、単一ノード上で高速に実行できるようになります。

Asakusa Frameworkを利用して作成されたバッチアプリケーションは、そのままHadoopでもSparkでも、そして単一ノードでも実行可能になると言うことです。

fig

クラスタ構成より高速な単一ノード

ノーチラステクノロジーズとフィックススターズが公開した実アプリケーションを用いたベンチマークの結果によると、5ノードのクラスタ上のHadoopとSpark、単一ノードのM3 for BPで、それぞれ4~5ギガバイト程度の入力データを用いたアプリケーションの性能が次のように示されています。

fig

単一ノードに適した規模のバッチアプリケーションであれば、クラスタ構成のシステムより効率よく高速に実行できることが分かります。

M3 for BPはこのように単一ノードで高い性能を発揮する上に、Asakusa Frameworkで開発したアプリケーションであれば、データの規模が大きくなってきて単一ノードで収まらなくなった場合には、バッチアプリケーションはそのままでクラスタ構成によるHadoopやSparkへ移行できるスケーラビリティを持つことになります。

あわせて読みたい

機械学習・AI Hadoop MapReduce Spark




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

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

最新記事10本