The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

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

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

Традиционные ФС недостаточно эффективны для NVM-памяти, так как не рассчитаны на байтовую адресацию, применяемую в энергонезависимой памяти, которая для обработчиков выглядит как обычное ОЗУ. В частности, чтение с обычных накопителей обеспечивает атомарность операции на уровне чтения/записи сектора, в то время как NVM-память обеспечивает доступ на уровне отдельных байтов.

Кроме того, традиционные ФС пытаются снизить интенсивность обращения к носителю, который рассматривается как заведомо более медленный, чем оперативная память, а также пытаются группировать операции для обеспечения последовательного чтения при применении НЖМД, обрабатывать очереди запросов, разделять приоритеты выполнения разных операций. Для NVM-хранилищ подобные усложнения излишни, так как скорость обращения к данным сопоставима с оперативной памятью и порядок доступа не имеет значения.

ФС NOVA использует интерфейс ядра DAX для прямого доступа к устройствам постоянной памяти в обход страничного кэша - содержимое накопителя отображается в адресное пространство ядра без применения традиционного уровня блочных устройств. В итоге при хранении в памяти с байтовой адресацией NOVA обеспечивает атомарное обновление метаданных (каждая операция с директорией атомарна) и данных (каждая запись в файл атомарна). Дополнительно предусмотрен режимы "unsafe data" и "unsafe metadata", позволяющих форсировать производительность ценой потери атомарности операций.

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

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

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

Все таблицы inode и связанные с ними журналы разбиваются на несколько частей, каждая из которых привязывается к своему ядру CPU, что позволяет распараллелить операции с таблицей. Сами inode хранятся в связанных списках (по одному на CPU) блоками по 2 Мб. Последние 8 байт в каждом блоке ссылаются на следующий блок. Выделение новых блоков для inode осуществляется динамически. Каждый блок обрабатывается только тем ядром CPU, за которым закреплён. Привязка к CPU осуществляется во время инициализации нового экземпляра ФС командой "mount -t NOVA -o init /dev/pmem0 /mnt/ramdisk"). Так как таблицы inode привязываются к CPU, работа уже созданной ФС возможна только на системах с аналогичным числом ядер CPU.

Из других ограничений, которые планируется устранить по мере развития ФС, отмечается отсутствие утилит mkfs и fsck, отсутствие утилиты для перепроверки целостности данных (проверяется только целостность данных, к которым производится доступ), отсутствие ведения таблиц сбойных блоков (bad blocks), возможность работы только на системах x86-64, отсутствие поддержки ACL и расширенных атрибутов файлов, невозможность записи в примонтированные снапшоты, отсутствие поддержки квот.

  1. Главная ссылка к новости (https://lkml.org/lkml/2017/8/3...)
  2. OpenNews: Значительное обновление файловой системы Bcachefs
  3. OpenNews: Инженеры из Google представили глобальную файловую систему Upspin
  4. OpenNews: В файловой системе Reiser4 появилась поддержка зеркалирования
  5. OpenNews: Файловая система Tux3 предложена для включения в состав ядра Linux
  6. OpenNews: Facebook приступает к тестовому внедрению файловой системы Btrfs
Лицензия: CC-BY
Тип: Интересно / К сведению
Ключевые слова: nova, nvm, nvdimm, fs, kernel, linux
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Нннн, 12:00, 06/08/2017 [ответить] [смотреть все]
  • +9 +/
    Похоже скоро SSD диски тоже в прошлое уйдут
     
     
  • 2.2, deadfood, 12:19, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]
  • –3 +/
    нет
     
     
  • 3.3, A.Stahl, 12:25, 06/08/2017 [^] [ответить] [смотреть все]
  • +35 +/
    Всё когда-то уйдёт в прошлое. Даже будущее.
     
     
  • 4.14, Xasd, 13:56, 06/08/2017 [^] [ответить] [смотреть все]
  • +/
    скоро?
     
     
  • 5.22, A.Stahl, 14:40, 06/08/2017 [^] [ответить] [смотреть все]
  • +7 +/
    В будущем:)

     
     
  • 6.28, Дегенератор, 14:58, 06/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Будущего не существует. Смиритесь.
     
     
  • 7.29, A.Stahl, 15:04, 06/08/2017 [^] [ответить] [смотреть все]  
  • +4 +/
    Да, будущего не существует сейчас Нет его и в прошлом Но в будущем будет будущ... весь текст скрыт [показать]
     
     
  • 8.91, Аноним, 00:09, 07/08/2017 [^] [ответить] [смотреть все]  
  • –11 +/
    Почитайте The Langoliers, может тогда поймете про что речь, это лучше чем строит... весь текст скрыт [показать]
     
     
  • 9.104, Аноним, 09:49, 07/08/2017 [^] [ответить] [смотреть все]  
  • +/
    > строить из себя философа.

    Всё относительно.

     
  • 9.105, Moomintroll, 10:24, 07/08/2017 [^] [ответить] [смотреть все]  
  • +/
    > The Langoliers

    С каких это пор художественный вымысел стал истиной?

     
     
  • 10.107, Аноним, 10:57, 07/08/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Примерно со времен написания "архипелаг гулаг"
     
  • 9.111, Lain_13, 11:40, 07/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Тогда я могу ссылаясь на MLP Time Loops утверждать, что заранее предопределён ст... весь текст скрыт [показать]
     
     
  • 10.122, Аноним, 13:10, 07/08/2017 [^] [ответить] [смотреть все]  
  • +/
    А дискретность времени подозрительно напоминает отдельные тики ... весь текст скрыт [показать]
     
  • 10.191, _, 17:10, 08/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Хммм я попал на соревнования поставщиков ширева Чемпиону - пожизненное, иб... весь текст скрыт [показать]
     
  • 10.209, pavlinux, 00:14, 18/08/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Философов бесконечностей, хотя бы скажи какой завтра, после 11:00 будет курс фунта ст. по ЦБ.
     
  • 1.4, Аноним, 12:33, 06/08/2017 [ответить] [смотреть все]  
  • –2 +/
    Это получается я могу создать раздел типа tmpfs с этой файловой системой и класт... весь текст скрыт [показать]
     
     
  • 2.6, A.Stahl, 12:35, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >для быстрой работы

    А скорость-то откуда возьмётся?

     
     
  • 3.112, Lain_13, 11:52, 07/08/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Строго говоря может даже и взяться так-как в описание чётко указывалось, что в N... весь текст скрыт [показать]
     
  • 2.9, Старый одмин, 12:55, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    NVMDIMM NVM Non-volatile DIMM Dual In-line Memory Module Не забудь купить модуль... весь текст скрыт [показать] [показать ветку]
     
  • 1.5, Аноним, 12:35, 06/08/2017 [ответить] [смотреть все]  
  • +2 +/
    Несколько смущает последний абзац Что происходит, если количество ядер в систем... весь текст скрыт [показать]
     
     
  • 2.24, я, 14:46, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Видать придется монтировать. Судя из последнего обзатца
     
  • 2.8, Аноним, 12:42, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Вроде стало понятнее после оригинального описания Всё per-CPU распределятся р... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.25, Аноним, 14:47, 06/08/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Ничего подобного, в контексте NOVA инициализация это запуск в режиме -o init , ... весь текст скрыт [показать]
     
  • 3.30, Аноним, 15:05, 06/08/2017 [^] [ответить] [смотреть все]  
  • +4 +/
    В документации сказано обратное following items are currently missing Movi... весь текст скрыт [показать]
     
  • 1.11, Аноним, 13:16, 06/08/2017 [ответить] [смотреть все]  
  • –6 +/
    Доколе мы будем влачить существование в прокрустовом ложе файлов и файловых сист... весь текст скрыт [показать]
     
     
  • 2.20, Какаянахренразница, 14:23, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    Каковы Ваши предложения, мой анонимный друг?
     
     
  • 3.57, Вася1970, 18:47, 06/08/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    он хочет ОС Фантом.
     
     
  • 4.65, Аноним, 20:30, 06/08/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Фантом слишком фантом, а мне надо ИРЛ, так что и ibm i не очень подходит
     
  • 2.83, Аноним, 23:08, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Действительно Даже если не упоминать всякие модные нынче нейросети, то реализац... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.89, Crazy Alex, 23:49, 06/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Чепуха Всё это не зря осталось академической игрушкой - на практике очень быстр... весь текст скрыт [показать]
     
     
  • 4.92, Аноним, 00:13, 07/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Мало того коллега, доступ к ОЗУ тоже не однороден и приходиться плясать с бубном... весь текст скрыт [показать]
     
     
  • 5.98, Crazy Alex, 03:05, 07/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Да, но одно дело отладить это на критичных участках, другое - вообще ничего не з... весь текст скрыт [показать]
     
  • 5.127, Аноним, 14:32, 07/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Это о иерархии памяти вообще.
     
  • 2.106, Аноним, 10:40, 07/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Хотите хранить объекты Шишкин с начальником Рейзером изначально в Reiser4 плани... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.192, _, 17:18, 08/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Да тьфу на вас AWS S3 и наслаждайтесь Только вот они тоже прокрустово ло... весь текст скрыт [показать]
     
  • 1.26, Kuromi, 14:54, 06/08/2017 [ответить] [смотреть все]  
  • –1 +/
    Круто. F2FS никак до полностью рабочего состояния довести не могут, GRUB2 тормозит с поддержкой, а они новую уже придумали. Напоминает Jabber, где разработчики штампуют XEP (расширения протокола), а реализовывать поддержку в клиентах никто не спешит.
     
     
  • 2.42, A.Stahl, 16:14, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +5 +/
    Кладут Судя по удобству того что они натворили, то не штампуют, а кладут ... весь текст скрыт [показать] [показать ветку]
     
  • 1.45, Аноним, 16:40, 06/08/2017 [ответить] [смотреть все]  
  • –3 +/
    Инновационная btrfs тормозит в большинстве тестов Новая виндовая refs, убийца n... весь текст скрыт [показать]
     
     
  • 2.51, Аноним, 17:38, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –5 +/
    А, как ранее MS пиарщики и незалежнi-тестировщики обзорщиками пиарили что NTFS б... весь текст скрыт [показать] [показать ветку]
     
  • 2.54, Michael Shigorin, 18:34, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    > простой, быстрой фс со сжатием.

    Выберите два.

     
     
  • 3.59, Аноним, 19:17, 06/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Можно тогда пример хорошей фс быстрой со сжатием?
     
     
  • 4.60, Led, 19:49, 06/08/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    reiser4 Но там свои тараканы В частности, образы виртуалок на неё лучше не к... весь текст скрыт [показать]
     
     
  • 5.96, Аноним, 01:22, 07/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Кстати, много где такое слышал Вроде вызвано тем, что при восстановлении файлов... весь текст скрыт [показать]
     
     
  • 6.97, Led, 01:37, 07/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Нет, там всё намного прозаичнее и проявляется только когда включена компрессия ... весь текст скрыт [показать]
     
     
  • 7.202, me, 00:14, 12/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну напишите уже кто-нить ioctl, чтобы помечать файлы как несжимаемые Попросите ... весь текст скрыт [показать]
     
     
  • 8.203, Led, 00:17, 12/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Костыдь - за пару часов А по-хорошему - xattrs с поддержкой c ... весь текст скрыт [показать]
     
     
  • 9.204, me, 00:51, 12/08/2017 [^] [ответить] [смотреть все]  
  • +/
    А почему xattrs с поддержкой c тогда не костыль, а всё остальное - костыль ... весь текст скрыт [показать]
     
     
  • 10.205, Led, 00:58, 12/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Потому что xattrs уже есть в vfs и реализовано в ext234 btrfs xfs может ещё где... весь текст скрыт [показать]
     
  • 4.200, XoRe, 19:06, 08/08/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    > Можно тогда пример хорошей фс быстрой со сжатием?

    ZFS

     
     
  • 5.201, Led, 23:43, 08/08/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Спрашивали же хорошую и быструю, а не просто объект поклонения pussy exe шников ... весь текст скрыт [показать]
     
  • 3.61, Аноним, 19:59, 06/08/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    NTFS и ZFS?
     
  • 1.55, Вася1970, 18:43, 06/08/2017 [ответить] [смотреть все]  
  • –2 +/
    NVM это по идее отказ от концепции файла, отход от принципа unix и новая ОС, а не костыль в виде ФС
     
     
  • 2.58, Crazy Alex, 18:48, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Чего, блин И чем ты собрался заменить файл как именнованную сущность на постоян... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.69, анононк, 20:49, 06/08/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    вообще-то может и поменяет, все будет в сжатых бинарниках приложения , а даныe в... весь текст скрыт [показать]
     
     
  • 4.71, Crazy Alex, 21:12, 06/08/2017 [^] [ответить] [смотреть все]  
  • +/
    И что поменяется Какая-нибудь XFS или Ext4 охренеть какая человекопонятная, есл... весь текст скрыт [показать]
     
     
  • 5.75, анононк, 21:43, 06/08/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    вместо данных в базах данных фс не будет файлов в виде байткодов, а будут адре... весь текст скрыт [показать]
     
     
  • 6.79, Аноним, 22:23, 06/08/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Такое - существует давно и называется просто своп-файл или же ROM-образ прошив... весь текст скрыт [показать]
     
  • 3.76, Отражение луны, 21:50, 06/08/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Гораздо удобнее и удачнее хранить это дело таблицей с блобами, например, выделив... весь текст скрыт [показать]
     
  • 3.197, Ordu, 18:12, 08/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Мне кажется, что это чересчур сильное утверждение Существуют примеры софта, кот... весь текст скрыт [показать]
     
     
  • 4.207, rex, 23:54, 15/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Идеи красивые К тому всё и идет, но Реальный софт личит, бакапится, и главное ... весь текст скрыт [показать]
     
  • 2.138, Kodir, 18:29, 07/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Концепция файла вечна, не трогайте святое, дабы не позориться А если очередно... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.211, pavlinux, 00:41, 18/08/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > "Концепция файла" вечна, не трогайте святое, дабы не позориться.

    Файлов не существует, смирись.

    > а потом напишите слово "флешка" и разъясните самому себе, как очередная концепция будет с ней работать.

    Тебе, человеку-шаблону, надо всё разъяснять.
    Есть read(), write() и lseek() - это всё что нужно, чтоб порвать твой шаблон.

     
  • 1.62, Baz, 20:12, 06/08/2017 [ответить] [смотреть все]  
  • +/
    интересно, а есть ли уже комп и OS для него где функция ПЗУ и ОЗУ объединена в NVM?
     
     
  • 2.78, Elly, 22:06, 06/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    The machine (HP)
     
     
  • 3.99, A.Stahl, 05:19, 07/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Разве проект ещё жив? Вроде сворачивали же...
     
  • 1.85, Аноним, 23:15, 06/08/2017 [ответить] [смотреть все]  
  • –1 +/
    А старые приложения смогут и дальше работать?
     
  • 1.102, 111, 08:11, 07/08/2017 [ответить] [смотреть все]  
  • +/
    Похоже EMC DSSD её уже давно использует (хотя может что-то и своё, но подход схож)
     
  • 1.108, Аноним, 11:03, 07/08/2017 [ответить] [смотреть все]  
  • +/
    жесткие диски гарантируют атомарность записи сектора либо полностью запишется л... весь текст скрыт [показать]
     
     
  • 2.117, Аноним, 12:25, 07/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Оно то может и может, раз энерго-независимое, а вот куча ЦПУ кэшей Ну я пи... весь текст скрыт [показать] [показать ветку]
     
  • 2.139, Crazy Alex, 20:22, 07/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Не знаю, как насчёт этого то, что пока продаётся - честно говоря, даже на опы... весь текст скрыт [показать] [показать ветку]
     
  • 2.190, Аноним84701, 16:56, 08/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Либо подтвердит запись, а на самом деле все оставит в кэше Или тупо поменяет оч... весь текст скрыт [показать] [показать ветку]
     
  • 2.206, xv, 13:22, 14/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    HDD при отключении питания пишут за счёт энергии, генерируемой постепенно остана... весь текст скрыт [показать] [показать ветку]
     
  • 2.208, ishida, 16:29, 16/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Очень интересно, тоже хотелось бы ответ знать
     
  • 1.210, pavlinux, 00:21, 18/08/2017 [ответить] [смотреть все]    [к модератору]  
  • +/
    Прекрасно, нам пиво поставляют ящиками, а мы их открываем и разливаем по рюмкам.
    А когда захочется пивка, то переливаем рюмки в бутыли и пакуем в ящик.
    Ну не работает официант,  если на подносе меньше 4096 рюмок.  
    Оптимизаторы, йотп.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor