Compiler Project Aims to Help Enterprise IT

74

As the world economy began tanking last fall, a small group of open source developers decided to get together to try to build a better mousetrap–in this case by using a more efficient compiler.

Their idea was simple–if you create code that is compiled more efficiently, then the programs can execute and run faster, saving energy, conserving computing resources and giving more bang for the buck for cash-strapped businesses that rely on open source applications in their IT infrastructures.

That’s the goal of the LinuxDNA Project, which was founded last October by Hilton Head, S.C.-based developer C. Tyler McAdams.

To do this, McAdams and the other members of the project are working to recompile the Linux kernel and open source applications with Intel Corp.’s Intel C++ Compiler (ICC), which they’ve found brings significant performance benefits to applications compared to the traditional GNU C++ Compiler (GCC) .

“GCC is a great compiler,” McAdams said. “It takes source code and creates an executable” that transforms the code into a usable program. But ICC, which only works for code used on x86 processors, offers even more from the code. “The benefit with ICC is performance that can’t be achieved with GCC,” he said. “It will create a binary executable that will execute faster.”

For businesses that need technology to get their work done, speeding up the execution of applications and operating systems potentially offers big benefits, McAdams said, by helping them get more work done with lower energy costs due to faster processing needs.

One goal of the project is that the faster compiling can be run to update older open source applications that had been originally compiled using GCC, giving them longer service lives when many businesses are still hurting due to the recession.

“The best reason to take this approach is the economy right now,” McAdams said. “You can take an old code infrastructure from a company and recompile it so they don’t have to buy new hardware” to increase the performance of older, slower applications for performance gains.

These kinds of gains, which can range from 40% to as much as 500% in lab tests, according to McAdams, are possible in open source code because developers are able to take the source code and re-jigger it as needed to find improvements. “The nature of the code gives us a chance to pop the hood and work on it,” he said.

McAdams said he’d seen earlier work being done with the ICC compiler by a German developer who found an 8% to 40% improvement in kernel code execution, and decided to dive deeper into its possibilities.

LinuxDNA is using Gentoo Linux and components from the Linux From Scratch open source project for its development platforms.

One challenge for the project so far is that Intel charges $600 for the professional version of ICC, while a free version is available for individuals or educational users. Negotiations are continuing to find a workable solution to help the project avoid the fees for the professional version.

What LinuxDNA has learned is that the biggest performance gains have come from using ICC and GCC together to improve the code, he said. “ICC will live happily alongside GCC, but it’s a little bit of a trick,” he said.

Meanwhile, the development work continues. “We want to get some visibility on the project so companies that are interested in it might give us some funding,” McAdams said.

A related Web site, LinuxDNA.org, is expected to be launched in the near future so that the development community can fully discuss and collaborate on the project, he said. The source code and patches are available now on LinuxDNA.com, while a downloadable live CD is expected to be available soon.

Other key contributors to LinuxDNA include head developer LuYi Cheng, who created the first bootable kernel made for the project; Intel developer Feilong Huang; Ricardo Ichizo; Chi Hoang; Alexander Huemer; Stephen “Smanders” Anderson and Pedro Ribeiro.