XvMo%on: Unified Virtual Machine Migra%on over Long Distance Ali - - PowerPoint PPT Presentation

xvmo on
SMART_READER_LITE
LIVE PREVIEW

XvMo%on: Unified Virtual Machine Migra%on over Long Distance Ali - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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. ¡

slide-2
SLIDE 2

Live ¡Migra%on

Virtual ¡Machine ¡

Source ¡Host ¡ Des,na,on ¡Host ¡

Cloud ¡

slide-3
SLIDE 3

Migra%on ¡Benefits

  • Test ¡to ¡produc,on ¡migra,ons ¡
  • Disaster ¡Preparedness ¡Tes,ng ¡
  • Cross-­‑Datacenter ¡Load ¡Balancing ¡
  • Shared-­‑Nothing ¡Architecture ¡
slide-4
SLIDE 4

Virtual ¡Machine ¡

Migra%on ¡in ¡Prac%ce

Virtual ¡Machine ¡

Source ¡Host ¡ Des,na,on ¡Host ¡

Requires: ¡ Shared ¡Storage ¡ Fast ¡Networking ¡ Single ¡Subnet ¡

slide-5
SLIDE 5

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 ¡
slide-6
SLIDE 6

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 ¡

slide-7
SLIDE 7

Customer ¡Scenario

LAN ¡ WAN ¡ Bandwidth ¡ 10 ¡Gbps ¡ (some,mes ¡40 ¡Gbps) ¡ 1 ¡Gbps ¡or ¡less ¡ Latency ¡ <1 ¡ms ¡ ~100 ¡ms ¡ Typical ¡Network ¡ Dedicated ¡NIC(s) ¡ Shared ¡connec,on ¡ between ¡sites ¡

slide-8
SLIDE 8

Example ¡Workload

Applica,on ¡ Highly ¡Available ¡ Database ¡ Client ¡ HA ¡Timeouts ¡several ¡seconds ¡ TCP ¡Timeouts ¡120 ¡seconds ¡

slide-9
SLIDE 9

Down%me ¡(Switchover ¡Time)

Virtual ¡Machine ¡ Running ¡ Stopped ¡ Running ¡

Goal: ¡Less ¡than ¡1 ¡Second ¡of ¡Down,me ¡

Source ¡Host ¡ Des,na,on ¡Host ¡

slide-10
SLIDE 10

Virtual ¡Machine ¡

Atomicity

Virtual ¡Machine ¡

Source ¡Host ¡ Des,na,on ¡Host ¡

Goal: ¡Atomic ¡switchover ¡

slide-11
SLIDE 11

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 ¡

slide-12
SLIDE 12

Overview

  • Architecture ¡Overview ¡
  • Wide ¡Area ¡Memory ¡Migra,on ¡
  • Wide ¡Area ¡Storage ¡Migra,on ¡
  • Evalua,on ¡
slide-13
SLIDE 13

Virtual ¡Machine ¡

Unified ¡Live ¡Migra%on

Virtual ¡Machine ¡

Source ¡Host ¡ Des,na,on ¡Host ¡

slide-14
SLIDE 14

XvMo%on ¡Architecture

IO ¡Mirror ¡ Virtual ¡Machine ¡IO ¡ IO ¡Buffer ¡ Live ¡Migra,on ¡ Streams ¡ Streams ¡

Source ¡ Des4na4on ¡

IO ¡Buffer/Writer ¡ Live ¡Migra,on ¡ TCP ¡

slide-15
SLIDE 15

Overview

  • Architecture ¡Overview ¡
  • Wide ¡Area ¡Memory ¡Migra4on ¡
  • Wide ¡Area ¡Storage ¡Migra,on ¡
  • Evalua,on ¡
slide-16
SLIDE 16

XvMo%on ¡Architecture: ¡ Live ¡Migra%on

IO ¡Mirror ¡ Virtual ¡Machine ¡IO ¡ IO ¡Buffer ¡ Live ¡Migra,on ¡ Streams ¡ Streams ¡

Source ¡ Des4na4on ¡

IO ¡Buffer/Writer ¡ Live ¡Migra,on ¡ TCP ¡

slide-17
SLIDE 17

Live ¡Migra%on: ¡ Total ¡Time ¡vs ¡Down%me

Memory ¡ Source ¡ Des,na,on ¡

slide-18
SLIDE 18

Live ¡Migra%on: ¡ Total ¡Time ¡vs ¡Down%me

Memory ¡ Source ¡ Des,na,on ¡

slide-19
SLIDE 19

Live ¡Migra%on: ¡ Total ¡Time ¡vs ¡Down%me

Memory ¡ Source ¡ Des,na,on ¡

slide-20
SLIDE 20

Live ¡Migra%on: ¡ Total ¡Time ¡vs ¡Down%me

  • Itera,ve ¡copy ¡hopefully ¡reduces ¡the ¡working ¡set ¡

each ¡itera,on ¡

  • Depends ¡on ¡Network ¡being ¡faster ¡than ¡Dirty ¡rate ¡

Memory ¡ Source ¡ Des,na,on ¡

slide-21
SLIDE 21

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 ¡
slide-22
SLIDE 22

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 ¡

slide-23
SLIDE 23

SDPS ¡Down%me ¡Results

0 ¡ 0.5 ¡ 1 ¡ 1.5 ¡ 2 ¡ 2.5 ¡ 24-­‑users ¡ 48-­‑users ¡ Down4me ¡(s) ¡ SDPS ¡OFF ¡ SDPS ¡ON ¡

slide-24
SLIDE 24

Overview

  • Architecture ¡Overview ¡
  • Wide ¡Area ¡Memory ¡Migra,on ¡
  • Wide ¡Area ¡Storage ¡Migra4on ¡
  • Evalua,on ¡
slide-25
SLIDE 25

XvMo%on ¡Architecture: ¡ IO ¡Mirroring

IO ¡Mirror ¡ Virtual ¡Machine ¡IO ¡ IO ¡Buffer ¡ Live ¡Migra,on ¡ Streams ¡ Streams ¡

Source ¡ Des4na4on ¡

IO ¡Buffer/Writer ¡ Live ¡Migra,on ¡ TCP ¡

slide-26
SLIDE 26

Problem: ¡Synchronous ¡ mirroring ¡over ¡the ¡WAN ¡ slows ¡guest ¡workload ¡

Goal: ¡Hide ¡network ¡latency ¡from ¡VM ¡

slide-27
SLIDE 27

VM ¡

IO ¡ IO ¡

XvMo%on ¡Buffering: ¡ Asynchronous ¡IO

TCP ¡

Streams ¡ Transport ¡ Framework ¡

Source ¡ Des4na4on ¡

Bulk ¡Disk ¡Copy ¡ Mirror ¡IO ¡ IO ¡Buffer ¡ Streams ¡ Transport ¡ Framework ¡

IO ¡

slide-28
SLIDE 28

XvMo%on ¡Buffering: ¡ Asynchronous ¡IO

VM ¡

TCP ¡

Streams ¡ Transport ¡ Framework ¡

Source ¡ Des4na4on ¡

IO ¡Buffer ¡ Streams ¡ Transport ¡ Framework ¡

IO ¡ IO ¡ IO ¡ IO ¡

slide-29
SLIDE 29

Problem: ¡Workload ¡may ¡be ¡ too ¡fast ¡on ¡source ¡for ¡the ¡ des;na;on ¡

Goal: ¡ThroBle ¡copy ¡process ¡and ¡ workload ¡as ¡necessary ¡

slide-30
SLIDE 30

IO ¡

XvMo%on ¡Buffering: ¡ Conges%on ¡Control

VM ¡

TCP ¡

Streams ¡ Transport ¡ Framework ¡

Source ¡ Des4na4on ¡

IO ¡Buffer ¡ Streams ¡ Transport ¡ Framework ¡

IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ Back ¡ Pressure ¡

Limit ¡per-­‑disk ¡OIOs/buffer ¡on ¡des,na,on ¡ Send ¡free ¡buffer ¡space ¡ Slow ¡ Disk ¡

slide-31
SLIDE 31

IO ¡

XvMo%on ¡Buffering: ¡ Conges%on ¡Control

VM ¡

TCP ¡

Streams ¡ Transport ¡ Framework ¡

Source ¡ Des4na4on ¡

IO ¡Buffer ¡ Streams ¡ Transport ¡ Framework ¡

IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ IO ¡ Back ¡ Pressure ¡

Limit ¡per-­‑disk ¡OIOs/buffer ¡on ¡des,na,on ¡ Send ¡free ¡buffer ¡space ¡ Slow ¡ Disk ¡

slide-32
SLIDE 32

Overview

  • Architecture ¡Overview ¡
  • Wide ¡Area ¡Memory ¡Migra,on ¡
  • Wide ¡Area ¡Storage ¡Migra,on ¡
  • Evalua4on ¡
slide-33
SLIDE 33

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 ¡
slide-34
SLIDE 34

XvMo%on ¡Down%mes

0 ¡ 0.2 ¡ 0.4 ¡ 0.6 ¡ 0.8 ¡ 1 ¡ 1.2 ¡ 0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ Down,me ¡(s) ¡ Latency ¡(ms) ¡

Take ¡Away: ¡~1 ¡second ¡down,me ¡independent ¡of ¡distance ¡

slide-35
SLIDE 35

XvMo%on ¡Migra%on ¡Time

0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ 250 ¡ 300 ¡ 0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ Total ¡Time ¡(s) ¡ Latency ¡(ms) ¡

Latency ¡

Take ¡Away: ¡small ¡linear ¡,me ¡increase ¡with ¡distance ¡

slide-36
SLIDE 36

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 ¡
slide-37
SLIDE 37

Summary

  • XvMo,on ¡frees ¡migra,on ¡from ¡the ¡need ¡for ¡shared ¡

storage ¡and ¡fast ¡local ¡networks ¡

  • Tolerates ¡wide ¡area ¡network ¡bandwidth/latency ¡and ¡

reliability ¡

  • Tolerates ¡heterogeneous ¡storage ¡performance ¡
  • Down,mes ¡and ¡workload ¡penalty ¡comparable ¡to ¡local ¡

migra,on ¡

  • Atomic ¡Switchover ¡
  • Enables ¡new ¡use ¡cases ¡– ¡e.g. ¡disaster ¡preparedness, ¡

cluster ¡upgrade, ¡shared ¡nothing ¡

  • On ¡the ¡path ¡to ¡deployment: ¡
  • Deployed ¡in ¡customer ¡metro ¡area ¡networks ¡
  • Cross ¡con,nent ¡migra,on ¡e.g. ¡Palo ¡Alto ¡to ¡India ¡is ¡prac,cal ¡
slide-38
SLIDE 38

Ques%ons? ¡