Новости и события » Hi-Tech » Для Linux предложена новая ФС NOVA, спроектированная для NVM-памяти

Для Linux предложена новая ФС NOVA, спроектированная для NVM-памяти

В списке рассылки ядра Linux представлена новая файловая система NOVA (NOn-Volatile memory Accelerated file system), созданная для обеспечения максимальной эффективности и надежности работы на чипах энергонезависимой памяти (NVM, non-volatile memory, например NVDIMM и Intel 3DXpoint DIMM), сочетающих производительность ОЗУ с возможностью постоянного хранения содержимого, не теряющегося после прекращения подачи энергии. Традиционные ФС не достаточно эффективны для NVM-памяти, так как не рассчитаны на байтовую адресацию, применяемую в энергонезависимой памяти, которая для обработчиков выглядит как обычное ОЗУ.

Отмечается, что представленная реализация NOVA уже достаточно стабильна при выполнении сложных приложений, но до доведения до готовности к широкомасштабному внедрению еще необходимо проделать много работы. Поддерживается система снапшотов, позволяющих зафиксировать состояние ФС на текущий момент времени для создания целостной резервной копии. Для обеспечения целостности метаданных применяется похожая на RAID4 схема избыточного хранения, а также проверка целостности по контрольным суммам.

ФС NOVA использует интерфейса ядра DAX для прямого доступа к устройствам постоянной памяти в обход страничного кэша. Система основана на структурах данных, отражающих изменения в форме лога (log-structured FS), но вместо поддержания одного глобального лога для всех ФС, в NOVA создаются отдельные логи для каждого файла (inode). Лог разбивается на 4-килобайтовые страницы, которые могут произвольно размещаться в памяти (не обязательно по порядку). В логах хранятся только метаданные, а данные вынесены в отдельные страницы памяти. При выполнении операций записи в лог помещается указатель на блок изменяемых данных. Сами изменения вносятся с применением механизма copy-on-write (COW) для обеспечения атомарности обновления.

Для файловых операций в которые вовлечены несколько inode в NOVA применяется небольшие логи отката изменений (redo logs) фиксированного размера, которые атомарно прикрепляются в элементам в логе каждого задействованного в операции inode. В случае невозможности завершить операцию из-за сбоя изменения откатываются в прошлое состояние по находящемуся в логе журналу изменений. Подтверждение успешного завершения операции осуществляется путем удаления redo-лога.

Подобный подход позволяет добиться достаточно компактного размера логов, операции сборки мусора для которых выполняются очень быстро. Также появляется возможность параллельной обработки логов в процессе восстановления целостности ФС после отключения носителя без логического отмонтирования. Все таблицы inode и связанные с ними журналы разбиваются на несколько частей, каждая из которых привязывается к своему ядру CPU, что позволяет распараллелить операции с таблицей. Сами inode хранятся в связанных списках (по одному на CPU), блоками по 2 Мб. Последние 8 байт в каждом блоке ссылаются на следующий блок. Выделение новых блоков для inode осуществляется динамически. Каждый блок обрабатывается только тем ядром CPU, за которым закреплен.

Intel


Яку піцу можна вважати корисною: поради для вибору здорової...

Яку піцу можна вважати корисною: поради для вибору здорової альтернативи

Піца - одна з найбільш популярних страв у всьому світі. Її люблять за різноманіття смаків, поєднання інгредієнтів і можливість легко отримати смачну їжу з доставкою додому. Однак багато людей прагнуть зробити своє харчування більш здоровим, тому питання про...

сегодня 11:25

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх