With support from the Office of Naval Research (ONR), Dr. Binoy Ravindran, an engineering professor at Virginia Tech, has designed a system that could revolutionize how military and commercial computing systems perform.
It’s called Popcorn Linux—an operating system that can compile different programming languages into a single cyber tongue.
“By applying Popcorn Linux to longtime, legacy Navy and Marine Corps computer systems, we can improve software without requiring thousands of man-hours to rewrite millions of lines of code,” said Dr. Wen Masters, head of ONR’s C4ISR Department. “This could yield significant savings in maintenance costs.”
Crunching huge amounts of data for complex applications like battlespace awareness and artificial intelligence requires extremely powerful processing. Unfortunately, many of the processors capable of this speak their own specialized software programming languages—and must be programmed to interact with each other.
To increase computing speed, microchip manufacturers in recent years have placed multiple processing units on individual chips. Take the iPhone 7, for example, which has four processors—two high-power (think of a Ford Mustang) and two low-power (think of a Toyota Prius)—to simultaneously dial phone numbers, open web pages, check text messages and take photos and videos.
That involves designating specialized “heterogeneous” processors to carry out specific tasks, like displaying graphics or web browsing. Each processor can be devoted to one specialty, rather than divided among several functions, resulting in much better, faster performance.
“Before, each processor was like one handyman re-modeling your entire bathroom,” said Dr. Sukarno Mertoguno, the ONR program officer sponsoring Ravindran’s research. “Heterogeneous processors, by contrast, represent an actual plumber installing the pipes and an actual painter painting the walls. Each processor has a specialty.”
But this specialization has problems—a “language” barrier. Each processor has its own set of instructions that only it understands. To address this, software developers must manually adjust code to determine which tasks should run on which processors—a tedious process, as extra features and updates are added regularly.
“This is especially true for Navy and Marine Corps software systems,” said Ravindran. “Many of these legacy systems were built in the 1970s or earlier, have numerous security patches and millions of lines of code, and represent a huge investment of time and money. How can Navy developers enjoy the benefits of next-generation heterogeneous processors without rewriting applications from scratch?”
Ravindran’s answer is Popcorn Linux, which can be used with any computer or device, and serves as a translation tool—taking generic coding language and translating it into multiple specialized program languages. From there, Popcorn Linux automatically figures out what pieces of the programming code are needed to perform particular tasks—and transfers these instruction “kernels” (the “popcorn” part) to the appropriate function.
While Popcorn Linux is still a proof-of-concept prototype created by Ravindran and his students, the system is about to enter a new phase of development.
“In our lab and academic setting, we’ve demonstrated that Popcorn Linux works well with respect to performance speed and power usage,” said Ravindran. “Later this year, we’ll work with industry partners to create a version of Popcorn Linux that can meet the strenuous industrial standards required by the Navy and Marine Corps.”
“We’re already hearing great enthusiasm from industry for Popcorn Linux,” said Masters. “We look forward to see how Dr. Ravindran and his team further develop this exciting system.”