89th American Meteorological Society Annual Meeting

Tuesday, 13 January 2009: 4:15 PM
Flexible Computing Architectures for Supporting Rapid Algorithm Development
Room 122BC (Phoenix Convention Center)
Jason D. James, NOAA, Suitland, MD
Poster PDF (443.6 kB)
What is server virtualization?

Server Virtualization is a new technology concept that provides superior hardware utilization capabilities when compared to a traditional computing environment. This technology provides significant advancements in efficiency, productivity and it has also redefined the role and architecture of science computing.

Server Virtualization technology unlocks vast opportunities by “abstracting” the operating system from the physical hardware layer. The software to hardware link in today's traditional computing environment “locks” the physical layer of a computer system into a fixed 1 to 1 operating system, physical hardware match. Server Virtualization “unlocks” this inefficient concept as a part of the evolution of maximizing the use of available resources. The “unlocking” allows system administrators an unparalleled flexibility to create multiple operating systems inside one hardware platform.

The key to server virtualization is that the software loads the operating systems into “files” that act as physical hard drives. This innovative approach allows all I/O components ( network cards, hard drives, memory, CPU) to be made available to all the operating systems present in the physical hardware system.

As a result, when the system is started, all operating systems ( Linux, Solaris, Windows) will each see and use all physical resources present. Below is a pictorial presentation of the traditional versus the virtualized server concepts.

How Does it Work?

Server Virtualization technology is based on a software component called a hypervisor. A hypervisor is the core component that manages and schedules access to resources when request are sent from the virtual machines to server resources. In Figure-3 below it is represented by the “virtual layer”. While the function of the hypervisor is similar across all virtualization solutions, the difference is that some hypervisors are proprietary and some are open source. The choice between the virtualization solutions depends on the tool set that has been built around each solution.

Benefits of Virtualization

Why is server virtualization technology worth investigating? The technology provides the ability to squeeze value out of your current computing infrastructure and it also creates a smart path to a more efficient and cost effective IT organization. Architecturally, virtual environments enable IT infrastructures to be flexible, manageable and most importantly agile. The ability to apply limited amounts of resources to a wide array of projects provides the science community the flexibility needed to support a rapid development environment.

Modes of Virtualization

There are two modes of virtualization a server can be configured for.

Fully Virtualized

Para-Virtualized

A fully virtualized server is a server that does not know it is a virtual machine. It functions as though it was a physical server and all resources are static while the sever is operational. The Para-Virtualized server mode enables the operating system to be aware that it is a virtual machine. The awareness allows the management software for the para-virtualized server to adjust the resources on-the-fly. An administrator can add additional memory and CPU's if needed while the server is operational.

Performance

There is a 3 to 6 percent performance overhead associated with virtualizing servers. The overhead as associated with the Hypervisor scheduling request from the virtual machines. This concern has been resolved by configuring virtual machines in the para-virtualization mode. The para-virtualization mode enables the kernel and the Hypervisor to communicate faster and thus minimizes the overhead associated with fully virtualized virtual machine mode. Some linux distributions enable para-virtualization inherently when the operating system is loaded in a virtual environment.

Information Sharing

Server virtualization enables developers to share the entire system. How is this done? Developers today are creating virtual appliances. These are pre-configured virtual servers that have a specific job. These server can be saved and downloaded by anyone who wishes to use them. How does this affect the science community? The science community can begin to pre-configure complex installations of science algorithms with an operating system of their choice and share the configuration throughout the community. Any scientist who wishes to add to or improve a processing system can do so by downloading the server or appliance and test the software and make improvements to the system and repost the server or appliance for download in the community. This type of collaboration is possible because the virtual servers are a set of files that represent the hard drive of a physical system. Like any other type of file, the virtual server files can be posted on the web for download. The community can then download those files and run a pre-configured appliance to test data sets. This is just one scenario of a world of opportunity when servers can be thought of as a set of files in need of some resources to consume to perform a job. Visit http://vmware.com/appliance to learn more about virtual appliances and the community supporting them.

What Problems Are Solved by Virtual Environments?

Operationally virtual server environments streamline system support and development. In a virtual server environment the server operators are able to build servers once and then create a server template that can be cloned or copied as many times as needed. This functionality enables Data Center Operators to maintain standard system installations and keep security standards intact across multiple system installs. The virtual server environment also allows for a quicker response to server request from customers, based on the template methodology described above.

Benefits

Virtual server environments provide many beneficial benefits for conserving power in data centers. The power savings come in many different forms. Normally, the idea is that a single physical server can support the jobs of many virtual servers thus improving the utilization of the physical server and reducing the amount of physical servers needed in a Data Center to get multiple jobs done.

Conclusion

Virtual server technology opens up many opportunities within a science computing environment. The software especially offers the science community improved methods to share complex systems that will enable others with limited resources to learn about advanced technologies with little technical computer knowledge. Sharing, developing and executing science algorithms can become an easier process than what is today.

Supplementary URL: