LinuxDNA – szybsze jądro z kompilatorem Intela

  • Home
  • /
  • Blog
  • /
  • LinuxDNA – szybsze jądro z kompilatorem Intela

Data: 2 marca, 2009

LinuxDNA to projekt, którego celem jest stworzenie i utrzymywanie źródeł jądra systemu Linux, kompatybilnych z kompilatorem Intela. Programiści właśnie odnotowali swój pierwszy duży sukces.

Sukcesem bowiem należy nazwać udane skompilowanie jądra w wersji 2.6.22. Nie chodzi jednak o przeprowadzenie kompilacji zakończonej bez błędów, ale uzyskanie w pełni kompatybilnego, działającego jądra, które może stać się podstawą do budowy systemu operacyjnego.

W tym momencie wielu czytelników zada sobie w duchu pytanie, czy jest w ogóle sens takich działań, skoro od lat bardzo dobrze spisuje się kompilator GCC. Autorzy projektu odpowiadają, że tak, gdyż może to dać spore zyski w wydajności, średnio 8% – 9%, ale dla niektórych fragmentów jądra nawet do 40%. ICC, czyli kompilator Intela, tworzy – jak zapewniają – lepiej zoptymalizowany kod wynikowy. Dzieje się tak, gdyż korzysta on z dwóch technik optymalizacji IPO (Inter Procedural Optimization) oraz PGO (Profile Guided Optimization).

IPO jest mechanizmem heurystycznym, gdy tymczasem PGO służy specjalnemu profilowaniu kodu. Działa to w taki sposób, że początkowo kompilator dodaje modyfikacje służące analizie wykorzystania kodu, a następnie dokonuje ponownej kompilacji, wprowadzając zmiany, mające na celu przyśpieszenie wykonywania plików wynikowych w najważniejszych, najczęstszych zastosowaniach. W ten sposób – spekulują twórcy projektu – można tworzyć profile jądra przeznaczone do konkretnych zadań – np. sprawdzające się lepiej jako podstawa do budowy systemu obliczeniowego lub też serwera sieciowego. Choć optymalizacja PGO jest dostępna również w GCC to kompilator Intela ma dawać lepsze wyniki.

W tej chwili istnieje jeszcze kilka problemów, które programiści projektu muszą rozwiązać, nim rozpoczną prace nad adaptacją nowszej wersji jądra. Głównym brakiem są problemy z wykorzystaniem sterowników udostępnianych jedynie w postaci binarnej. Twórcy LinuxDNA wierzą jednak, że uda im się szybko uporać z tą niedogodnością.

Głównymi programistami są:

  • LuYi Cheng: Chiński haker jądra, który doprowadził je do stanu pełnej używalności.
  • Feilong H: Pracownik Intela, który dostarczył wiedzy potrzebnej do napisania wymaganych łatek.
  • Nieznany haker z Broadcom, który służył wiedzą i wsparciem technicznym.
  • Claude Tyler McAdams: Haker oraz przedstawiciel projektu.

Tutaj znajduje się strona projektu.

Newsletter OSnews raz w tygodniu. Bez reklam.