8
日日日日KSK 日日日日日日日 日日Thomas W. Dinsmore Derek McCrae Norton SAS 日日日日日 Revolution R Enterprise 日日日日日日日日 R 日日日日日日日日日日日日日日日日日日日 © 2014, Revolution Analytics And KSK Analytics All Rights Reserved. www.r-analytics.jp 1 日日日日日日日日

SASより高速なRevolution R Enterprise

Embed Size (px)

DESCRIPTION

Revolution R Enterprise(レボリューション R エンタープライズ)がSASより高速であることをベンチマークテスト結果で示しています。

Citation preview

Page 1: SASより高速なRevolution R Enterprise

日本語訳: KSK アナリティクス

著者: Thomas W. Dinsmore 、 Derek McCrae Norton

SAS より高速な Revolution R Enterprise         (レボリューション R エンタープライズ)

ベンチマークテスト結果

© 2014, Revolution Analytics And KSK Analytics All Rights Reserved. www.r-analytics.jp 1

ホワイトペーパー

Page 2: SASより高速なRevolution R Enterprise

 分析業務は常に分析速度の問題がつきまといます。しかし、実際の業務ではどの程度の速度が期待されているのでしょうか?この問題について、レボリューション・アナリティクス社の顧客である米国大手マーケティング・サービス・プロバイダーの分析ディレクターに聞いてみました。彼らのチームは現在、 1000 以上の予測モデルの開発しています。彼らのお客さまからは、 30 分以内で予測モデルを構築することを期待されていると言います。

 前回、我々のチームではレボリューション・アナリティクス社の RRE とSAS を比較するベンチマークテストを行い、テスト結果を発表しました。そのテストでは、 RRE の独自技術である PEMA ( Parallel External Memory Algorithms )が最先端分析において、より優れたパフォーマンスを発揮していることを紹介しました。しかし、一部の読者から、テストが単一のタスクに限定されていたことと、 SAS および RRE が同じハードウェア上で実行されていなかったこと、さらには SAS の実行環境は、 RRE に適したクラスタ上の計算環境であり不利に実行されているのではないか、という指摘を頂きました。 我々はその指摘を真摯に受けとめ、今回のテストでは、両方のソフトを同じ計算環境で使用し、新しい内容でテストを行いました。公正な比較を行うため、我々は SAS プログラムの検証を行う経験豊富なコンサルタントを雇い、 Grid Computing を利用させ、テスト環境を構築しました。また、我々は今回のテストで SAS9.4 を用いるとともに、分析の共通課題にあたるテスト項目を定義しています。今回のテスト結果 :・ RRE の ScaleR は SAS よりも 42 倍の早さで分析タスクを実行した・ RRE の ScaleR はすべてのタスクで SAS を上回った・ RRE の ScaleR は SAS よりも 10 倍〜 300 倍のパフォーマンス改善が得られる・ RRE の ScaleR はより大きなデータを使う場合にパフォーマンスの改善幅がより大きくなる・新しい SAS の HP PROCs は僅かに SAS のパフォーマンスが改善できただけだった 本ホワイトペーパーでは、我々がテストを行ったアプローチ手順、詳細な結果を報告いたします。

アプローチ手順 レボリューション・アナリティクス社は、 SAS の専門家(コンサルティングファームで SAS Grid Manager の扱いのある経験豊富なコンサルタント)にテストを担当させました。彼は、 CentOS がインストールされている 4,5コアのマシンを用意し、それらすべてがネットワーク上でギガビット・イーサネット接続され、独立した NFS サーバーを実行できるクラスター分析環境を設定しました。

© 2014, Revolution Analytics And KSK Analytics All Rights Reserved. www.r-analytics.jp 2

Page 3: SASより高速なRevolution R Enterprise

SAS のテスト担当者は、 SAS9.4 で次の主要コンポーネントを利用しました。

・ Base SAS・ SAS/STAT・ SAS Grid Manager

 我々は SAS Management Console と SAS Enterprise Guide が Grid のクライアントとして動作するデスクトップ環境を使用しました。レボリューション・アナリティクス社の RRE テストを行うために、まず我々は IBM Platform LSFと IBM Platform MPI のリリース 9 を導入し、その後 RRE の 7 をを各ノードにインストールしています。  SAS Grid Manager は RRE で使用される IBM の標準バージョンと OEMバージョンである IBM Platform LSF を同時に実行することが出来ないため、我々はテストを順に実行し、各テスト毎に環境を再構成しました。

※IBM Platform LSF は、要求の厳しい分散型 HPC 環境のための強力なワークロード管理プラットフォーム※IBM Platform MPI は、 HPC 実装アプリケーションの並列処理を実現するメッセージ・パッシング・インターフェース( MPI )

 異なる環境での繰り返しテストを簡単にするため、我々はランダムプロセスを通じて生成されたデータを用いました。データの生成時間はペンチマークには含まれていません。尚、実際のテストを実行する前に、我々はランダム化されたデータをそれぞれのソフトウェア製品のデフォルトのデータ形式( SAS は SAS data set 、 RRE は XDF ファイル)に取り込んでいます。

  RRE は、これまでにも数億行のような大規模データのベンチマークが行われてきました。しかし、調査した結果、大手企業で分析されている代表的なデータセットですら、それよりもはるかに小さい傾向があると判明しました。そこで、我々は一般的な多くのアナリストが分析していると思われるサイズ、列数を 591列、 10万行〜 500万行を上限に、列数を多く、行数を少なくした「広い」データに対してテストを実行することにしました。さらに 5000万行を上限とした 21列の「狭い」データに対してもテストを実行しています。

© 2014, Revolution Analytics And KSK Analytics All Rights Reserved. www.r-analytics.jp 3

Page 4: SASより高速なRevolution R Enterprise

1 つの数値変数に関する記述統計(件数、最小値、最大値、平均値、標準偏差)1 つの数値変数の中央値と十分位数

1 つの文字変数の度数分布

20 の数値変数で 1 つの数値を目的変数とする線形回帰

20 の混合した変数で 1 つの数値を目的変数とする線形回帰

100 の数値変数でステップワイズ法で行う線形回帰

20 の数値変数で 1 つの判別 (2値 ) を目的変数とするロジスティック回帰

20変数を持つ k-mean クラスタリング

100変数を持つ k-mean クラスタリング

20 の数値変数 , ガンマ分布 , リンク関数 ,数値を目的変数とする一般化線形モデル

最初の線形回帰モデルを利用し、 10 倍のレコード数のスコアリング

表1:ベンチマーク タスク

 これらは、同時実行することなくすべてのベンチマークテストを順番に実行しています。実際に使用した SAS9.4 および RRE7 のプログラムはGitHub(https://github.com/RevolutionAnalytics/Benchmark ) で公開しているため、誰でも自由に利用することができます。ご覧になっている皆さんの環境で、これらのテストプログラムをお試し頂くこと、また分析速度についても、我々が公開している内容と比較して頂けると幸いです。

 テストでは、分析業務でよく使われる 10 のタスクに加え、スコアリングのタスクを加えました。表 1 は SAS9.4 と RRE7 のタスクの内容と、それぞれのソフトで使った関数を示しています。

© 2014, Revolution Analytics And KSK Analytics All Rights Reserved. www.r-analytics.jp 4

Page 5: SASより高速なRevolution R Enterprise

表 2:ベンチマーク 結果

結果 表 2 は、 500万レコードの大規模データの結果を示しています。ベンチマーク環境において、 SAS9.4 を使ってすべてのプログラムを実行した時間の合計は 5,192秒(約 1.5 時間)でした。同じ内容の RRE7 は 123.6秒(約2 分)です。表 1 で示した 10 のベンチマークタスクの結果を示しています。

データ件数: 500万件

1 つの数値変数に関する記述統計(件数、最小値、最大値、平均値、標準偏差)

1 つの数値変数の中央値と十分位数

1 つの文字変数の度数分布

20 の数値変数で 1 つの数値を目的変数とする線形回帰20 の混合した変数で 1 つの数値を目的変数とする線形回帰

100 の数値変数でステップワイズ法で行う線形回帰

20 の数値変数で 1 つの判別 (2値 ) を目的変数とするロジスティック回帰20 の数値変数 , ガンマ分布 , リンク関数 ,数値を目的変数とする一般化線形モデル

20変数を持つ k-mean クラスタリング

100変数を持つ k-mean クラスタリング

すべての分析タスクの合計

© 2014, Revolution Analytics And KSK Analytics All Rights Reserved. www.r-analytics.jp 5

Page 6: SASより高速なRevolution R Enterprise

表 3:データ件数ごとの結果

 表 3 が示すように、レコード数が増えるほど、 RRE と SAS のパフォーマンス差はより大きくなっていることがわかります。

 スコアリングテストでは、最初に線形回帰を実行し、 10 倍の行を持つデータセットに対して予測値を算出しています。表 4 は、このテストの結果を示しています。表 4:スコアリングテスト結果

  SAS9.4 では、 SAS は High-Performance Analytics の HP PROCs という手続きオブジェクトがバンドルされています。我々はテストの 1 つとしてPROC REG を PROC HPREG に置き換えて実行しましたが、本ベンチマーク環境において、 High-Performance Analytics の手続きオブジェクトにおけるパフォーマンス向上は殆ど見られませんでした。

表 5: HPREGの結果

© 2014, Revolution Analytics And KSK Analytics All Rights Reserved. www.r-analytics.jp 6

Page 7: SASより高速なRevolution R Enterprise

考察 本テスト環境における分析速度で比較すると、 SAS9.4 でプログラムを実行するのにかかる時間を使えば、 RRE7 のユーザーは同じ作業の実行を 42回繰り返すことが可能です。 このテスト結果から実用面を考察すると、まずモデル作成に必要な学習サイクルを大幅に減らすことができます。さらにより多くのモデルを構築し、より良いモデルが得られ、それらはまた、より多くの顧客にサービスを提供することができ、結果的により多くの利益を生むことにつながるのです。

  RRE7 は SAS9.4 よりもなぜこんなに高速に実行できるのでしょうか?レボリューション・アナリティクス社は、クラスタ化された環境において、複数のマシン上での実行を効率よく配分するための PEMA ( Parallel External Memory Algorithms )と呼ばれる独自の技術を使用しているからです。 RRE7 において、単一マシン上のメモリで扱える量よりも大きいデータセットを扱う場合、利用可能なコンピューティングリソースのすべてを介してデータをストリーミングします。 一方、 SAS/STAT ソフトウェアでは、同様にメモリで扱える量より大きいデータセットを扱う場合、メモリとディスクとのスワッピングが起こり、インメモリでの実行よりもはるかに遅くなってしまいます。

 これらの SAS プログラムはグリッド構成で実行した場合、グリッド操作が有効な場合においても、殆どの SAS の手続きオブジェクトが利用可能なコンピュータのリソースを利用することはありませんでした。 SAS によると、 SAS/STAT の手続きオブジェクトの中で 4 つのみが、複数のコンピューティングのスレッドを利用することができるとされています。 我々の行った HPREG PROC のテストでも示しているように、顧客が High-Performance Analytics Server のライセンスを購入していない限り、 HP PROCs のパフォーマンスは向上しません。

 レボリューション・アナリティクス社ではパフォーマンスと効率性について本格的に取り組み、継続的に分析エンジンの効率と速度を向上させています。 我々はお客さまや競合他社を含めた皆様に対して、我々が行ったベンチマークテストを実行し、その実行結果をさらに多くの皆様に共有して頂けることを願ってやみません。

© 2014, Revolution Analytics And KSK Analytics All Rights Reserved. www.r-analytics.jp 7

Page 8: SASより高速なRevolution R Enterprise

© 2014, Revolution Analytics And KSK Analytics All Rights Reserved. www.r-analytics.jp 8