XvMo%on: ¡ Unified ¡Virtual ¡Machine ¡ Migra%on ¡over ¡Long ¡Distance Ali ¡José ¡Mash,zadeh, ¡Min ¡Cai, ¡Gabriel ¡Tarasuk-‑Levin, ¡ Ricardo ¡Koller, ¡Tal ¡Garfinkel, ¡Sreekanth ¡SeBy ¡ Stanford ¡University ¡– ¡VMware, ¡Inc. ¡
Live ¡Migra%on Virtual ¡Machine ¡ Source ¡Host ¡ Des,na,on ¡Host ¡ Cloud ¡
Migra%on ¡Benefits • Test ¡to ¡produc,on ¡migra,ons ¡ • Disaster ¡Preparedness ¡Tes,ng ¡ • Cross-‑Datacenter ¡Load ¡Balancing ¡ • Shared-‑Nothing ¡Architecture ¡
Migra%on ¡in ¡Prac%ce Virtual ¡Machine ¡ Virtual ¡Machine ¡ Requires: ¡ Shared ¡Storage ¡ Fast ¡Networking ¡ Source ¡Host ¡ Des,na,on ¡Host ¡ Single ¡Subnet ¡
This ¡is ¡not ¡what ¡we ¡really ¡want • Migra,ons ¡are ¡limited ¡to ¡machines ¡that: ¡ With ¡shared ¡storage, ¡fast ¡networks, ¡and ¡same ¡LAN ¡ • Technological ¡Changes: ¡ • Shared ¡nothing ¡applica,on ¡architectures ¡ • Network ¡mobility ¡possible: ¡LISP, ¡OTV, ¡VXlan, ¡OpenFlow ¡ (SDN) ¡ • Very ¡large ¡virtualized ¡datacenters ¡ • No ¡reason ¡for ¡these ¡limita,ons ¡any ¡longer ¡ • Customers ¡have ¡new ¡use ¡cases ¡
XvMo%on • XvMo,on: ¡First ¡commercially ¡viable ¡WAN ¡migra,on ¡ • Achieve ¡Low ¡Down,me ¡AND ¡Atomic ¡Switchover ¡ • Uses ¡Asynchronous ¡IO ¡Mirroring ¡ • Principle: ¡ Flow ¡control ¡mechanisms ¡for ¡memory ¡and ¡disk ¡
Customer ¡Scenario LAN ¡ WAN ¡ Bandwidth ¡ 10 ¡Gbps ¡ 1 ¡Gbps ¡or ¡less ¡ (some,mes ¡40 ¡Gbps) ¡ Latency ¡ <1 ¡ms ¡ ~100 ¡ms ¡ Typical ¡Network ¡ Dedicated ¡NIC(s) ¡ Shared ¡connec,on ¡ between ¡sites ¡
Example ¡Workload Client ¡ Applica,on ¡ Highly ¡Available ¡ Database ¡ HA ¡Timeouts ¡several ¡seconds ¡ TCP ¡Timeouts ¡120 ¡seconds ¡
Down%me ¡(Switchover ¡Time) Virtual ¡Machine ¡ Source ¡Host ¡ Des,na,on ¡Host ¡ Running ¡ Stopped ¡ Running ¡ Goal: ¡Less ¡than ¡1 ¡Second ¡of ¡Down,me ¡
Atomicity Virtual ¡Machine ¡ Virtual ¡Machine ¡ Source ¡Host ¡ Des,na,on ¡Host ¡ Goal: ¡Atomic ¡switchover ¡
XvMo%on • Unifies ¡Memory ¡Migra,on ¡and ¡Storage ¡Migra,on ¡ • Tolerates ¡wide ¡area ¡network ¡bandwidth/latency ¡and ¡ reliability ¡ • Tolerates ¡heterogeneous ¡storage ¡performance ¡ • Down,mes ¡and ¡workload ¡impact ¡comparable ¡to ¡local ¡ migra,on ¡ • Atomic ¡switchover ¡ • Deployed ¡in ¡customer ¡metro ¡area ¡networks ¡ • Cross ¡con,nent ¡migra,on ¡e.g. ¡Palo ¡Alto ¡to ¡India ¡is ¡ prac,cal ¡
Overview • Architecture ¡Overview ¡ • Wide ¡Area ¡Memory ¡Migra,on ¡ • Wide ¡Area ¡Storage ¡Migra,on ¡ • Evalua,on ¡
Unified ¡Live ¡Migra%on Virtual ¡Machine ¡ Virtual ¡Machine ¡ Source ¡Host ¡ Des,na,on ¡Host ¡
XvMo%on ¡Architecture Source ¡ Des4na4on ¡ Virtual ¡Machine ¡IO ¡ Live ¡Migra,on ¡ Live ¡Migra,on ¡ Streams ¡ Streams ¡ TCP ¡ IO ¡Mirror ¡ IO ¡Buffer ¡ IO ¡Buffer/Writer ¡
Overview • Architecture ¡Overview ¡ • Wide ¡Area ¡Memory ¡Migra4on ¡ • Wide ¡Area ¡Storage ¡Migra,on ¡ • Evalua,on ¡
XvMo%on ¡Architecture: ¡ Live ¡Migra%on Source ¡ Des4na4on ¡ Virtual ¡Machine ¡IO ¡ Live ¡Migra,on ¡ Live ¡Migra,on ¡ Streams ¡ Streams ¡ TCP ¡ IO ¡Mirror ¡ IO ¡Buffer ¡ IO ¡Buffer/Writer ¡
Live ¡Migra%on: ¡ Total ¡Time ¡vs ¡Down%me Source ¡ Des,na,on ¡ Memory ¡
Live ¡Migra%on: ¡ Total ¡Time ¡vs ¡Down%me Source ¡ Des,na,on ¡ Memory ¡
Live ¡Migra%on: ¡ Total ¡Time ¡vs ¡Down%me Source ¡ Des,na,on ¡ Memory ¡
Live ¡Migra%on: ¡ Total ¡Time ¡vs ¡Down%me Source ¡ Des,na,on ¡ Memory ¡ • Itera,ve ¡copy ¡hopefully ¡reduces ¡the ¡working ¡set ¡ each ¡itera,on ¡ • Depends ¡on ¡Network ¡being ¡faster ¡than ¡Dirty ¡rate ¡
Current ¡Solu%on: ¡ Early ¡Resume/Post-‑copy • Problem: ¡Applica,ons ¡can ¡change ¡memory ¡faster ¡ than ¡network ¡bandwidth ¡ • Solu,on: ¡ • Stop ¡migra,on ¡copy ¡everything ¡ • Resume ¡early ¡if ¡down,me ¡is ¡high ¡ • Des,na,on ¡remote ¡page ¡faults ¡on ¡missing ¡pages ¡
Stun ¡During ¡Page ¡Send ¡(SDPS) • Problems ¡with ¡Early ¡Resume: ¡ • Remote ¡page ¡faults ¡very ¡expensive ¡for ¡high ¡latency ¡ networks ¡ • Not ¡atomic: ¡Unsafe ¡for ¡WANs ¡where ¡network ¡hiccups ¡ are ¡more ¡likely ¡ • Solu,on: ¡ ThroBle ¡VM ¡just ¡enough ¡to ¡keep ¡dirty ¡rate ¡< ¡ network ¡rate ¡
SDPS ¡Down%me ¡Results 2.5 ¡ 2 ¡ Down4me ¡(s) ¡ 1.5 ¡ 1 ¡ 0.5 ¡ 0 ¡ 24-‑users ¡ 48-‑users ¡ SDPS ¡OFF ¡ SDPS ¡ON ¡
Overview • Architecture ¡Overview ¡ • Wide ¡Area ¡Memory ¡Migra,on ¡ • Wide ¡Area ¡Storage ¡Migra4on ¡ • Evalua,on ¡
XvMo%on ¡Architecture: ¡ IO ¡Mirroring Source ¡ Des4na4on ¡ Virtual ¡Machine ¡IO ¡ Live ¡Migra,on ¡ Live ¡Migra,on ¡ Streams ¡ Streams ¡ TCP ¡ IO ¡Mirror ¡ IO ¡Buffer ¡ IO ¡Buffer/Writer ¡
Problem: ¡ Synchronous ¡ mirroring ¡over ¡the ¡WAN ¡ slows ¡guest ¡workload ¡ Goal: ¡ Hide ¡network ¡latency ¡from ¡VM ¡
XvMo%on ¡Buffering: ¡ Asynchronous ¡IO Source ¡ Des4na4on ¡ VM ¡ Streams ¡ Streams ¡ Transport ¡ Transport ¡ TCP ¡ IO ¡ IO ¡ Framework ¡ Framework ¡ Mirror ¡IO ¡ IO ¡Buffer ¡ Bulk ¡Disk ¡Copy ¡ IO ¡
XvMo%on ¡Buffering: ¡ Asynchronous ¡IO Source ¡ Des4na4on ¡ VM ¡ Streams ¡ Streams ¡ Transport ¡ Transport ¡ TCP ¡ Framework ¡ Framework ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡Buffer ¡
Problem: ¡ Workload ¡may ¡be ¡ too ¡fast ¡on ¡source ¡for ¡the ¡ des;na;on ¡ Goal: ¡ThroBle ¡copy ¡process ¡and ¡ workload ¡as ¡necessary ¡
XvMo%on ¡Buffering: ¡ Conges%on ¡Control Source ¡ Des4na4on ¡ VM ¡ Streams ¡ Streams ¡ Transport ¡ Transport ¡ TCP ¡ Framework ¡ Framework ¡ Back ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ Pressure ¡ Slow ¡ IO ¡Buffer ¡ Disk ¡ Send ¡free ¡buffer ¡space ¡ IO ¡ Limit ¡per-‑disk ¡OIOs/buffer ¡on ¡des,na,on ¡
XvMo%on ¡Buffering: ¡ Conges%on ¡Control Source ¡ Des4na4on ¡ VM ¡ Streams ¡ Streams ¡ Transport ¡ Transport ¡ TCP ¡ Framework ¡ Framework ¡ Back ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ Pressure ¡ Slow ¡ IO ¡Buffer ¡ Disk ¡ Send ¡free ¡buffer ¡space ¡ IO ¡ Limit ¡per-‑disk ¡OIOs/buffer ¡on ¡des,na,on ¡
Overview • Architecture ¡Overview ¡ • Wide ¡Area ¡Memory ¡Migra,on ¡ • Wide ¡Area ¡Storage ¡Migra,on ¡ • Evalua4on ¡
Evalua%on • Migra,on ¡Time: ¡Total ¡end-‑to-‑end ¡,me ¡ • Down,me: ¡Time ¡machine ¡execu,on ¡is ¡suspended ¡ for ¡final ¡switchover ¡ • Workload ¡Penalty: ¡Average ¡percentage ¡penalty ¡to ¡ the ¡VM ¡workload ¡ • OLTP ¡IO ¡Workload ¡(data ¡disk ¡only) ¡ • 10 ¡GB ¡system/12 ¡GB ¡data ¡
XvMo%on ¡Down%mes 1.2 ¡ 1 ¡ Down,me ¡(s) ¡ 0.8 ¡ 0.6 ¡ 0.4 ¡ 0.2 ¡ 0 ¡ 0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ Latency ¡(ms) ¡ Take ¡Away: ¡~1 ¡second ¡down,me ¡independent ¡of ¡distance ¡
XvMo%on ¡Migra%on ¡Time Latency ¡ 300 ¡ 250 ¡ Total ¡Time ¡(s) ¡ 200 ¡ 150 ¡ 100 ¡ 50 ¡ 0 ¡ 0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ Latency ¡(ms) ¡ Take ¡Away: ¡small ¡linear ¡,me ¡increase ¡with ¡distance ¡
California ¡to ¡India ¡Migra%on • 1 ¡Gbps ¡network ¡with ¡214 ¡ms ¡RTT ¡ • OLTP: ¡68 ¡MB/s ¡disk ¡copy ¡– ¡89 ¡MB/s ¡memory ¡copy ¡ • ~11% ¡Workload ¡Penalty ¡from ¡ThroBling ¡
Recommend
More recommend