450 likes | 533 Views
From C IEL to Firmament & DIOS a heavenly tale of not just clouds. Joint work with:. Steven Hand Anil Madhavapeddy Chris Smowton Steven Smith Derek Murray (MSR-SVC). Disclaimer . Recap: C IEL. [NSDI 2011]. A. B. G. M. M. M. R. R. R. Dynamic task graphs. G. a. M. M. T. x.
E N D
From CIEL to Firmament & DIOSa heavenly tale of not just clouds Joint work with: Steven HandAnil MadhavapeddyChris SmowtonSteven Smith Derek Murray (MSR-SVC)
Recap: CIEL [NSDI 2011]
A B G M M M R R R
Dynamic task graphs G a M M T x b R R Allow tasks to spawn more tasks
Experiment from D. Murray, A distributed execution engine supporting data-dependent control flow. PhD thesis, University of Cambridge, 2011.
[interlude] polyglot CIEL
polyglot CIEL [unpublished]
CIEL Saving state – options heavyweight lightweight VM migration BLCR (processcheckpoint.) Serializablecontinuations Haskellmonads hardware / OS level application level
JavaScalaHaskellStackless PythonOCaml(C with BLCR) no need for Skywriting!
Binomial options pricing Experiment from D. Murray, C. Smowton, M. Schwarzkopf, S. Smith, A. Madhavapeddy. A polyglot approach to cloud programming. Unpublished, 2011.
What‘s next?! many-core clustersheterogeneity
timespin on unmodified CIEL 41.6x rel. overhead 5.1x less is better 1.3x seconds 1.04x number of cores
[Data-Intensive Operating System] EnterFirmamentandDIOS
... Host OS ... Hardware User code CIEL Programming Model 1st class exec. 2nd Skywriting Execution Engine Master W0 W1 Wn ... ...
DIOS ... User code CIEL Programming Model 1st class exec. 2nd Skywriting Firmament: Coordination Engine ... Hardware
Firmament multi-scaleheterogeneity-aware
Google trace, machine specs CPU cores (normalized) Total RAM (normalized)
Firmament Cluster knowledge base • historic task resource usage historic task performance info machine information Efficient runtime [Storage? Networking? Transfer management?]
Firmament It’s real! • ~2k LOC, basic tests run ToDo (aka WIP): • knowledge base design & impl. scheduling algorithms interface to CIEL
DIOS ... User code CIEL Programming Model 1st class exec. 2nd Skywriting Firmament: Coordination Engine ... Hardware
DIOS topology-awareinterference-awarelightweight OS
Heterogeneity [again!] Many-core => intra-machine communication = important!
Intel Core i7-2600K @ 3.40GHz (native) 48-core AMD Opteron 6168 (native) (Xen) Joint work with Steven Smith, Anil Madhavapeddy, and Chris Smowton; cf. “The case for reconfigurable I/O“ (RESoLVE 2012)
Intel Xeon E5620 @ 2.40GHz (native) Different physicalcore Hyperthread Joint work with Steven Smith, Anil Madhavapeddy, and Chris Smowton; cf http://fable.io
Intel Core i7-2600K @ 3.40GHz (native) Different physicalcore Hyperthread Joint work with Steven Smith, Anil Madhavapeddy, and Chris Smowton; cf http://fable.io
AMD Opteron 6168@ 1.9 GHz (native) Same MCM, same socket Different MCM,different socket,2-hop Hypertransport Joint work with Steven Smith, Anil Madhavapeddy, and Chris Smowton; cf http://fable.io
Topology-awareness OS responsibility? Yes. General case = hard! Workload-awareness helps!
Interference #include <results>
Lightweight Make the OS do exactly (and just) what is needed. Dedicate resources instead of sharing them.
Resourcemultiplexing Process mgmt Isolation I/O mgmt Concurrency primitives Multi-threading Pre-emption Locking Filesystem Shell Standard libs
Scheduling a T x b
DIOS ... Scheduling Firmament: Coordination Engine ... Program
DIOS Pieces exist • currently combining ;-) WIP: • interference experiments related work reading group starting point? (Linux or Xen?)
Binomial options pricing 800k (EC2) 800k (MC) 400k (EC2) 400k (MC) 200k (EC2) higheris better 200k (MC)
Redis example Numbers and experiment by Sören Bleikertz: http://openfoo.org/blog/redis-native-xen.html