| 分散R | |
|---|---|
| 開発者 | HP |
| 安定版リリース | 1.2.0 [1]
/ 2015年10月22日 (2015年10月22日) |
| リポジトリ |
|
| 書かれた | C++、R |
| オペレーティング·システム | リナックス |
| タイプ | 機械学習アルゴリズム |
| ライセンス | GNU一般公衆利用許諾契約書 |
| Webサイト | www.distributedr.org |
分散Rは、 R言語用のオープンソースの高性能プラットフォームです。タスクを複数の処理ノードに分割することで実行時間を短縮し、大規模なデータセットを分析します。分散Rは、分散データ構造、分散データ上で関数を実行するための並列処理プリミティブ、タスクスケジューラ、複数のデータローダーを追加することでRを強化しています。[2]主に機械学習タスクの分散版を実装するために使用されます。分散RはC++とRで記述されており、Rの使い慣れたルックアンドフィールを維持しています。2015年2月現在[アップデート]、ヒューレット・パッカード(HP)は、 Verticaデータベースからの高速データローダーなどの独自の追加機能を備えた分散Rのエンタープライズサポートを提供しています。[3]
歴史
分散Rは、2011年にIndrajit Roy、Shivaram Venkataraman、Alvin AuYoung、Robert S. SchreiberによってHP Labsの研究プロジェクトとして開始されました。[4] 2014年にGPLv2ライセンスの下でオープンソース化され、 GitHubで入手できます。
2015年2月、Distributed RはHPからのエンタープライズサポートとともに最初の安定バージョン1.0に到達しました。[5]
コンポーネント
Distributed R は、R で分散アプリケーションを実装および実行するためのプラットフォームです。R のシンプルさとルック アンド フィールを維持しながら、分散コンピューティング用に R を拡張することが目標です。Distributed R は次のコンポーネントで構成されています。
- 分散データ構造:分散Rは、配列、データフレーム、リストといったRの一般的なデータ構造を拡張し、複数のノードにデータを格納します。対応する分散Rデータ構造は、darray、dframe、dlistです。colSums、rowSums、nrowなど、Rの一般的なデータ構造演算の多くは、分散データ構造でも利用できます。
- 並列ループ:プログラマーは、foreachと呼ばれる並列ループを使用して、分散データ構造を操作し、タスクを並列に実行できます。プログラマーはデータ構造と関数を指定してアプリケーションを表現するだけで、ランタイムがタスクをスケジュールし、必要に応じてデータの移動を行います。
- 分散アルゴリズム: クラスタリング、分類、回帰などの一般的な機械学習およびグラフ アルゴリズムの分散バージョン。
- データローダー:ユーザーは、Distributed R の構成要素を活用して、異なるソースからデータをロードする並列コネクタを実装できます。Distributed R は、ファイルやデータベースから分散データ構造にデータをロードするための実装を既に提供しています。
データベースとの統合
HP Verticaは、自社のデータベースとオープンソースのDistributed Rプラットフォームとの緊密な統合を提供します。HP Vertica 7.1には、VerticaデータベースからDistribute Rへの高速な並列ロードを可能にする機能が搭載されています。この並列Verticaローダーは、従来のODBCベースのコネクタを使用する場合よりも5倍以上高速です。Verticaデータベースは、データベースへの機械学習モデルのデプロイもサポートしています。Distributed Rユーザーは、分散アルゴリズムを呼び出して機械学習モデルを作成し、Verticaデータベースにデプロイして、データベース内スコアリングや予測に使用することができます。VerticaデータベースとDistributed Rの統合に関するアーキテクチャの詳細は、Sigmod 2015の論文に記載されています。[6]
参考文献
- ^ “リリース 1.2.0”. 2015年10月22日. 2018年7月20日閲覧。
- ^ Venkataraman, Shivaram; Bodzsar, Erik; Roy, Indrajit; AuYoung, Alvin; Schreiber, Robert S. (2013). 「Presto: 疎行列を用いた分散機械学習とグラフ処理」(PDF) .ヨーロッパコンピュータシステム会議 (EuroSys) . 2015年3月1日時点のオリジナル(PDF)からアーカイブ。
- ^ Gagliordi, Natalie. 「HP、最新のビッグデータプラットフォームでオープンソースRの拡張性を拡大」ZDNet . 2015年2月17日閲覧。
- ^ Venkataraman, Shivaram; Roy, Indrajit; AuYoung, Alvin; Schreiber, Robert S. (2012). 「反復処理と増分処理におけるRの使用」.クラウドコンピューティングのホットトピックに関するワークショップ (HotCloud) .
- ^ 「HP、ビッグデータ規模の予測分析を提供」hp.com、2015年2月17日。 2015年2月17日閲覧。
- ^ Prasad, Shreya; Fard, Arash; Gupta, Vishrut; Martinez, Jorge; LeFevre, Jeff; Xu, Vincent; Hsu, Meichun; Roy, Indrajit (2015). 「Verticaにおける予測分析の実現:高速データ転送、分散モデル作成、データベース内予測」ACM SIGMOD International Conference on Management of Data .
外部リンク
- 公式サイト