Lépések a ReiserFS BKL-mentesítésére

 ( trey | 2009. augusztus 6., csütörtök - 13:31 )

Noha a ReiserFS aktív fejlesztése hosszú ideje befejeződött és csak a kernelfában maradáshoz szükséges karbantartást és a hibák javítását végzik el rajta, Jeff Mahoney SUSE fejlesztő március végén mégis 35 patch-ből álló frissítést küldött hozzá az LKML-re.

Mahoney azzal zárta a patch-csel kapcsolatos szálat, hogy ha ezek a foltok bekerülnek a kernelbe, akkor a ReiserFS olyan karbantartási ciklusba lép (deep maintenance-only), amelyben valóban csak a kritikus dolgokat fogják kijavítják. Linus nem sokkal később jelezte, hogy beolvasztotta a patch-eket.

A szálba bekapcsolódott Molnár Ingo is, aki felhívta a fejlesztők figyelmét arra, hogy Frederic Weisbecker egy olyan patchkészleten dolgozik, amelynek célja a ReiserFS BKL-mentesítése.

A BKL - Big Kernel Lock - egyike azoknak a lock-oknak, amelyek elsőként bemutatkoztak be a kernelben. Legelőször az 1.3.26-os kernelben voltak jelek az érkezésére, de az 1.3.31-ig nem használták. A BKL teljesítmény szempontból nemkívánatos, éppen ezért az idők folyamán törekedtek a fejlesztők a mellőzésére, leváltására. A BKL leváltása azonban nem egyszerű feladat, ezért a mai napig találkozhatunk vele a kernel több területén is.

Ilyen például a ReiserFS. Ahogy azt Ingó kifejtette a ReiserFS a fájlrendszerek közt a legnagyobb BKL felhasználó.

Frederic munkája alapjaiban bolygatja meg a fájlrendszert, ezért - ahogy azt többen is megjegyezték - intenzív tesztelésre van szükség. Azonban a patch kétségtelenül előnyökkel járna a ReiserFS felhasználók számára. Azzal, hogy a BKL helyett egy sokkal finomabb zárolási séma kerülne alkalmazásra, javulhatna a ReiserFS teljesítménye.

Frederic készített több mérést is, amely a fenti állítást igazolja. A következő diagrammon pirossal a BKL-t használó ReiserFS, míg kékkel a mutex-alapú zárolási sémát használó ReiserFS teljesítménye látszik.

BKL-mentes ReiserFS teljesítmény
Dbench, 1 thread, 600 sec

A patchkészlet bejelentése és további mérési eredmények itt.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

OFF

Ha elvesszük az Y-t a neve végéről akkor akár rá is gondolhatunk.
Alexander Mahone

páne, hogy nem is kell elvenni azt az Yt:D

"Ahogy azt Ingó kifejtette a ReiserFS a fájlrendszerek közt a legnagyobb BKL felhasználó."

Javitsatok ki, ha tevedek, de en ugy tudtam, hogy a ReiserFS-nek jobb teljesitmenye van (gyorsabb es jobb a helykihasznalasa) Linuxon, mint mondjuk az Ext3-nak. Vagy ez a fenti allitas ellenere igaz?

Ahogy a mellékelt ábra mutatja, mindent lehet jobbá tenni.

--
trey @ gépház

"de en ugy tudtam, hogy a ReiserFS-nek jobb teljesitmenye van (gyorsabb es jobb a helykihasznalasa) Linuxon, mint mondjuk az Ext3-nak"

Attól függ milyen terhelésnél... tény, hogy van 1-2 teszt (mondjuk pl. rekurzív törlés), amiben jobb a reiserfs, de azért többnyire az ext3 a jobb.
---
Linux is bad juju.

Szeretem az ilyen megtévesztő diagrammokat, mert ilyen kicsiben nem látszik a skálázás, és úgy tűnik, mintha a gyorsulás kétszeres lenne, közben meg kb 3% a javulás csak. De ez persze már csak akkor látszik, ha megnézed a képet rendes méretben.

+1 én is észrevettem.
---
Linux is bad juju.

ha már off: nem tudom, lehet hogy csak én láttam túl sok ábrát, ez bőven a jobbak közé tartozik, speciel ilyenkor nekem egyáltalán nem az tűnik fel először hogy át akarnak verni (ezen az ábrán), hanem hogy a kinagyítás célja az egyik simaságát kihangsúlyozandó a másikkal szemben (, bár gőzöm sincs perpill ez mit jelent, csak a trollkodásra reagáltam, hogy nem mindenki a piros sapkát látja az ábrán ;) )

"kb. 3%"

1 thread esetén. 2 thread esetén már akár a duplája, triplája is lehet.

--
trey @ gépház

Én nem azt mondtam, hogy az a 3% kevés, hanem hogy ha ennyi, akkor ez látszodjon a diagrammon, és ne úgy nézzen ki, mintha nagyságrendi változás lenne a sebességben. Ehhez elég lett volna annyi is, hogy a skálázás látszódjon a képen, vagy egyszerűen felhívni az olvasó figyelmét, hogy az y tengely skálázása nem 0-nál kezdődik.

Szerintem írj a fejlesztőnek, aki az ábrát készítette, hogy rajzoljon újat. Én ált. isk. 4 osztályban megtanultam az ilyeneket értelmezni. Engem nem zavar, értem mit akart kifejezni. Továbbá a belinkelt bejelentésben ott vannak a számok, így sokat nem kell az értelmezéssel foglalkozni.

--
trey @ gépház

Ilyen esetben az y tengelyt 0-ról kéne indítani és kicsivel felette egy töréssel jelezni, hogy kihagyás van. Itt egy példa, csak itt középen van a törés. Kecske és káposzta.

és a kecske vagy a káposzta indul 40-ről?!

Azt tudja valaki, hogy a többi linuxos fájlrendszer hogy áll ilyen szempontból? Vagy csak a reiserfsből maradt ki a finomabb lockolás?


suckIT szopás minden nap! Pina-projekt

Szerintem meg a fene tudja, melyik a jobb! Reiserfs, ext3, ext4...attól függ, hol hogyan és mit tesztelünk.