Zero copy patch FreeBSD-hez

 ( bra | 2002. május 6., hétfő - 12:07 )

Kenneth D. Merry (kdm) régóta dolgozik egy ún. zero copy patch készleten a FreeBSD-hez. Most ennek a készletnek egy újabb verziója jelent meg.Először is tisztázni kell, hogy mit is értenek zero copy alatt a fejlesztők.

Alapesetben hálózati forgalom esetében a pufferek tartalma a küldő oldalon a felhasználói processzből a kernelbe másolódnak és ugyanez történik fordított irányban a fogadó oldalon. A zero copy esetében ez a másolás kerül kiiktatásra. A userlandből kernelbe (és vissza) való másolás a BSD rendszerek hálózati teljesítményének egyik legnagyobb visszafogó tényezője, így ezt kiiktatva jelentősen nő az átviteli sebesség és csökken a rendszer terhelése, ha nem a processzor, vagy a memória áteresztő képessége a korlátozó faktor.

Mivel a csomagoknak alkalmazkodniuk kell az adott architektúra lapméretéhez, ezért a zero copy leginkább gigabites hálózati interfészeknél alkalmazható, mivel azok nagy többsége támogatja az ún. jumbo kereteket (9000 bájtos csomagok).



Régebbi (kb. 2 éves) tesztek szerint Andrew Gallatin két Dell PowerEdge 4400-as szerver (733 MHz-es Intel PIII Xeon, 64-bites 66MHz-es Myricom Lanai-9 PCI-os hálózati kártyákkal - 2,5 Gbps sebesség) között 1,7 Gbps átviteli sebességet tudott elérni, úgy hogy a fogadó gép 60%-ban várt, míg a küldő 100%-osan terhelt volt.



Merry mostani levelében megemlíti, hogy ez nem is igazán a sávszélességről szól, hiszen két FreeBSD 4-STABLE gép között is el tud érni (gigabites interfészen) 989 Mbps sebességet. Az igazán fontos a zero copy patchben a processzor terhelésének csökkenése. A fenti adatsebességnél zero copyval 35% volt a terhelés, míg zero copy nélkül 60% a fogadó oldalon, a küldő oldalon a különbség ennél is nagyobb volt.

A FreeBSD-s TCP/IP stack ezen módosítása egyelőre nem az alaprendszer része és elképzelhető, hogy még az 5-ös verzióba sem kerül bele.

Hasonló jellegű megvalósítások elérhetőek, vagy megtalálhatóak a Linux kernelben is (Dave Miller és Molnár Ingó munkája révén).



Kapcsolódó oldalak:

Kenneth Merry zero copy oldala