Resultaten från Reiser5-filsystemets prestandatest har publicerats

Resultaten av prestandatester av Reiser5-projektet har publicerats, som utvecklar en väsentligt omdesignad version av Reiser4-filsystemet med stöd för logiska volymer som har "parallell skalning", vilket, till skillnad från traditionell RAID, innebär att filsystemet aktivt deltar vid distribution av data mellan komponentenheterna i den logiska volymen. Ur ett administratörsperspektiv är den betydande skillnaden från RAID att komponenterna i en logisk volym i parallell skala är formaterade blockenheter.

De presenterade testresultaten utvärderar prestandan för vanliga filoperationer, som att skriva en fil till en logisk volym, läsa en fil från en logisk volym som består av ett variabelt antal solid-state-enheter. Utförandet av operationer på logiska volymer, som att lägga till en enhet till en logisk volym, ta bort en enhet från en logisk volym, återställa data från proxydiskar och migrera data från en vanlig (inte speciell) fil till en specificerad enhet, var också mätt.

Solid-state-enheter (SSD) i mängden 4 exemplar användes för att sätta ihop volymerna. Hastigheten för en operation på en logisk volym definieras som förhållandet mellan mängden upptaget utrymme på hela den logiska volymen och den tid det tar att slutföra operationen, inklusive full synkronisering med enheterna.

Hastigheten för alla åtgärder (med undantag för att spola data från en proxydisk på en volym som består av ett litet antal enheter) är högre än hastigheten för att kopiera data från en enhet till en annan. Samtidigt, med en ökning av antalet enheter från vilka volymen är sammansatt, ökar operationshastigheten. Undantaget är filmigreringsoperationen, vars hastighet asymptotiskt närmar sig (uppifrån) hastigheten för att skriva till målenheten. Sekventiell åtkomst på låg nivå: Device Read, M/s Write, M/s DEV1 470 390 DEV2 530 420 Stor fil sekventiell läs/skriv (M/s): Antal diskar i volym Skriv Read 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 från/till formaterad enhet Från enhet till enhet (M/s) DEV1 DEV2 260 DEV2 DEV1 255 Lägga till en enhet till en logisk volym: Volym Enhet som ska läggas till Hastighet (M/s) DEV1 DEV2 284 DEV1+DEV2 DEV3 457 DEV1+DEV2+DEV3 DEV4 574 Ta bort en enhet från en logisk volym: Volym Enhet som ska tas bort Hastighet (M/s) DEV1+DEV2+DEV3+DEV4 DEV4 890 DEV1+DEV2+DEV3 DEV3 606 DEV1+DEV2 DEV2 336 Återställ data från proxydisk: Volym proxydisk 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 4 DEV0 RAM427 1 DEV2+DEV3 RAM4 1 DEV387+DEV1+DEV2 RAM3 1+DEV403+DEV Volym 1 DEV2+1 DEV 427 Hastighet ​​(M/s) DEVXNUMX+DEVXNUMX+DEVXNUMX+DEVXNUMX DEVXNUMX XNUMX DEVXNUMX+DEVXNUMX +DEVXNUMX DEVXNUMX XNUMX DEVXNUMX+DEVXNUMX DEVXNUMX XNUMX

Det noteras att prestandan kan förbättras ytterligare om proceduren för att utfärda I/O-förfrågningar parallelliseras över komponenter i den logiska volymen (för närvarande görs detta för enkelhets skull i en slinga med en enda tråd). Och även om du bara läser de data som är föremål för rörelse under ombalansering (nu läses all data för enkelhetens skull). Den teoretiska gränsen för hastigheten för att lägga till/ta bort en andra enhet i system med parallell skalning är två gånger kopieringshastigheten från den första skivan till den andra (respektive från den andra till den första). Nu är hastigheten för att lägga till och ta bort en andra skiva på motsvarande 1.1 och 1.3 kopieringshastigheter.

Dessutom har en O(1) defragmenterare aviserats som kommer att behandla alla komponenter i en logisk volym (inklusive proxydisken) parallellt, d.v.s. under en tid som inte överstiger handläggningstiden för den största komponenten separat.

Källa: opennet.ru

Lägg en kommentar