64
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September 28, 2004

MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

  • View
    221

  • Download
    4

Embed Size (px)

Citation preview

Page 1: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

MobiDesk: Mobile Virtual Desktop Computing

Ricardo A. Baratto, Shaya Potter, Gong Su, Jason NiehNetwork Computing Laboratory

Columbia University

September 28, 2004

Page 2: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Problem: Growing PC management complexity

Page 3: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Solution: MobiDesk

Page 4: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Issue: Interoperability

Installed Base + Investment in place

Unmodified applications, operating system kernels and network infrastructure

Page 5: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Virtualize Everything

Page 6: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Benefits

Page 7: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Simplified management

managementgoes here

Page 8: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Ubiquitous access

Page 9: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

High-availability

Page 10: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Outline

● MobiDesk Architecture ● Virtualization

● Display● Operating System● Network

● Related Work

● Experimental Results

● Conclusions

Page 11: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

MobiDesk Architecture

Page 12: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Virtualization

session environment decoupled from underlying physical infrastructure

PC

user session

DisplayOS Net

virtualization + translation

MobiDesk

user session

DisplayOS Net

Page 13: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Display Virtualization

applications

windowsystem

devicedriver

framebufferraw pixels

high-level requests

Page 14: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Display Virtualization

display updates

input events

virtual devicedriver

applications

windowsystem

devicedriver

framebuffer

Page 15: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Operating System Virtualization

user session

operating system namespace

namespace

syscall interposition + private fs namespace

user session

namespace

Page 16: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Virtualization Example

OS 1

MobiDesk

session A

pid 10

pid 10

pid 10

pid 10

OS 2

MobiDesk

session A

pid 10

pid 30

Page 17: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Session Migration

storage infrastructure

applications

namespace

restart

applications

namespace

checkpointapplications

namespace

Page 18: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Session Migration (cont)

● Application state saved in kernel independent format

● Use high-level application description

Page 19: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Network Virtualization – Overall View

➔ No changes to outside world

Page 20: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Session Network Virtualization

session A

1.1.1.1

MobiDesk

Host A2.2.2.2

Transport

Network

MobiDesk

Host B3.3.3.3

session A

1.1.1.1

session B

1.1.1.1

Page 21: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Related Work

● Thin-client computing● Virtual machines● Network mobility● On-demand services

Page 22: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Thin-client computing

For example:● Citrix Metaframe● Virtual Network Computing (VNC)● SunRay

Problem:Sessions tied to serverRemote display not designed for WANs

Network latency becomes an issue

Page 23: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Virtual Machines

For example:● VMware ESX Server

VirtualMachines

MobiDeskapplications

OS

hardware

Problem:● Applications tied to OS, even if OS needs to be

brought down

Page 24: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Network Mobility

For example:● MobileIP● Rocks● M-TCP

Issues:SimplicityTransparencyLow-overheadReusable session addresses

Page 25: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

On-demand Web Services

● Akamai● IBM's Oceano● Webmail

Problem:● Application specific solutions which depend

on the statelessness of web services

Page 26: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Experimental Results

● Prototype➔ Linux 2.4 kernel module and X device driver

Page 27: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Remote Display Performance

User-perceived performance on popular applications●Web browsing●Video playback

across different network environments●LAN●WAN

and compared to existing commercial systems

Page 28: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Web Browsing Performance

● Latency: average time for a web page to be displayed by the client

Page 29: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Web Browsing Latency

Page 30: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Video Playback Performance

● Video quality: playback time and frames displayed at the client

Example: 50% video quality● Twice as long to play the video, or● Half of the frames were not displayed

Page 31: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Video Quality

Page 32: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Session Migration

Page 33: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Session Migration Cost

Subsecond checkpoint and restart times:➔ 0.85s checkpoint➔ 0.94s restart

➔ 35MB image (8MB compressed)

➔ Across Linux kernel versions: 2.4.5 to 2.4.18

Page 34: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Conclusions

● Hosting infrastructure simplifies management

● Virtualized session environment provides ubiquitous access, session independence from underlying infrastructure, and user isolation

● Works with unmodified applications, operating system kernels, and network infrastructure, while being low overhead and providing efficient remote access

Page 35: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

More information...

http://www.ncl.cs.columbia.edu

Page 36: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Backup slides

Page 37: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Proxy Scalability

Page 38: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Network Virtualization Overhead

Page 39: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Remote Display – Web Browsing Data Transfer

Page 40: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Remote Display – Video Data Transfer

Page 41: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Future Work

● Virtualization of peripheral devices● High-end graphics support● Load balancing● Allow applications to be aware of virtualization?

Page 42: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Network Mobility

● Network layer: MobileIP– Complexity: Deals with general mobility scenario– Operating System support lacking

● Transport and Application layer– Not transparent– High overhead

Page 43: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

MobileIP

● Too complex– It's dealing with general mobility case

● Mobility dependent on surrounding network (agent advertisements)?– May even conflict with MobiDesk implementation

● Cannot reuse home address as long as session is alive– MobiDesk only suffers from this if we want public

addressable sessions● OS support lacking

– Would have to write our own implementation?

Page 44: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Network Mobility

Transport Layer● M-TCP● Need to modify the transport protocol

Application Layer● Rocks (reliable sockets), Mobile Socket● Modify socket library, emulate migration [close

old, open new]● High overhead: double buffering, additional error

recovery (in transit traffic)● Tied to specific transport protocol

Page 45: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Migration Details

● Process state saved in kernel independent format– High-level process description

● Standard kernel interfaces used to extract description

Page 46: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Other slides

Page 47: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Problem: PC Computing Model is flawed

● Unmanageable● Mobile devices make things worse

– Can be lost or stolenBUT, still used to carry sensitive information

● Normal people in charge of complicated computers

Page 48: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Virtualization

● Display

● Operating System

● Network

Page 49: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Virtualization

session environment decoupled from underlying physical infrastructure

virtual resources + translation layer

display driver OS identifiers IP address

Page 50: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Virtualization

session environment decoupled from underlying physical infrastructure

Today

user session

operatingsystem

hardware

MobiDesk

user session

virtualization + translation

operatingsystem

hardware

Page 51: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Display Virtualization

Page 52: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Session Migration

● Mechanism: Checkpoint – Restart

➔ Applications unaware of the process

Page 53: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Thin-client computing

Remote Access

Page 54: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Virtualization Example

Page 55: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Virtual Private Namespace

● Virtualize OS identifiers

● Privatize OS identifiers and filesystem

Page 56: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Virtual address

● Session migration does not affect applications or network– Persistent network connections

● Automatic translation: session address <=> physical addres transport layer network layer

Page 57: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Session Network Virtualization

Page 58: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Private address

● Isolation of network resources

● Per-session address namespace

Page 59: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

The Problem: PC computing model is flawed

Page 60: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

The Problem: PC computing model is flawed

Page 61: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Display Virtualization Benefits

Benefits:● Ubiquitous access● Zero-management access devices

➔ Virtual display driver works with unmodified applications

Page 62: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Benefits

● Session mobility● Session isolation

➔ Works with unmodified applications and operating system

Page 63: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

Benefits

● Network Mobility: Virtual IP● Network Isolation: Private IP

➔ Persistent network connections without any changes to applications or the outside world

Page 64: MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September

On-demand application and computational access