Skip to main content
QUICK REVIEW

[論文レビュー] Occupy the Cloud: Distributed Computing for the 99%

Eric Jonas, Qifan Pu|arXiv (Cornell University)|Feb 13, 2017
Cloud Computing and Resource Management参考文献 29被引用数 57
ひとこと要約

この論文は、分散計算のためのサーバーレス・ステートレス関数モデル(PyWren)を提案し、弾性とデプロイの簡素化を図り、リモートストレージを状態として用いることで MapReduce や BSP など多様なパラダイムを実装できることを示す。性能をベンチマークし、システム課題と今後の方向性を議論する。

ABSTRACT

Distributed computing remains inaccessible to a large number of users, in spite of many open source platforms and extensive commercial offerings. While distributed computation frameworks have moved beyond a simple map-reduce model, many users are still left to struggle with complex cluster management and configuration tools, even for running simple embarrassingly parallel jobs. We argue that stateless functions represent a viable platform for these users, eliminating cluster management overhead, fulfilling the promise of elasticity. Furthermore, using our prototype implementation, PyWren, we show that this model is general enough to implement a number of distributed computing models, such as BSP, efficiently. Extrapolating from recent trends in network bandwidth and the advent of disaggregated storage, we suggest that stateless functions are a natural fit for data processing in future computing environments.

研究の動機と目的

  • クラスタ管理のオーバーヘッドを排除して、クラウドコンピューティングを広範なユーザー層に利用可能にする動機付け。
  • データ処理のコア抽象としてステートレス関数とリモートストレージを用いたサーバーレスアーキテクチャを提案する。
  • PyWrenを通じて、多様な分散モデル(例:MapReduce、BSP、パラメータサーバー)を最小限の状態で効率的に実装できることを実証する。
  • 入力/出力に完全にリモートストレージを用いる場合の性能トレードオフを評価し、ボトルネックと今後の課題を特定する。

提案手法

  • ステートレス関数とグローバルスケジューラを備えるサーバーレス実行モデルを導入する。
  • ユーザーのPython関数をS3経由でAWS Lambdaへシリアライズ・デプロイすることで、マッププリミティブを可能にするPyWrenを開発する。
  • リモートオブジェクトストレージ(S3)とコアあたりのスループットを用いたIOと計算をベンチマークし、数千の関数にわたるスケーラビリティを示す。
  • BSP風・MapReduce風のワークロードを実証し、専用クラスター上のSparkと比較する。
  • ステートレス関数上に高レベルの抽象(Map+Reduce、BSP、パラメータサーバー)を構築することで汎用性を論じる。

実験結果

リサーチクエスチョン

  • RQ1ステートレス関数とリモートストレージの組み合わせは、 embarrassingly parallel なワークロードや中程度の結合を持つワークロードに十分な性能を提供できるか。
  • RQ2リモートストレージを唯一の状態媒体として使用した場合の性能特性(計算とIO)はどうなるか。
  • RQ3一般的な分散計算抽象(MapReduce、BSP、パラメータサーバー)は、ステートレス関数プラットフォーム上でどの程度実装可能か。
  • RQ4実用的なシステムボトルネック(起動オーバーヘッド、ストレージスループット、スケジューリング)は何で、どう緩和できるか。
  • RQ5サーバーレスアプローチのコストと弾力性は、大規模分析において従来のクラスターとどう比較されるか。

主な発見

  • ステートレス関数実行とリモートストレージは、S3への書き込み/読取りを1コアあたり30-40 MB/sで達成し、2800の同時関数で60-80 GB/sへスケールする。
  • 分散LambdaワーカーとRedisシャーディングを用いたPyWrenで1TBソートベンチマークを完了でき、スケーラブルなシャッフル対応性能を示す。
  • 83Mアイテムのワードカウントワークロードは専用サーバー上のPySparkより約17%遅い程度で、巨大スケールタスクに対して競争力のある性能を示す。
  • 各Lambda内の行列乗算は1コアあたり18 GFLOPSを発揮し、2800ワーカーで40 TFLOPSを超えるスケールへ拡張できる。
  • シャッフル集約を伴うワークロードは実現性を示すが、データ移動が増えるにつれてストレージスループットが主要なボトルネックになる。
  • パラメータサーバーのワークロード(例:Hogwild!)は、協調のための中央キー値ストアを使用してステートレス関数で実装可能。

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

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

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

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