Programming with Big Data in R とは

R(pbdR)のビッグデータによるプログラミングは、一連のRパッケージであり、高性能の統計計算を使用してビッグデータによる統計計算を行う環境です。 pbdRは、統計ソフトウェアを開発するために統計学者とデータマイナーの間で使用されるS3 / S4クラスとメソッドで、Rと同じプログラミング言語を使用します。 pbdRとRコードの大きな違いは、pbdRは主に複数のプロセッサに分散され、バッチモードでデータが分散される分散メモリシステムに焦点を当てる一方、プロセッサ間の通信は大規模な高性能コンピューティング(HPC)システム。 Rシステムは、主に、GUIインタフェースなどのインタラクティブモードによるデータ解析用のシングルマルチコアマシンに重点を置いています。
MPIを使用するRの主な2つの実装は、pbdRのRmpiとpbdMPIです。
 pbdMPI上に構築されたpbdRは、すべてのプロセッサがワーカーとみなされ、データの一部を所有するSPMD並列処理を使用します。 1980年代半ばに導入されたSPMD並列処理は、大規模なデータのための同種のコンピューティング環境では特に有効です。たとえば、大規模な行列で特異値分解を実行する、高次元の大規模データに対してクラスタリング分析を実行するなどです。一方、SPMD並列処理環境では、マネージャ/ワーカー並列処理を使用する制限はありません。 Rmpiは、1つのメインプロセッサ(マネージャ)が他のすべてのプロセッサ(ワーカー)の制御としてサーバを管理するマネージャ/ワーカー並列処理を使用します。 2000年初頭に導入されたマネージャ/ワーカーの並列処理は、ブートストラップ法やi.i.d以降の適用統計のモンテカルロシミュレーションなど、小さなクラスタでの大規模な作業に特に効率的です。仮定は、ほとんどの統計分析で一般的に使用されます。特に、異種コンピューティング環境では、タスクプルパラレル化はRmpiの方が優れたパフォーマンスを示します。
SPMD並列化の考え方は、すべてのプロセッサが同じ量の作業を行うことですが、大規模なデータセットの異なる部分に適用することです。たとえば、最新のGPUは、比較的小さなデータの異なる部分に同じ計算を単純に適用できる低速コプロセッサの大規模な集まりですが、SPMDの並列処理は最終的なソリューションを得るための効率的な方法で終わります(つまり、短い)。 pbdRは小規模クラスタに適しているだけでなく、大きなデータを分析する上でより安定しており、スーパーコンピュータではよりスケーラブルであることも明らかです。要するに、pbdR
 RのRmpi、Snow、Snowfall、do-like、Rの並行パッケージはインタラクティブコンピューティングやマスタ/ワーカーに重点を置いていませんが、SPMDとタスクの並列処理の両方を使用することはできません。