The Way of the great learning involves manifesting virtue, renovating the people, and abiding by the highest good.

2009年2月26日星期四

LinuxDNA Supercharges Linux with the Intel C/C++ Compiler

Exciting news from the LinuxDNA project, which earlier this month successfully compiled a recent Linux kernel with the Intel C/C++ compiler (ICC). This is not just a compile without errors, this is — for the most part — a fully bootable, compatible Linux kernel that can boot into a full Linux system. The full system is based on Gentoo Linux, and utilizes kernel version 2.6.22.

The project's goal is to be able to maintain an Intel-compiler-compatible kernel source along side the current kernel. A few remaining issues that need to be resolved before moving to 2.6.23 and beyond are under investigation.

One might ask: Why compile the kernel with something besides gcc?

The answer: Performance.

Earlier work at compiling the Linux kernel with ICC found that ICC provided up to a 40% boost in performance. Ingo A. Kubblin, a German developer that worked on the original ICC porting project in 2004, gave the following quote:

"... boost up to 40% for certain kernel parts and an average boost of 8-9% possible"

This early work was based on version 8 of ICC; current efforts are using versions 10.1 and 11.

The Intel compiler often produces faster code as the result of two major optimizations: IPO (Inter Procedural Optimization) and PGO (Profile Guided Optimization). IPO is a heuristics based optimization mechanism, while PGO uses several code stages, first to build code with special modifications that analyse code use, and then a recompile of the code for better execution based on that usage. As PGO is based on usage patterns, it can custom design an optimized kernel for a specific purpose: HPC, DCC, gaming, servers, etc. Although, PGO is also available in gcc, ICC is generally regarded as producing a superior result.

Among the contributors to LinuxDNA are:

  • LuYi Cheng: A Chinese kernel hacker responsible for the code becoming fully operational.
  • Feilong H: An Intel employee who laid the groundwork for needed patching.
  • An unnamed kernel hacker at Broadcom who contributed advice and technical assistance.
  • Claude Tyler McAdams: Hacker & spokesperson.

Currently, closed source drivers will not install out of the box, though the developers believed this issue should be easily fixable.

LinuxDNA is an Open Source project that aims to bring a compatible, current kernel source to the high-performance Intel Linux compiler.

没有评论: