a down-to-earth look at the cloud host os malte schwarzkopfsteven hand

31
A down-to-earth look at the cloud host OS Malte Schwarzkopf Steven Hand

Upload: ginger-gallagher

Post on 05-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

A down-to-earth look at the cloud host OS

Malte Schwarzkopf Steven Hand

Page 2: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

“The abstract accurately describes this paper! It is

passionate and opinionated and full of sensibilities.”

“[...] In this position paper, we make a passionate and necessarily opinionated

argument [...]”

Page 3: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

COCO CONTROVERSIAL CONTROVERSIAL OPINIONSOPINIONS

PROVOCATIVE, SPECULATIVE, OPINIONATED CONTENTPROVOCATIVE, SPECULATIVE, OPINIONATED CONTENT

Page 4: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand
Page 5: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand
Page 6: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand
Page 7: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

VM

Page 8: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

VM

Page 9: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Hypervisor

Linux kernel

Processes

“OSstuff“

interrupts,scheduling,preemption

User space threads

Languageruntime

LL threads

User code

Library code

Page 10: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Highly general

Existing tools

Familiar environment

Page 11: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

[and yet, the programming models are often restrictive!]

Layering

Large base images

Slow to spawnBooting...

Death by generality

Page 12: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

MapReduce

FlumeJava Hive Pig

Job

Job

Job

Job

...

Job

Job

Job

Job

Job

Job

?All theotherlayers

...

Page 13: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Experiment from D. Murray,A distributed execution engine supportingdata-dependent control flow. PhD thesis, University of Cambridge,2011.

Page 14: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

What do we really need?

Page 15: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

...

“Magic box“

i.e. some algorithm

...

Input dataobjects

Output dataobjects

Batch

Page 16: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Serving

Request handling

logic

Page 17: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Back to the Eighties!

Virtualize custom µVMsHypervisor

LegacyVM

VM VM VM

Page 18: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Numbers and experiment by Sören Bleikertz: http://openfoo.org/blog/redis-native-xen.html

0

5000

10000

15000

20000

25000

PING

PING (m

ulti b

ulk)

SETGET

INCR

LPUSH

LPOP

SADD

SPOP

LPUSH

LRANGE (f

irst 1

00)

LRANGE (f

irst 3

00)

LRANGE (f

irst 4

50)

LRANGE (f

irst 6

00)

Xen stubdom

Linux VM

native

Redis example

Page 19: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Mantra:

Make the OS do exactly (and just) what is needed.

Page 20: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Shell Standard libsFilesystem

Multi-threading LockingConcurrency primitives

Pre-emption

Process mgmt I/O mgmt IsolationResourcemultiplexing

Page 21: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Execution control

Resource management

Isolation

Data access

Page 22: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Execution control

Non-preemptive scheduling

Dedicated cores

Centralize I/O mgmt

Statically link all user binaries

Page 23: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Resource Management & Isolation

Principle of OS buffer mgmt: request/commit

Request/commit interface

Backpressure for fairness

Embrace hardware heterogeneity

Page 24: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Resource Management & Isolation

HyperthreadDifferent phys. core

AMD Opteron6168

Intel i7-2600K

Different NUMA nodeSame NUMA node

Page 25: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Benchmark your HW heterogeneity

Learn things about your architecturethat you never knew! http://fable.io

Ads by Google Cambridge Computer Lab

Page 26: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Data access

“Data object“ abstraction

Global, deterministic naming

Transparent DO & buffer mgmt

[N.B. binaries are just DOs, too!]

Page 27: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Output UUID task UUID sequence num. version Input UUID0,1,...,N=

Data access

• Capabilities

• Consistency levels

Page 28: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

I hear your cries…

“This is going to be a nightmare to program!“

“People should not need to know about OS-level stuff in order to program the cloud!“

Page 29: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Compiler support

New, bespoke toolchain

Simple interfaces

“Everything is a task“

Page 30: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

Take-away:

How about we push the good things about MapReduce into the OS?

Page 31: A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

How about we restrict the OS to havesimplicity and predictable performance?

Take-away: