6.888 Lecture 6: Network Performance Isola8on Mohammad Alizadeh Spring 2016 1
Mul8-tenant Cloud Data Centers Shared infrastructure between mul8ple tenants/apps
Lack of Performance Predictability GAE memcache read 100 values Unpredictable performance, esp. at the tail 3
Conges8on Kills Predictability 4 Apr 2013 NSDI 2013 4
? 5
Sharing the Network … 2Ghz VCPU Hose Model 15GB memory (Duffield et al., SIGCOMM’99) … 1Gb/s network Customer specifies capacity of the Bob’s Switch Alice’s Switch virtual NIC. No traffic matrix. … … VM1 VM2 VM3 VMi VM1 VM2 VM3 VMn 6
Sharing the Network Tenant selects bandwidth guarantees. Models: Hose, VOC, TAG Oktopus [SIGCOMM’10] Place VMs, ensuring all Hadrian [NSDI’13] VM setup guarantees can be met CloudMirror [SIGCOMM’14] Seawall [NSDI’10] FairCloud [SIGCOMM’12] Enforce bandwidth guarantees Run8me EyeQ [NSDI’13] & Provide work-conserva8on Elas8cSwitch [SIGCOMM’13] …. ² Adapted from slide by Lucian Popa
Example Run8me System: EyeQ (NSDI’13) 8
Distributed Rate Alloca8on (min) Rate 10Gb/s pipe Guarantees 2Gb/s VM Shim 2Gb/s VM EyeQ Shim Layer Shim In the trusted 8Gb/s VM 2Gb/s VM Shim Domain (Hypervisor/NIC) 8Gb/s Shim 8Gb/s VM VM Shim
Distributed Rate Alloca8on (min) Rate 10Gb/s pipe Guarantees 5Gb/s 2Gb/s VM 2Gb/s VM 5Gb/s 8Gb/s VM 2Gb/s VM 8Gb/s 8Gb/s VM VM
Distributed Rate Alloca8on 5Gb/s 2Gb/s VM 2Gb/s VM RX 5Gb/s Module 8Gb/s VM 2Gb/s VM 8Gb/s 8Gb/s VM VM
Distributed Rate Alloca8on 1Gb/s 2Gb/s VM 2Gb/s VM 1Gb/s 8Gb/s VM 2Gb/s VM 8Gb/s 8Gb/s 8Gb/s VM VM
Distributed Rate Alloca8on 1Gb/s 2Gb/s VM 2Gb/s VM 1Gb/s 8Gb/s VM 2Gb/s VM 8Gb/s 5Gb/s 8Gb/s 8Gb/s VM VM
Distributed Rate Alloca8on Spare capacity 1Gb/s 2Gb/s VM 2Gb/s VM RX 1Gb/s Module 8Gb/s VM 2Gb/s VM 5Gb/s 5Gb/s 8Gb/s 8Gb/s VM VM
Distributed Rate Alloca8on 2.5Gb/s 2Gb/s VM 2Gb/s VM 2.5Gb/s 8Gb/s VM 2Gb/s VM 5Gb/s 5Gb/s 8Gb/s 8Gb/s VM VM
Transmit/Receive Modules RCP: Rate feedback (R) every 10kB (no per-source state needed) 1Gb/s 2Gb/s VM Rate limit. F e e d b a c k Conges8on detectors p k t R a t e : 1 G VM b / 2Gb/s s 1Gb/s 8Gb/s VM 2Gb/s VM Rate limit. Rate limit. 8Gb/s 8Gb/s VM VM Per-des8na8on rate limiters: only if dest. is congested… bypass otherwise
Sharing the Network Tenant selects bandwidth guarantees. Models: Hose, VOC, TAG Cloud Mirror Place VMs, ensuring all VM setup guarantees can be met Enforce bandwidth guarantees Uses Elas8cSwitch Run8me & Provide work-conserva8on [SIGCOMM’13] ² Adapted from slide by Lucian Popa
Cloud Mirror ² Slides based on presenta8on by JK Lee (HP) 18
Mo8va8on Cloud applica8ons are diverse & complex Bandwidth models like pipe and hose not a good fit DB web web logic cache [Bing.com traffic pattern, Sigcomm’12] 19
Hose model is unfit intra-component Hose aggregates BW towards (self-edge) inter-component different components – Too coarse-grained – Prevents accurate and efficient guarantees on infrastructure
Hose is too coarse-grained Hose model 3-tier web example congestion 400 100 500 web logic DB 200 800 300 … … Logic DB Web TCP-like fair allocation would yield 300:200
Hose over-provisions physical link bandwidth 2 B N L 1 L 2 2B B B 2B … … B B … … … … web logic DB (N) (N) (N) web + logic logic (N) DB DB (N) web (N) N: # VMs in each tier Physical deployment B: per-VM per-edge example bandwidth Hose model reserva8on at L 2 : 2B · N 2X overprovision by Hose Model logic - DB demand = B · N
Contribu8ons 1. Tenant Applica8on Graph (TAG) - Accurate for complex apps - Flexible to elas8c scaling - Intui8ve 2. VM Placement Algorithm - Guarantee bandwidth and high availability - Efficient for network and compute resources 23
Tenant Applica8on Graph (TAG) 1. Aggregate pipes (like Hose) - Model simplicity - Mul8plexing gain 2. Preserve inter-component DB DB DB structure (like Pipe) - Accurately capture applica8on demands web web web - Efficiently u8lize network resources logic logic logic Component-level graph mem mem mem
Tenant Applica8on Graph (TAG) B snd B rcv B in What do self-edges mean? B snd B rcv DB web (N D ) (N w ) TAG model web DB B snd = per-VM sending bandwidth B rcv = per-VM receiving bandwidth (VM-to-component aggrega8on) (component-to-VM aggrega8on)
Abstract models in TAG Self-edge ↔ Hose Direc8onal edge ↔ direc8onal Hose, Virtual Trunk Virtual Switch Virtual Trunk B in B rcv B snd B in B snd B rcv DB web … … (N D ) (N w ) web(N w ) DB(N D ) TAG model Total guarantee of virtual trunk = min(B snd · N w , B rcv · N D )
Ques8ons How are TAGs constructed? How to predict bandwidth demands? What is missing for the TAG model?
CloudMirror opera8on Available VM slots Network topology & BW reservation state TAG spec host1 10 host2 50 B B Web DB host3 25 (N) (N) VM placement BW reservation Admission control
Discussion 29
Next Time: Centralized Arbitra8on 30
31
Recommend
More recommend