Mellékleteink: HUP | Gamekapocs
Keres
Felhőből visszaköltözéstől egészen egy banki malware evolúciójáig. Üzemeltetői és IT-biztonsági meetupokkal érkezünk!

Google által fejlesztett újdonságok a Linux kernelben

Bodnár Ádám, 2010. augusztus 03. 12:51
Ez a cikk több évvel ezelőtt születetett, ezért előfordulhat, hogy a tartalma már elavult.
Frissebb anyagokat találhatsz a keresőnk segítségével:

A hét végén megérkezett a 2.6.35 verziószámú Linux kernel, amely a Google-tól származó technológiákat tartalmaz a hálózati forgalom gyorsítására, illetve képes a memória töredezettségmentesítésére is.

hirdetés

Az egyre gyorsabb és gyorsabb, akár több 10 gigabites hálózati interfészek megjelenésével gyakran a CPU a szűk keresztmetszete a forgalom feldolgozásának. Ezen a helyzeten próbál javítani a Google által kidolgozott 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 korábbi lineáris feldolgozás helyett a többmagos vagy többprocesszoros rendszereken lehetővé válik a (IP, TCP, stb.) csomagok párhuzamos feldolgozása.

Az RFS a rendelkezésre álló információk alapján megpróbálja kitalálni, egy adott csomagot melyik CPU-n érdemes feldolgozni, az RPS pedig szétosztja a beérkező csomagokat a CPU-k között. Az RPS-t akár kézzel is be lehet konfigurálni, hogy ossza el a csomagokat a CPU-k között, de egy algoritmus segítségével maga is képes megtippelni, hova küldje a csomagot, mégpedig az rcvmsg() rendszerhívást figyelve. Az RFS és RPS lényegében ugyanazokat a szolgáltatásokat nyújtja mint egy "multi-queue" hálózati vezérlő, de mivel szoftverben implementált, ezért bármilyen hálózati kártyával és bármilyen hardveren működik, olvasható a Linux kernel newbies oldalán.

Az oldal egy teszteredményt is idéz, amely szerintegy nyolcmagos Intel Xeon processzort és gigabites Intel e1000e hálózati kártyát használva a hálózati tranzakciók száma másodpercenkénti 104 ezerről 303 ezerre emelkedett, miközben a processzorterhelés 30 százalékról 61 százalékra nőtt.

A 2.6.35-ös kernel további újdonságai közé tartozik a foglalt memórialapok csoportosítása. A memory compaction lényege, hogy a foglalt (de mozgatható) memórialapokat egyetlen egybefüggő területté szervezi, ami később lehetővé teszi nagy, összefüggő memóriaterületek egyszerű, gyors lefoglalását. A modern processzorok 4 kilobájtnál jóval nagyobb lapmérettel is képesek dolgozni, ilyenkor a címfordítási puffer kevésbé terhelt, ami teljesítménynövekedést jelent. Ehhez azonban szükség van arra, hogy a memóriában rendelkezésre álljanak összefüggő területek a nagy lapokhoz. Az eljárás egyébként nagyon hasonlít a merevlemezek töredezettségmentesítésére.

Facebook

Mit gondolsz? Mondd el!

Adatvédelmi okokból az adott hír megosztása előtt mindig aktiválnod kell a gombot! Ezzel a megoldással harmadik fél nem tudja nyomon követni a tevékenységedet a HWSW-n, ez pedig közös érdekünk.
4-4 klassz téma a HWSW júniusi üzemeltetői és IT-biztonsági meetupjain. Nézz meg a programot!