Skip to main content
QUICK REVIEW

[論文レビュー] The OpenCPU System: Towards a Universal Interface for Scientific Computing through Separation of Concerns

Jeroen Ooms|arXiv (Cornell University)|Jun 4, 2014
Data Analysis with R参考文献 19被引用数 47
ひとこと要約

OpenCPUシステムは、HTTPベースのリモートプロシージャー・コール(RPC)を用いて、データ分析の関心事項をアプリケーション論理から分離することで、科学的計算のための普遍的で言語に依存しないインターフェースを提案する。このシステムにより、Rにおける統計計算を、一時的で一意のキーが出力、グラフィックス、データをカプセル化する仕組みを通じて、Webアプリケーション、パイプライン、ビッグデータシステムに安全でステートレスかつ再現可能に統合できる。これにより、Rやシステムの内部構造に深く精通していなくても、相互運用性を実現できる。

ABSTRACT

Applications integrating analysis components require a programmable interface which defines statistical operations independently of any programming language. By separating concerns of scientific computing from application and implementation details we can derive an interoperable API for data analysis. But what exactly are the concerns of scientific computing? To answer this question, the paper starts with an exploration of the purpose, problems, characteristics, struggles, culture, and community of this unique branch of computing. By mapping out the domain logic, we try to unveil the fundamental principles and concepts behind statistical software. Along the way we highlight important problems and bottlenecks that need to be addressed by the system in order to facilitate reliable and scalable analysis units. Finally, the OpenCPU software is introduced as an example implementation that builds on HTTP and R to expose a simple, abstracted interface for scientific computing.

研究の動機と目的

  • 第三者的なアプリケーションに統計計算を統合するためのスケーラブルで相互運用可能なインターフェースの欠如に対処すること。
  • 科学的計算の核心的関心事項をアプリケーション、セキュリティ、データ管理の関心事項から分離・特定すること。
  • 信頼性と安全性を確保した、あらゆるシステム間で統計関数を統合可能な普遍的で言語に依存しないAPIを設計すること。
  • 統計ソフトウェアとアプリケーション論理の結合度を低く抑え、Rやシステム内部構造に特化した専門知識の必要性を最小限に抑えること。
  • 出力とデータの共有可能なキーに基づく名前空間を通じて、共同で再現可能な分析を可能にすること。

提案手法

  • システムは、R関数をステートレスでステートフルなサービスとして公開するHTTPベースのリモートプロシージャー・コール(RPC)を用いる。
  • 各RPCの応答は、結果、グラフィックス、警告、ログを含むすべての出力を参照する一意の一時的なキーを返す。
  • サーバーは、リソースがキーによって識別され、上書きできない普遍的で不変の名前空間を管理する。
  • クライアントは、JSON、form-data、URLエンコード、またはProtocol Buffersの複数のフォーマットで引数を渡すことができ、自動的に型解決が行われる。
  • ファイルはmultipart/form-data経由でアップロードされ、関数呼び出しに自動的にファイルパスとして割り当てられる。
  • プライバシーはキーに基づくアクセス制御によって確保される:出力を取得または再利用できるのは、リクエストを発行したクライントのみであり、機密性と整合性が保証される。

実験結果

リサーチクエスチョン

  • RQ1スケーラブルで相互運用可能な統合を実現するためには、科学的計算の根本的な関心事項をどのように分離する必要があるか?
  • RQ2分析論理をアプリケーションおよびシステムの関心事項から分離するための、普遍的な統計計算インターフェースをどのように設計できるか?
  • RQ3共有環境におけるリモート統計計算のセキュリティ、再現可能性、再利用性を保証するメカニズムとして何が有効か?
  • RQ4ユーザー認証に代わるキー基盤のシステムが、データ機密性とアクセス制御を維持しながら、機能する可能性はあるか?
  • RQ5多様なデータ形式やプログラミング言語が、科学的計算のための単一で抽象化されたインターフェースを通じて、どのように相互運用できるか?

主な発見

  • OpenCPUシステムは、科学的計算論理をアプリケーションの関心事項から成功裏に分離し、Rの深い知識がなくてもWebアプリケーションやパイプラインへの統合を可能にした。
  • 各リモート関数呼び出しは、結果、グラフィックス、ログを含むすべての出力を参照する一意の一時的なキーを返し、完全な再現性を保証する。
  • システムはJSON、form-data、URLエンコード、Protocol Buffersの複数の入力フォーマットをサポートしており、多様なクライアントとの柔軟な統合を可能にする。
  • ファイルは標準的なHTMLフォーム送信経由でアップロードされ、関数引数に自動的にバインドされるため、シームレスなファイルベースの分析ワークフローが実現できる。
  • キー基盤のアクセスモデルによりプライバシーが確保される:リクエストを発行したクライントのみが結果にアクセス可能であり、キーを共有することでユーザー登録なしに共同作業が可能になる。
  • すべてのリソースがキーによってグローバルにアドレス指定可能であるため、システム間およびユーザー間で再利用と再現性を促進する、社会的で共同可能な分析プラットフォームを実現できる。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。