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.
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.