BT

Sparkがソートパフォーマンスの新記録を達成

| 作者: Benjamin Darfler フォローする 0 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2014年12月21日. 推定読書時間: 3 分 |

原文(投稿日:2014/11/26)へのリンク

Apache Sparkの開発者が創立したDatabricksが,先日のDaytona GraySortコンテストで,Sparkプロセッシングエンジンを使って新記録を達成した。Daytona GraySortコンテストは,100テラバイトのデータをソートする速度を計測する,サードパーティによるベンチマークである。Databricksは公式記録として,206台のクラスタ上で4,27テラバイト/分というスループットを公表している。これはHadoop MapReduceを使用するYahoo!が提示したこれまでの記録と比較して,10分の1のマシンで,3倍の性能向上を達成したことになる。

Daytona GraySortコンテストへの提出資料を公開したブログ記事の中で同社は,最近になってSparkに導入され,これほど大きなスループットを達成可能にした技術的改善のいくつかを取り上げている。

Spark 1.1ではソートベース・シャッフルと呼ばれる,新しいシャッフル実装が導入された。これまでのシャッフル実装では,シャッフルのパーティション毎に インメモリバッファが必要だったため,これが大きなメモリオーバーヘッドを生み出していた。しかし新しいソートベースシャッフルでは,一度に必要なメモリバッファはひとつだけでよい。これによってメモリ使用量が大幅に削減され,同一条件のハードウェア上で,より多くのタスクが並行動作可能になったのだ。

新しいシャッフルアルゴリズムに加えて,ネットワークモジュールがNettyのネイティブEpollソケットトランスポートに改訂された。メモリプール管理を独自に行うことで,JVMのメモリアロケータをバイパスし,ガベージコレクションの影響を低減する。新しいネットワークモジュールは外部のシャッフルサービス構築でも利用され,メインのSpark実行体がガベージコレクションで停止している間でも,シャッフルファイルの提供が可能になった。

最後に,Spark 1.1では,デフォルトのソートアルゴリズムとしてTimSortが導入された。TimSortはマージソートとインサートソートから派生したもので,現実のデータセットの大部分,中でも部分的にソートされたデータセットに対して,クイックソートよりもパフォーマンスに優れている。

これらすべての改善によってSparkクラスタは,Mapフェーズでは3GB/ノードのI/Oアクティビティ,Reduceフェーズでは10Gbpsのイーサネットリンクを飽和させる1.1GB/秒/ノードのネットワークアクティビティを維持することが可能になっている。

SparkはUCバークレーのAMPLabでの研究から生まれた,高度な実行エンジンである。Hadoop MapReduceに比較してプログラムを,データがディスク上にある場合は10倍,メモリ上に存在する場合は100倍の速度で実行することができる。SparkはJava,Scala,またはPythonで記述されたプログラムをサポートする。データ処理フローは,馴染みの深い関数型プログラミングで構築可能だ。

Sparkは,Hadoopの次世代の実行プラットフォームとして,大きな注目を集めるだけでなく,MapReduceを置き換えとして見る声も一部にはある。2月にはApacheのトップレベルプロジェクトに昇格し,それ以降,ClouderaHortonworksMapRのHadoopディストリビューションなどに含まれている。さらに最近では,Hortonworksが,Stinger.nextイニシアティブの一環として,Spark上でのHive実行をサポートする予定だと発表している。

Databricksは2013年に,Sparkとその関連プロジェクトをサポートするコマーシャルエンティティとして設立された。関連プロジェクトとしてはストリームプロセッシングをサポートするSpark Streaming,HiveデータをクエリするSpark SQL,機械学習用のMLibなどがある。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT