Virtualization A sample of research/experimental activity in the area of virtualization relative to distributed systems By David Higgins For CSE 7344 Spring 2010
Agenda • Introduction • Experimental Study of Large-scale Computing on Virtualized Resources • Investigating Suitability for Server Virtualization using Business Applications Benchmarks • Taking Snapshots of Virtual Networked Environments • An Architecture for Virtual Solution Composition and Deployment in Infrastructure Clouds • Enhancing Dynamic Cloud-based Services using Network Virtualization. • Bibliography
Introduction • reviewed five research papers in the area of virtualization as it applies to distributed systems. • covered a variety of topics • applications of virtual machines • how to take a valid snapshot across a distributed system • difficulties in configuration of a large virtual distributed system. • dynamically portable virtual machines. • Touched on some of the topics we covered in class • clock synchronization • collecting states across a distributed system • causality or logical time as it can be applied to distributed systems • Using TCP and UDP for message recovery or not • Volunteer computing • Disclaimer: all figures and tables are taken from the papers and not meant to be presented as original work.
Experimental Study of Large-scale Computing on Virtualized Resources • large scale parallel computing virtualized resources vs. physical Ex: grid computing and volunteer computing • Weather Research and Forecasting (WRF) • tightly-coupled communication application • mpiBLAST sequence database searches to match DNA and RNA patterns • loosely-coupled communications application • used system level VMs, • virtualizingof the entire physical hosts’ resources, including CPU, memory, I/O devices and require no modification of the guest OS. • executed a variety of test both small scale, large scale, single domain and cross domain
Experimental Study of Large-scale Computing on Virtualized Resources (cont.) • Results scalability trends for both types of MPAs for VMs are the same as those for the physical servers. • tightly-coupled communication application • Speedup when adding VMs but overhead greater • Resource use more efficient • Cross network slowing due to slower network communications on VM network • loosely-coupled communications application • considerable speedup due to the computation gained by parallelism, more in line with the physical network.
Investigating Suitability for Server Virtualization using Business Applications Benchmarks • Goal was to make a statement about which type of business applications worked well when virtualized. • Evaluated which virtualization technology to use • Xen, VMware, Hitachi and Direct I/O Virtual technology(DIVT) • DIVT was chosen based on • matched the physical server, a high precision clock, cycles per instruction is measurable, and direct I/O access • Used representative three-tier system see figure below. • Used standard commands and performance benchmarks were used. • Recommendation table below were results.
Investigating Suitability for Server Virtualization using Business Applications Benchmarks (cont.)
Taking Snapshots of Virtual Networked Environments • Currently on local snapshots are possible • Goal “taking snapshots of an entire distributed runtime environment”. • Clock synchronization is an issue • Use casually consistent state (logical time) • The following are steps executed to complete the snapshot. • A snapshot initiator takes a local snapshot of the VMs • sends a TAKE_SNAPSHOT message to the other VIOLIN switches • color is changed to post-snapshot color and only accepts messages bearing that color. • receiving switch takes a local snapshot • during which time it will discard any post-snapshot color messages. • Upon completion a SNAPSHOT_COMPLETE message is sent • all future messages use the post-snapshot color. • The snapshot is complete when the initiator receives SNAPSHOT_SUCCESS from all other switches.
Taking Snapshots of Virtual Networked Environments • TCP should be used if guarantied message delivery is required • Two sources of runtime overhead • saving the VM memory image to the disk • the TCP backoff (message flow suspension) after the snapshot or upon restoring a snapshot.
An Architecture for Virtual Solution Composition and Deployment in Infrastructure Clouds • installation of artifacts and configuration and installation of middleware containers • web servers, application servers, databases, message engines and directories • configuration of the infrastructure for communications, isolation, and security. • Areas of complexity • Solution design – architects must make decisions on • the use and type of application clustering technology, authentication services, data storage and grouping of components • Software Stack Cross Configuration –cross machine configuration • need to access authentication servers, databases cannot be captured on the combined set of virtual machines. The needed configurations must be inferred and implemented at deployment time. Configuring the dynamic parts of a solution is still complex. • Cloud Environment Configuration – • The capabilities and interfaces for environment configuration vary significantly across clouds. • Automating the Deployment – automation is difficult • calls and parameters are specific to each service in the cloud environment configuration • temporal constraints will also exist between services
An Architecture for Virtual Solution Composition and Deployment in Infrastructure Clouds • Roles defined in the model driven approach see figure 1 • Domain experts • construct virtual appliances which are implemented by virtual images with pre-built configurability points for self and cross-configuration. • Solution Architects • create a Virtual Solution Model(VSM) by selecting virtual appliance models, and specifying configurability choices. • describe deployment requirements in a cloud-independent manner using abstractions such as availability zones, network zones, placement constraints and resource consumption constraints. • Deployment Architects • consume a VSM and transform it to a cloud specific virtual solution deployment model(VSDM) • normal user such as a tester • The VSDM is transformed into a virtual solution deployment plan(VSDP) which can then be executed.
An Architecture for Virtual Solution Composition and Deployment in Infrastructure Clouds
Enhancing Dynamic Cloud-based Services using Network Virtualization • “a cloud based model where users will be running thin clients on their devices to access applications and services hosted on networks.” • Requirements • need to dynamically allocate the VMs to support new services and applications • as the user population changes locations a flexible service delivery system would allow the virtual machines to migrate to different locations in the cloud • “to logically combine multiple geographically distributed physical devices to form a single virtualized router, where each physical device mimics a virtual line card with multiple virtual ports.”
Enhancing Dynamic Cloud-based Services using Network Virtualization • Virtually Clustered Open Router (VICTOR). • a cluster forwarding elements (FE) • The FEs handle data plane functions such as packet forwarding, policing and policy enforcement • central controllers(CC) • The CC controls routing and signaling for the VM’s IP prefixes. • A routing table is used by the CC to map VMs to FEs for internal routing. • to an external device this looks like one router
Enhancing Dynamic Cloud-based Services using Network Virtualization
Enhancing Dynamic Cloud-based Services using Network Virtualization • There were several new potential applications that could be enabled by VICTOR. • Mobile Shadow Virtual Machine • a VM dedicated to thin client to support gaming or virtual desktop apps. • If the user changes locations the VM will move with him • Optimized Cloud Computing • VM servers supporting a particular application are migrated across data centers as the demand for services changes with time of day. • Virtual Mobile Phones. • Along with all the normal mobile phone functions. • VM would run on the endpoints such as handhelds • VICTOR will allow the VM to migrate across different devices. Ex: move the video you are watching from a phone to an IPad or TV.
Summary • looked a several areas of work • experiments and analysis on how to apply virtual machines, • Snapshot across distributed systems • issues of installation/configuration • mobile virtual machines • Can see a wide variety of activity even with this small sample. • idea of the potential impact that virtualization is having/going to have on the way we develop new systems and how we interact with the network.
Bibliography • Alexander V. Konstantinou, Tamar Eilam, Michael Kalantar, Alexander A. Totok, William Arnold, Edward Snible An Architecture for Virtual Solution Composition and Deployment in Infrastructure Clouds [Conference] // VTDC. - Barcelona : ACM, June 15, 2009. - pp. 9 - 17. • ArdalanKangarlouDongyanXu, Paul Roth, PartickEugster Taking Snapshots of Virtual Networked Environments [Conference] // VTDC. - Reno, NY : ACM, November 12, 2007. • Fang Hao, T.V.Lakshman, SaritMukherjee, Haoyu Song Enhancing Dynamic Cloud-based Services using Network Virtualization [Conference] // VISA '09. - ACM : ACM, January 2010. - Vol. 40. - pp. 67 - 74. • Jaun C. Martinez Lixi Wang, Ming Zhao, S. MasoudSadjadi Experimental Study of Large-scale Computing on Virtualized Resources [Conference] // VTDC '09. - Barcelona : ACM, june 15, 2009. - pp. 35 - 41. • Tsuyoshi Tanaka Toshiaki Tarui, and Ken Naono Investigating Suitability for Server Virtualization using Business Applications Benchmarks [Conference] // VTDC '09. - Barcelona : ACM, June 15, 2009. - pp. 43-50.