Reiser5-filsystemytelsestestresultater publisert

Resultatene av ytelsestester av Reiser5-prosjektet er publisert, som utvikler en betydelig redesignet versjon av Reiser4-filsystemet med støtte for logiske volumer som har "parallell skalering", som, i motsetning til tradisjonell RAID, innebærer aktiv deltakelse av filsystemet ved å distribuere data mellom komponentenhetene til det logiske volumet. Fra et administratorperspektiv er den vesentlige forskjellen fra RAID at komponentene i et logisk volum i parallellskala er formaterte blokkenheter.

De presenterte testresultatene evaluerer ytelsen til vanlige filoperasjoner, for eksempel å skrive en fil til et logisk volum, lese en fil fra et logisk volum som består av et variabelt antall solid-state-stasjoner. Ytelsen av operasjoner på logiske volumer, som å legge til en enhet til et logisk volum, fjerne en enhet fra et logisk volum, tilbakestille data fra proxy-disker og migrere data fra en vanlig (ikke spesiell) fil til en spesifisert enhet, var også målt.

Solid-state-stasjoner (SSD) i mengden 4 eksemplarer ble brukt til å sette sammen volumene. Hastigheten til en operasjon på et logisk volum er definert som forholdet mellom mengden okkupert plass på hele det logiske volumet og tiden det tar å fullføre operasjonen, inkludert full synkronisering med stasjonene.

Hastigheten til enhver operasjon (med unntak av å skylle data fra en proxy-disk på et volum som består av et lite antall enheter) er høyere enn hastigheten på å kopiere data fra en enhet til en annen. Samtidig, med en økning i antall enheter som volumet er sammensatt av, øker operasjonshastigheten. Unntaket er filmigreringsoperasjonen, hvis hastighet asymptotisk nærmer seg (ovenfra) hastigheten for å skrive til målenheten. Sekvensiell tilgang på lavt nivå: Device Read, M/s Write, M/s DEV1 470 390 DEV2 530 420 Stor fil sekvensiell lesing/skriving (M/s): Antall disker i volum Skriv Les 1 (DEV1) 380 460 1 ( DEV2) 410 518 2 (DEV1+DEV2) 695 744 3 (DEV1+DEV2+DEV3) 890 970 4 (DEV1+DEV2+DEV3+DEV4) 950 1100 Seriell kopiering av data fra/til formatert enhet Fra enhet Til enhet (M/s) DEV1 DEV2 260 DEV2 DEV1 255 Legge til en enhet til et logisk volum: Volum Enhet som skal legges til Hastighet (M/s) DEV1 DEV2 284 DEV1+DEV2 DEV3 457 DEV1+DEV2+DEV3 DEV4 574 Fjerning av en enhet fra et logisk volum: Volum Enhet som skal fjernes Hastighet (M/s) DEV1+DEV2+DEV3+DEV4 DEV4 890 DEV1+DEV2+DEV3 DEV3 606 DEV1+DEV2 DEV2 336 Tilbakestill data fra proxy-disk: Volum Proxy-disk Hastighet ​​(M/s) DEV1 DEV4 228 DEV1+DEV2 DEV4 244 DEV1+DEV2+ DEV3 DEV4 290 DEV1 RAM0 283 DEV1+DEV2 RAM0 301 DEV1+DEV2+DEV3 RAM0 374+DEV1+ DEV2 DEV3 Volum 4 DEV0+DEV Mål 427 DEV1+2 Device 3 Hastighet ​​(M/s) DEV4+DEV1+DEV387+DEV1 DEV2 3 DEV1+DEV403 +DEV1 DEV2 1 DEV427+DEVXNUMX DEVXNUMX XNUMX

Det bemerkes at ytelsen kan forbedres ytterligere hvis prosedyren for å utstede I/O-forespørsler parallelliseres på tvers av komponenter i det logiske volumet (for øyeblikket, for enkelhets skyld, gjøres dette i en løkke med en enkelt tråd). Og også hvis du bare leser de dataene som er gjenstand for bevegelse under rebalansering (nå leses alle data for enkelhets skyld). Den teoretiske grensen for hastigheten for å legge til/fjerne en annen enhet i systemer med parallell skalering er to ganger kopieringshastigheten fra den første disken til den andre (henholdsvis fra den andre til den første). Nå er hastigheten for å legge til og fjerne en annen disk tilsvarende 1.1 og 1.3 kopieringshastigheter.

I tillegg er det annonsert en O(1) defragmenter som vil behandle alle komponenter i et logisk volum (inkludert proxy-disken) parallelt, dvs. i en tid som ikke overstiger behandlingstiden for den største komponenten separat.

Kilde: opennet.ru

Legg til en kommentar