acm-header
Sign In

Communications of the ACM

ACM Careers

Real-Time Virtualization Software to Enable Embedded Systems Integration


View as: Print Mobile App Share:
Washington University in St. Louis Professor Chenyang Lu

"In embedded systems . . . there are significant benefits to integrate many subsystems virtually on the same common platform," says Professor Chenyang Lu at Washington University in St. Louis.

Credit: Washington University in St. Louis

Modern automobiles are marvels of computation and electronics. Cars in recent years could have as many as 100 separate microprocessors, each with its own operating system (OS) and software applications. Traditionally, automobile manufacturer engineers built a vehicle's computation from scratch, the end result being both an inefficient assembly and management of the different microprocessors, not to mention a bulky car. It's estimated that the wiring and cables needed to hold the computation together comprised as much as one-third of the car's weight.

"Our cars used to be pretty dumb — you admired the engine, you kicked the tires," says Chenyang Lu, professor of computer science and engineering at Washington University in St. Louis and a specialist in real-time embedded systems and virtualization. "But the novel, advanced features today come from intelligence."

To circumnavigate this computational clunkiness and inefficiency, the automobile industry today is turning towards virtualization, which makes it possible to consolidate 100 separate, isolated microprocessors, each dedicated to a single application, into as few as a handful of multicore, powerful microprocessors, each running tens of applications.

Virtualization allows for the running of multiple copies of virtual machines, each with an entire software stack from the application to the operating system, on the same physical machine, allowing for consolidation and flexibility of allocating resources.

"You avoid separate hardware that has to be maintained and integrated," Lu says. "This adds weight and cost to everything."

A popular virtualization software is called Xen. Originally developed by the University of Cambridge in the United Kingdom, Xen is used by many cloud computing companies, such as Amazon. In cloud computing, a data center provides the use of virtual machines and software packages to users with Internet access. It leverages virtualization technology where users can essentially buy virtual machines with varying speeds and resources. Cloud computing drives mobile phone use, video downloading, and many information technology applications.

A major challenge that Xen faces in the embedded systems domain is integration of virtual machines while maintaining their real-time performance guarantees — making sure that all the applications ultimately are run and executed on time.

"In embedded systems such as a car, there are significant benefits to integrate many subsystems virtually on the same common platform," Lu says. "The problem is that all of the subsystems are competing for the same CPU resources, and real-time performance goes out the window."

The challenge is as daunting as coordinating an octopus' legs to run the high hurdles. To address this problem, Lu has developed RT-Xen, an open-source system software to deal with virtual machine scheduling.

"The technical problem is: How do you schedule the virtual machines to run on the multicore processors so that they finish their real-time tasks within their timing constraints?" Lu says.

Lu and School of Engineering & Applied Science colleague Christopher Gill, professor of computer science and engineering, have received a three-year, $304,000 grant from the Office of Naval Research to extend RT-Xen into a new real-time virtualization platform for embedded systems and real-time cloud computing services. This project is in collaboration with Insup Lee, professor of computer science at the University of Pennsylvania.

RT-Xen runs within a layer of software called the virtual machine monitor that sits beneath the virtual machines. RT-Xen schedules the execution of the virtual machines, and the OS in each virtual machine schedules the "threads," or applications, to run on the virtual part of the CPU when it gets scheduled on the actual, physical CPU.

"It's actually a two-level process that's very tricky because it's not just allocating memory or disk space, but timing the CPU so that every application can finish on time," Lu says.

In addition to supporting embedded systems integration, Lu says cloud computing and virtualization technologies are "growing exponentially, with many emerging real-time applications that could benefit from RT-Xen in the future," he says.

These include autonomous vehicle guidance, intelligent transportation, online gaming over the cloud to run games on mobile phones and tablets, and disaster relief. In the area of intelligent transportation, for instance, he envisions RT-Xen becoming a vital virtualization platform for cloud computing services that coordinate the gathering and analysis of camera, video, and car sensor data in real-time to mitigate congestion.


 

No entries found

Sign In for Full Access
» Forgot Password? » Create an ACM Web Account