Tervek a Giant-tel és az SMP-vel kapcsolatban

Címkék

Az egyik listatag feltette azt a kérdést, hogy mit terveznek a fejlesztők a Giant-lock-kal kapcsolatban a FreeBSD 5.3 utáni kiadásokban. Mint írta, úgy hallotta, hogy a Giant-lock nem éppen a legszerencsésebb zárolási mechanizmus, és kívánatos lenne leváltani valamilyen finomabb megoldásra.Robert Watson levelében megerősítette, hogy a Giant valóban nem szerencsés, és alapvető cél a teljes rendszerből való eltávolítása. A FreeBSD 5.0-5.2-ben már bemutatkozott az az infrastruktúra, amely ahhoz kell, hogy a Giant-et el lehessen távolítani a kernel nagy részéből. Annak ellenére, hogy a korábbi verziókban már több helyről el is távolították, a Giant még sok helyen megtalálható (pl. driverekben, hálózati stack-ben, storage alrendszerben, stb.). Az FreeBSD 5.3-ban a hálózati alrendszer a legtöbb esetben már Giant nélkül fut, kivéve az IPX/SPX-et és néhány örökölt komponenst. Ezek nagy része a FreeBSD 5.4-ben el lesz távolítva. A munka természetesen folyik tovább mind az 5.x, mind a 6.x branchekben, és az eredmények néhány hónapon belül meg is mutakoznak majd.

Az SMPng-vel (új generációs SMP kód, amely a FreeBSD 5.x-ben mutatkozott be) kapcsolatban Robert azt írta, hogy az SMPng alap infrastruktúra működik, ezen a területen a következő lépések az optimalizálások (pl. lock-olási overhead-ek csökkentése, finomabb zárolási mechanizmusok kidolgozása) lesznek.

További fontos, a FreeBSD 6.x-ben megteendő lépésként jelölte meg a hacker a Giant-lock eltávolítását a VFS alrendszerből. A fejlesztő szerint ennek a munkának a gyümölcsét már 6-8 hónap múlva élvezni lehet a mainstrem FreeBSD kiadásokban.

Bővebben a levélben itt.

Hozzászólások

ezt a reszt:

Az SMPng-vel (új generációs SMP kód, amely a FreeBSD 5.x-ben mutatkozott be) kapcsolatban Robert azt írta, hogy az SMPng alap infrastruktúra működik, ezen a területen a következő lépések az optimalizálások (pl. lock-olási overhead-ek csökkentése, finomabb zárolási mechanizmusok kidolgozása) lesznek.

nem igazan ertem.

tudomasom szerint az 5.3 SMP resze nem megbizhato, ezert is lett kikapcsolva a default kernelben.

lasd:

http://www.freebsd.org/releases/5.3R/errata.html

(3 Nov 2004) For FreeBSD/i386 and FreeBSD/amd64, SMP support in the GENERIC kernel has been disabled by default because the SMP kernel can degrade the performance on UP machines. A kernel configuration file SMP, which can be used to enable SMP support, has been added.

most akkor mi az igazssag?

Ebben az all, hogy a GENERIC kernelbe nincs alapertelmezetten beleforditva az SMP tamogatas, mert ha egyprocesszoros gepen futtatsz SMP kernelt, akkor a teljesitmeny degradalodhat.

Ez azt jelenti, hogy ha neked tobbprocesszoros geped van, akkor forgass magadnak SMP kernelt.

Nem tudom, hogy jelenleg hogyan all a FreeBSD-ben az HyperThreading tamogatas (szerintem a -current listak leveleibol itelve nem olyan jol).

Azokban az operacios rendszerekben amelyekben az utemezo nincs felkeszitve a HT tamogatasra, altalaban a HT nem elony, hanem hatrany szokott lenni. Namarmost a FreeBSD 5.3-R-tol kezdve az alapertelmezett utemezo ismet a 4BSD utemezo, az meg ketlem, hogy fel lenne keszitve. Szoval szerintem a HT-t jelenleg erdemesebb kikapcsolni FreeBSD-n, mint be. De majd biztos van olyan ki megcafol. En nem hasznalok HT-s gepet FreeBSD-vel.