Cray
HPCwire

Since 1986 - Covering the Fastest Computers
in the World and the People Who Run Them

Language Flags

Visit additional Tabor Communication Publications

Datanami
Digital Manufacturing Report
HPC in the Cloud
Green Computing Report

Tabor Communications
Corporate Video

The Last Mile of Virtualization


A review of eXludus’ new micro-virtualization technology for multicore environments

In a previous article (We Need More than Multicore), I discussed the evolution of multicore processors, and the dramatic effect this processor shift can have on compute cluster performance. Clearly, leveraging a lot of cores will require that many concurrent tasks – as opposed to a single massively parallel task – run safely and predictably within a system. These concurrent tasks will range from serial to multi-threaded to parallel tasks, and all will need to share the same system resources in a productive and reliable manner.

The question becomes how to do this in operating systems (OS) environments that were not designed with multicore architectures in mind. For example, Linux, which has become the pervasive operating OS for servers, is based on time slicing, which is somewhat analogous to suboptimal round-robin server farm dispatch. But it has limitations when running many concurrent tasks that access shared processors and memory. As the number of competing tasks increases, the likelihood of interference between tasks rises exponentially.

The operating system has limited tools that identify escalating resource access problems or proactive defenses to resolve such problems. With these inherent limitations, users often realize reduced system performance and/or reliability. Nor can the OS manage work prioritization between tasks very well, so the established workload management priorities are largely lost when a mix of jobs from different queues are dispatched to a compute node. In summary, the major issues with today’s multicore systems include:

  • For most applications, users are only able to leverage the capabilities of ALL cores (and thus experience high overall utilization) by running many iterations concurrently. The challenge then becomes a balancing act. Even slightly too much work, in terms of physical memory oversubscription (as little as 5 percent), leads to performance degradation and reliability problems. Too little work gets done and valuable resources sit idle.

  • It is manually impossible to continuously balance work against resources, as the use of these resources fluctuates during an application’s execution. And user memory hints, to the extent they are accurate, have to express the high-water usage even though an application may use much less than the high-water mark for a significant percentage of the time.

  • With multi-application/multi-tenant systems, it is difficult or even impossible to meet varying service level agreements (SLAs). Users and applications may not get the level of resources expected, committed, or paid for, and performance levels may vary widely from one iteration to the next.

  • With many concurrently running applications, all work becomes largely equal in the kernel, so high-value tasks can be slowed down by low-value tasks. Under standard Linux it is difficult or even impossible to set varying priority levels for the various executing applications.

  • Full server virtualization is too heavy-handed for running high performance applications. While legacy virtualization may allow you to segment a system in an attempt to improve system utilization, the added utilization rate may be offset in large part by the hypervisor overhead. Legacy server virtualization is useful for multi-OS requirements, but if the organization just needs to run millions of jobs under the same (Linux) OS then overhead, administration, and costs are too high.  

Multicore optimization specialist eXludus Technologies believes it has the answer. The company recently announced the industry’s first micro-virtualization solution. This software creates lightweight micro-containers that encapsulate one or more applications, and are based upon defined application or project policies. These containers have embedded resource allocation intelligence that applies predictive queuing algorithms in order to optimize allocation of micro-resources, such as cores and memory. And it does so in real time.

With negligible system and administrative overhead, the eXludus solution expands the use case for virtualization, making it suitable for performance-sensitive environments (most notably, HPC) that have previously avoided virtualization because of overhead concerns.

The software promises to extract up to 70 percent more throughput from the same resources, while acting as a safety net to avoid resource over-subscription that is detrimental to system performance. Since the micro-containers run within an OS, the eXludus software can be deployed separately from or together with existing server and storage virtualization solutions.

By applying virtualization underneath the OS, a number of benefits are exposed. For example, although it’s easy to load a system, the challenge is achieving maximum utilization while avoiding resource oversubscription, which leads to performance reduction and system instability. Using a lightweight framework, micro-virtualization automates the process of optimizing resources, safely allowing system utilization to be increased. In more detail, micro-virtualization is designed to:

  • Achieve more application processing power per system, aids server consolidation, resulting in fewer systems needed for given workload, and reduces data center power demands (system power, cooling, and space).

  • Maintain kernel level task priorities so that resources are steered to high-value work.

  • Ensure SLA can be met though simple and easy to define policies.

The support of SLAs is particularly important. Multi-tenancy invariably grows with core counts, either via cloud-like unrelated users or within the enterprise, where various departments or projects end up sharing systems to a greater degree. These multi-tenants pay in some manner, either directly or via budget contribution, so they demand to get what they pay for. Therefore, consistent and predictable results are important, i.e., a user can't complete processing in X time on one iteration and 2X on the next iteration.

Micro-virtualization provides mechanisms that ensure that specific applications, users, and projects receive the CPU and memory resources that have been paid for or committed to. Specifically, administrators can declare CPU and memory percentages that guarantee resource levels.

Within the kernel, multi-tenant/multi-user/multi-project work falls subject to equal OS time-slice behavior. That’s true even though the work, which ranges from high-cost applications to open-source, is not all equal.  Users can easily run into situations where high-value work is slowed by low-value work. Micro-virtualization provides tools that allow for discrete task prioritization that can predictably steer resource allocations.

Within an enterprise there may be many iterations of an application running, but each iteration may have unique value. Consider a chip-design environment where multiple next-gen processors are under development. The soon-to-be-released processor has more enterprise value than a design to be completed in three years. Micro-virtualization easily accommodates resource steering to the high value work, even to the extent that work can be flagged as having exclusive access to system resources -- think of a chip tape-out that needs last minute fixes, or rendering where a movie is about to be released and maximum performance is required.

The eXludus solution also promises to open up HPC to virtualization. Legacy server virtualization has not been very successful in these situations as the heavyweight hypervisor approach has high overhead costs. Micro-virtualization is truly lightweight, in the range of 1 to 2 percent overhead, whereas full server virtualization may entail an 18 to 20 penalty in these scenarios. And where full virtualization complexity is administratively cumbersome, micro-virtualization is simple and literally can be deployed within hours.  

A current limitation of eXludus micro-virtualization is that all work must be run within a single OS environment, in this case Linux. And the solution does not yield an easily predictable or consistent performance gain. Throughput increases are a function of the workload, which users may find difficult to comprehend.

In aggregate though, micro-virtualization as a means to effectively segment multicore systems and extract maximum efficiencies appears to be an idea whose time has come. Service efficiency is improved and resources are more accurately steered to the highest value tasks in support of business objectives.

-----

Wolfgang Gentzsch is an independent HPC consultant for cluster, grid, and cloud computing, technologies and a member of the Board of Directors for eXludus Technologies.

Sponsored Links

Accelerate your science with Seneca
One of the first HPC providers installing a 4X NVIDIA Kepler K-20 cluster. Invites you to a free evaluation on Seneca’s NVIDIA K20 Kepler cluster, pre-loaded with AMBER, NAMD, LAMMPS

Webinar: Programming Heterogeneous X64+GPU Systems Using OpenACC
Join Michael Wolfe as he compares the advantages and costs of using both low-level models and the directive-based OpenACC model for programming accelerated heterogeneous systems. Registration is free.

High-Performance Computing in Action
Businesses that want to be on the cutting edge of their industries are increasingly turning to high-performance computing (HPC) solutions to handle complex compute processes and speed up their rate of innovation. Download this Executive Brief to see how businesses in energy, life sciences and entertainment put HPC solutions to work in their operations.

May 24, 2013

May 23, 2013

May 22, 2013

May 21, 2013

May 20, 2013

May 17, 2013

May 16, 2013

May 15, 2013

May 14, 2013

May 13, 2013


Most Read Features

Most Read Around the Web

Most Read This Just In

Cray CS300-LC

Short Takes

NASA Builds 'Climate in a Box'

May 23, 2013 | The study of climate change is one of those scientific problems where it is almost essential to model the entire Earth to attain accurate results and make worthwhile predictions. In an attempt to make climate science more accessible to smaller research facilities, NASA introduced what they call ‘Climate in a Box,’ a system they note acts as a desktop supercomputer.
Read more...

Building Supercomputers with Raspberries

May 22, 2013 | At some point in the not-too-distant future, building powerful, miniature computing systems will be considered a hobby for high schoolers, just as robotics or even Lego-building are today. That could be made possible through recent advancements made with the Raspberry Pi computers.
Read more...

Running Computational Fluid Dynamics in the Cloud

May 16, 2013 | When it comes to cloud, long distances mean unacceptably high latencies. Researchers from the University of Bonn in Germany examined those latency issues of doing CFD modeling in the cloud by utilizing a common CFD and its utilization in HPC instance types including both CPU and GPU cores of Amazon EC2.
Read more...

Computing the Physics of Bubbles

May 15, 2013 | Supercomputers at the Department of Energy’s National Energy Research Scientific Computing Center (NERSC) have worked on important computational problems such as collapse of the atomic state, the optimization of chemical catalysts, and now modeling popping bubbles.
Read more...

Sponsored Whitepapers

Best Practices in Big Data Storage

05/10/2013 | Cleversafe, Cray, DDN, NetApp, & Panasas | From Wall Street to Hollywood, drug discovery to homeland security, companies and organizations of all sizes and stripes are coming face to face with the challenges – and opportunities – afforded by Big Data. Before anyone can utilize these extraordinary data repositories, however, they must first harness and manage their data stores, and do so utilizing technologies that underscore affordability, security, and scalability.

Progress in Parallel: the Bull Parallel Programming Center

04/15/2013 | Bull | “50% of HPC users say their largest jobs scale to 120 cores or less.” How about yours? Are your codes ready to take advantage of today’s and tomorrow’s ultra-parallel HPC systems? Download this White Paper by Analysts Intersect360 Research to see what Bull and Intel’s Center for Excellence in Parallel Programming can do for your codes.

Sponsored Multimedia

SGI DMF ZeroWatt Disk Solution

In this demonstration of SGI DMF ZeroWatt disk solution, Dr. Eng Lim Goh, SGI CTO, discusses a function of SGI DMF software to reduce costs and power consumption in an exascale (Big Data) storage datacenter.

Cray CS300-AC Cluster Supercomputer Air Cooling Technology Video

The Cray CS300-AC cluster supercomputer offers energy efficient, air-cooled design based on modular, industry-standard platforms featuring the latest processor and network technologies and a wide range of datacenter cooling requirements.

SC12 Editorial Feature HPCwire Soundbite sponsored by ISC

HPC Job Bank


Featured Events


  • June 16, 2013 - June 20, 2013
    ISC'13
    Leipzig,
    Germany

  • June 17, 2013 - June 18, 2013
    Forecast 2013
    San Francisco, CA
    United States





HPCwire Events