200 likes | 350 Views
Netbus: A Transparent Mechanism for Remote Device Access in Virtualized Systems. Sanjay Kumar PhD Student Advisor: Prof. Karsten Schwan. Remote Device Access. Transparent access to remote devices is becoming essential in various computing environments
E N D
Netbus: A Transparent Mechanism for Remote Device Access in Virtualized Systems Sanjay Kumar PhD Student Advisor: Prof. Karsten Schwan
Remote Device Access • Transparent access to remote devices is becoming essential in various computing environments • datacenters, clusters and even in personal computing • Remote disks, backup drives, movie on a thin client etc. • Essential in virtualized environment for VM migration • Easy for networked devices • iSCSI, NAS, SAN • But what about non-networked devices? • NDB, DRBD etc. for block devices • No support during VM migration • Netbus: Provides transparent and generic access to remote devices • Virtual device migration and device hot-swapping
IPod on networked docking station Backup DVD-drive Network Blade-Server Blade-Server
Netbus Software Architecture • Targets high-bandwidth, low-latency and reliable networks with single administrative domain • Datacenters, blade-servers, clusters, home and office LAN • Similar to channels in pub/sub systems • Server exports the device (channel), Client connects (subscribe) to it • Logical extension of frontend-backend approach to device virtualization • Frontend can communicate with a remote backend • Application layer client establishes the connection with server • The fast path is inside kernel • Abstraction of a network bus • Generic mechanism with device specific callback functions • Common Netbus header followed by device specific data • Data passed to device specific callbacks for further processing
Netbus: Software Architecture (contd.) Local Machine Local Machine Remote Machine Guest VM Service VM Guest VM Service VM Service VM Network Add remote Dev. to VM Add Device to VM Client Server User device driver device driver Kernel BE L-BE R-BE FE FE Netbus Hypervisor Hypervisor Hypervisor device vdevice device vdevice
Netbus: Software Architecture (contd.) • Virtual Device Migration • Migrate virtual devices along with VMs • Provides continuous access to VM’s devices after VM migration through Netbus • How to deal with pending I/O operations? • Bring the device into a quiescent state before migration • No pending I/O operations • I/O operations get queued into the FE and complete after VM migration
Virtual Device Migration and Device Hot-swapping VM Migration Local Machine Remote Machine Guest VM Service VM Service VM Guest VM Network Add remote Dev. to VM Client Server User device driver device driver Kernel L-BE R-BE FE FE Netbus Hypervisor Hypervisor device vdevice device vdevice
Netbus: Software Architecture (contd.) • Device Hot-swapping • Replace the remote device with an ‘equivalent’ local device while in operation • Increases throughput, removes network dependence, hardware maintenance • Useful for rarely migrated VMs • How to deal with pending IO operations • Same as with virtual device migration • Can be combined with virtual device migration • To complete both operations in one shot • Netbus’ prototype implemented in Xen and works for block and USB devices
Netbus Evaluation • Testbed description • Two Dell Poweredge 2650s connected through a gigabit switch • Each machine has 2 2.8 GHz, 2-wat HT Xeon CPUs and 2 GB RAM • Iozone file I/O benchmarks used Write throughput of block devices
Netbus Latency Latency incurred by various components in accessing IO devices
Virtual Device Migration MySQL server migration in RuBIS online auction benchmark
RuBIS Database server VM migration Effect on RUBiS Throughput due to MySQL Server Migration
Effect on Iozone throughput due to VM migration and disk hot-swapping
Remote Device Sharing Host1 device1 Host2 device2 vdevice2 vdevice4 vdevice4 Host3 Host4 device3 device4