awakia / catchup

Issue based repository to catch up technologies and movements
5 stars 0 forks source link

GoogleのBorg論文を読む #28

Open awakia opened 9 years ago

awakia commented 9 years ago

Large-scale cluster management at Google with Borg Abhishek Verma† Luis Pedrosa‡ Madhukar Korupolu David Oppenheimer Eric Tune John Wilkes

http://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/43438.pdf http://anemone.dodgson.org/2015/04/17/borg-paper/

awakia commented 9 years ago

1. Introduction

Benefit

  1. リソースマネージメントとFailuerハンドリングの詳細を隠蔽している
  2. 高い可用性(availability)と信頼性(reliability)
  3. 数万台のマシンを効率的に使用できる

10年以上Borgを運用してきた経験を語る

awakia commented 9 years ago

2. The user perspective

ユーザー:Googleのエンジニアとシスアド Jobの中身: 1つ以上のタスクを含んだ全て同じバイナリ Borg Cell: 1つのJobが走るところで、ユニットになっているマシンの集合

2.1 The workload

2種類のワークロードがある。

  1. prod: long-running
    • 死んではいけないもの
    • latency-sensitive(ナノ秒から数百ミリ秒)なリクエストを受け取る
    • Gmail, Docs, Search, BigTable
  2. non-prod: batch job
    • 数秒から数日
    • パフォーマンスの変動はあまり気にしなくて良い
    • Cellはこの2種類が混ざっている
    • ただし、cellの特徴よってそれは異なるし、時間によっても異なる

2.2 Clusters and Cells

2.3 Jobs and Tasks

Borg job のプロパティ

Constraints を持つことが出来る

1つのJobは1つのCellで走る。 タスクは、コンテナをマシンに割り当てる作業。VMはほとんど使ってない。 理由は仮想化のコストが高いことと、開発が仮想化機能がないプロセッサーに大量の投資をした時期だったから。

タスクもプロパティを持っている

BCLというconfigurationファイルを利用する。