Red Hat NVM жады үшін тиімді жаңа NVFS файлдық жүйесін әзірлеуде

Микулаш Паточка, LVM әзірлеушілерінің бірі және бірқатар авторлардың бірі өнертабыстарRed Hat-те жұмыс істейтін сақтау жүйелерін оңтайландыруға байланысты, енгізілді Linux ядросының әзірлеушісінің тарату тізіміндегі жаңа файлдық жүйе NVFS, RAM өнімділігін мазмұнды тұрақты сақтау мүмкіндігімен үйлестіре отырып, тұрақты жад микросхемалары (NVM, тұрақты жад, мысалы NVDIMM) үшін ықшам және жылдам FS жасауға бағытталған.

NVFS әзірлеу кезінде ТЖ тәжірибесі ескерілді NOVA, 2017 жылы NVM жады үшін арнайы жасалған, бірақ Linux ядросына қабылданбаған және шектеулі 4.13-тен 5.1-ге дейінгі Linux ядроларына қолдау көрсету.
Ұсынылған FS NVFS NOVA-ға қарағанда (4972-ға қарсы 21459 код жолы) әлдеқайда қарапайым, fsck утилитасын қамтамасыз етеді, жоғары өнімділікке ие, кеңейтілген атрибуттарды (xattrs), қауіпсіздік белгілерін, ACL және квоталарды қолдайды, бірақ суретке түсіруге қолдау көрсетпейді. Архитектура NVFS жақын
Ext4 файлдық жүйесі VFS ішкі жүйесіне негізделген файлдық жүйелер моделіне жақсы сәйкес келеді, бұл қабаттар санын азайтуға және ядроға патчтарды қажет етпейтін модульмен жұмыс істеуге мүмкіндік береді.

NVFS ядро ​​интерфейсін пайдаланады DAX бет кэшін айналып өтіп, тұрақты жад құрылғыларына тікелей қол жеткізу үшін. Байт адресі бар NVM жадының жұмысын оңтайландыру үшін дискінің мазмұны дәстүрлі блоктық құрылғы қабатын және аралық кэшті пайдаланбай, ядроның сызықтық мекенжай кеңістігімен салыстырылады. Каталог мазмұнын сақтау үшін қолданылады негізгі ағаш (радикс ағашы), онда әрбір файл атауы хэштелген және ағашты іздеу кезінде хэш мәні пайдаланылады.

Деректердің тұтастығы «жұмсақ жаңартулар"(FreeBSD-тен UFS және OpenBSD-тен FFS сияқты) журналды пайдаланбай. NVFS жүйесінде файлдың бүлінуін болдырмау үшін деректерді өзгерту операциялары бұзылу блоктардың немесе инодтардың жоғалуына әкелмейтіндей етіп топтастырылады және fsck утилитасының көмегімен құрылымдардың тұтастығы қалпына келтіріледі. fsck утилитасы көп ағынды режимде жұмыс істейді және секундына 1.6 миллион инодты құрайтын өрескел күш өнімділігін қамтамасыз етеді.

В өнімділік сынақтары NVFS Linux ядросының көзі ағашының көшіру әрекетін NVM жадында NOVA-дан 10%-ға, ext30-ке қарағанда 4%-ға және XFS-ке қарағанда 37%-ға жылдамырақ орындады. Деректерді іздеу тестінде NVFS NOVA қарағанда 3%, ext4 және XFS 15% жылдамырақ болды (бірақ белсенді диск кэшінде NOVA 15% баяу болды).
Миллиондық каталог операцияларын тексеруде NVFS NOVA-дан 40%-ға, ext4-тен 22%-ға және XFS-тен 46%-ға асып түсті. ДҚБЖ әрекетін модельдеу кезінде NVFS файлдық жүйесі NOVA-дан 20%, ext4-тен 18 есе және XFS-тен 5 есе асып түсті. fs_mark тестінде NVFS және NOVA өнімділігі шамамен бірдей деңгейде болды, ал ext4 және XFS шамамен 3 есе артта қалды.

NVM жадындағы дәстүрлі файлдық жүйелердің артта қалуы олардың тұрақты жедел жадыға ұқсайтын тұрақты жадта қолданылатын байт адресациясына арналмағандығына байланысты. Кәдімгі дискілерден оқу сектордың оқу/жазу деңгейінде операцияның атомдылығын қамтамасыз етеді, ал NVM жады жеке машина сөздерінің деңгейінде қол жеткізуді қамтамасыз етеді. Сонымен қатар, дәстүрлі файлдық жүйелер жедел жадқа қарағанда әлдеқайда баяу деп саналатын медиаға қол жеткізудің қарқындылығын төмендетуге тырысады, сонымен қатар қатты дискілерді пайдалану кезінде дәйекті оқуды қамтамасыз ету үшін операцияларды топтастыруға тырысады, сұраныс кезегін өңдейді, фрагментациямен күреседі және файлдарды ажыратады. әртүрлі операциялардың басымдықтары.. NVM жады үшін мұндай асқынулар қажет емес, өйткені деректерге қол жеткізу жылдамдығы жедел жадымен салыстырылады, ал кіру реті маңызды емес.

Ақпарат көзі: opennet.ru

пікір қалдыру