Szerző: Bodnár Ádám

2011. március 17. 13:47

Sokat gyorsult a Linux kernel

2011-ben másodszor érkezett nagyobb frissítés a Linux kernelhez. A 2.6.38 verziószámot viselő rendszermag számos olyan képességgel bővült, amely jelentős hatással van a teljesítményre. Lássuk őket!

A Linux kernel 20 éve fejlődik, alakul folyamatosan, a most megjelent 2.6.38 verzió a száma alapján semmilyen különlegességet nem tartogat, nem tűnik nagyobb előrelépésnek a korábbiaknál. A látszat azonban csal, az új kernel számos olyan fejlesztést tartalmaz, amelyek révén a Linux teljesítménye jelentősen növekedhet. A múlt héten megjelent OpenSUSE Linux 11.4 még lecsúszott az új kernelről de az áprilisban esedékes Ubuntu 11.04 és a Fedora 15 már erre fog épülni, ezért érdemes megismerkedni az újdonságokkal.

A "csoda patch"

Az új Linux kernel több kicsi, de annál jelentősebb változtatást tartalmaz. A fejlesztők és a szaklapok is az automatikus folyamatcsoportosítást (automatic process grouping) említik először, ami nem véletlen: a linuxos közösség egy ideje egyszerűen csak csoda patch-ként ("wonder patch") emlegetik az újdonságot, ami látványosan megnöveli a Linux válaszképességét olyan esetekben, amikor egy feladat vagy alkalmazás leterheli a processzort, például kernelfordítás vagy videolejátszás alatt.

Mivel egy feladathoz vagy programhoz több szál is tartozhat, és ezek egyenlő CPU-időt kapnak, akár teljesen válaszképtelenné is tehetik a rendszert. Az automatikus folyamatcsoportosítás az időzítés (scheduling) során együtt kezeli a közös azonosítóval rendelkező folyamatokat, ennek eredményeképp a nagy terhelést okozó folyamatcsoportok mellett több időt kaphatnak a továbbiak. Egy csoporton belül a folyamatok azonos CPU-időt kapnak. Az új időzítés elég nagy vitát váltott ki a kernelfejlesztők körében, sokan érveltek a megoldás mellett és ellen is, de a automatikus folyamatcsoportosítás végül bekerült a 2.6.38-as kernelbe és Linus Torvalds szerint "killer feature" lett.

Adattárolás, memóriakezelés, hálózat

A Linux atyjának másik "kedvence" a VFS (Virtual File System) továbbfejlesztése, amelynek eredményeképp a több processzorral (maggal) rendelkező gépeken a directory cache és az elérési út keresési rutinok jobb skálázhatóságnak köszönhetően látványosan felgyorsul a fájlkezelés, mivel a névfeloldás rövidebb idő alatt megy végbe. Linus Torvalds saját tesztjei szerint akár 50 százalékos gyorsulás is elérhető a fájlrendszer-kezelés szintjén. Az újdonságból leginkább a sok fájlműveletet végző rendszerek profitálhatnak, például levelezőszerverek.

Nagy pénz, nagy szívás: útravaló csúcstámadó IT-soknak

Az informatikai vezetősködés sokak álma, de az árnyoldalaival kevesen vannak tisztában.

Nagy pénz, nagy szívás: útravaló csúcstámadó IT-soknak Az informatikai vezetősködés sokak álma, de az árnyoldalaival kevesen vannak tisztában.

Adattárolás területén érdemes megemlíteni a LIO többprotokollos target bevezetését a SCSI alrendszerbe, ami lehetővé teszi tárolók SCSI targetként való használatát és kiajánlását iSCSI, Fibre Channel vagy FCoE protokollon keresztül. A LIO hamarosan le fogja váltani az STGT-t (SCSI Target Framework) a Linux kernelben, az SCST fejlesztőinek nagy bánatára, mivel nem az általuk javasolt és elkészített megoldás lett a befutó.

Szintén egy alacsony szintű, de fontos módosítás a Red Hat mérnökeinek vezetésével fejlesztett és a Red Hat Enterprise Linux 6-ban már be is vezetett transparent huge pages (THP), amelynek köszönhetően a 2.6.38-as Linux kernel modern processzorokon hatékonyabban kezeli a nagy memórialapokat. A jobb memóriakezelés révén a 2.6.38-as kernelre épülő rendszerek jelentős teljesítménynövekedést érhetnek el olyan memóriaintenzív feladatok futtatásakor mint az adatbázisok vagy a virtualizáció. Virtualizációval kapcsolatban említésre érdemes még a macvlan driver, amely a hálózati chip egyes képességeit közvetlenül elérhetővé teszi a virtuális gépek számára, és lehetővé teszi például virtuális LAN-ok és MAC-címek konfigurálását a vendég operációs rendszerből is.

A Google fejlesztői számos hálózatkezelési újdonságot adtak a Linux kernelnek, a Receive Packet Steering (RPS) és Receive Flow Steering (RFS), amelyek a többmagos, illetve több processzort tartalmazó rendszereken akár kétszeresére is gyorsíthatják a csomagfeldolgozás sebességét. A 2.6.38-as kernelben ezen a téren az Transmit Packet Steering (XPS) integrálása jelent előrelépést. Az XPS mögött álló elgondolás ugyanaz mint az RPS mögött, csak ez nem a csomagok fogadását, hanem a küldését gyorsítja többmagos gépekben. A Google fejlesztőinek mérése szerint akár 20 százalékos gyorsulás is elérhető egy négyprocesszoros, 16 magos szerveren.

Sok új driver

Az új kernel számtalan új drivert is tartalmaz, a támogatott hardverek között érdemes megemlíteni az AMD (Radeon HD 62xx, 68xx, 69xx) és az NVIDIA (GeForce 4xx, 5xx) új grafikus chipjeit, valamint az AMD Fusion "Bobcat" processzorokba integrált grafikus vezérlőt, az Intel Sandy Bridge chipek HD Graphics magját, valamint az új Atheros, Intel, Broacom, Ralink és Realtek Wi-Fi chipeket. A driverekkel kapcsolatos változásokról a KernelNewbies.org oldalon lehet részletesen tájékozódni.

A kernelfejlesztés eddigi üteme alapján a 2.6.39 verzió valamikor a nyáron (június-július környékén) várható, hogy pontosan milyen újdonságok kerülnek majd bele, a következő hetek során dől el.

Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

a címlapról