Новости и события » 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


Переваги суцільних купальників перед роздільними

Переваги суцільних купальників перед роздільними

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

сегодня 16:43

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

Вверх