Dumitru Ciobarcianu wrote:
On Wed, 2007-02-21 at 11:08 +0200, Oblio wrote:
Mă refeream la asta: http://www.ntfs-3g.org/support.html#kernel
Nu prea cred că are cum să fie la fel de rapid ca un driver echivalent în
kernel.
O prejudecata care nu este foarte valida pentru Linux.
E un fapt, nu o prejudecata: sistemele de fisiere user-space pornesc din
start cu un handicap.
Un fs nu este (foarte) "cpu-bound". Ajungi la saturatia ratei de
transfer la disc cu mult inainte de a ajunge la saturatia CPU asta
pentru rata de transfer,
Da, pe un sistem idle cu un singur proces care satureaza discul probabil
diferenta de throughput intre un fs nativ si unul hibrid nu este
semnificativa. Dar rata maxima de transfer in conditii ideale este doar
o masura teoretica, in practica conteaza si alti parametrii:
* latenta operatiilor - sistemele de fisiere user space suck big time
din cauza lantului de apeluri mult lungit (usermode
app->kernel->usermode fs->kernel->disk). Nu ai doar 4 mode switch-uri
suplimentare (sa nu uitam de return path;) dar mai ai de-a face si cu
latenta introdusa de scheduler (componenta userspace a fs-ului e un
proces oarecare cu o gramada de thread-uri ce asteapta sa fie scheduled
ca oricare altele) si cu vreo 2 operatii de copiere a datelor suplimentare.
* paralelism - FUSE serializeaza transferul requesturilor si chiar daca
pe urma paralelizeaza executia lor in user mode, exista puncte multiple
de sincronizare care distrug performanta in coditii de acces concurent.
cat despre operatiile normale (detry lookup,
etc) se adauga overhead-ul la 2 callback-uri catre userspace care in
linux nu sunt chiar atat de "expensive".
90% dintre operatiile la care te referi sunt satisfacute in mod normal
din dentry/inode cache, fara a accesa discul, iar pentru restul de 10%
latenta e mult mai importanta decat throughput-ul - prin urmare alea 2
callbackuri suplimentare introduc un overhead considerabil in ambele cazuri.
Sistemele de fisiere userspace isi au aplicatiile lor dar in nici un caz
nu exceleaza la capitolul performanta. Pe un sistem incarcat, cu multe
procese care acceseaza concurent sistemul de fisiere, o solutie FUSE
ajunge repede pe butuci.
---
fm
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug