Конг Ванг (Cong Wang), отговарящи подсистемата за управление трафика (TC, Traffic Control) в ядрото на Linux и развиващ проектa Multikernel, представи новата файлова система DAXFS в списъка на разработчиците на ядрото. DAXFS използва оперативната памет за съхранение на данни, работи в режим само за четене и напомня по функционалност на опростените файлови системи ramfs и tmpfs. Ядрен модул с реализация на DAXFS, както и инструментът mkdaxfs за създаване на ФС, са публикувани под лицензия GPLv2. След рецензиране се обмисля възможността за интеграция на DAXFS в основния състав на ядрото.
Ключовата особеност на новата ФС е ангажиране на подсистемата DAX (Direct Access) за работа в обход на страничния кеш и директен достъп до споделената физическа памет. В ramfs и tmpfs, съдържанието се запазва в страничния кеш, което, когато се използва една ФС в няколко контейнера или ядра, стартирани чрез технологията Multikernel, води до съхраняването на няколко копия на данни в физическата памет. Запълването на ramfs и tmpfs също изисква допълнителни операции за копиране без възможност за мапинг на съществуваща област от паметта.
Директният достъп до паметта в DAXFS позволява премахване на ненужните операции по копиране и организиране на работа в обход на традиционния стек за вход/изход, основан на блочни устройства и механизми за буферизация, а също така да се избегне фрагментацията на заделянето на паметта при съвместно използване на една ФС в различни контейнери и multikernel-ядра. DAXFS работи в режим Zero-Copy и директно предоставя съдържанието на файловете от паметта без ненужно дублиране на данни в страничния кеш и с възможност за мапинг на непрекъснати области на физическа памет във всеки екземпляр на контейнера или ядрото. Допълнително се поддържа използването на API dma-buf за използване на памет, експортирана от GPU, FPGA/SmartNIC или CXL-устройства.
ФС работи в режим само за четене и се инициализира чрез зареждане в паметта на предварително подготвен образ на ФС, което опростява изпълнението, позволява премахване на операциите по заделяне на памет по време на работа и изключва сложни механизми за управление на устройството.
Ключовата област на употреба на DAXFS е приложение в комбинация с технологията Multikernel, която позволява на един физически компютър да изпълнява няколко независими инстанции на ядрото на Linux, които имат директен достъп до хардуерните ресурси и могат да се използват за стартиране на няколко изолирани системни среди.
DAXFS също така може да се използва за организиране на споделен достъп на няколко контейнера или ядра до основния системен образ, разположен в споделяната памет; за намаляване на разходите при достъп до информация в паметта на хардуерни ускорители; за организиране на достъп до паметта от няколко хоста без мрежов вход-изход или до трайна памет, използвайки устройства на базата на шина CXL (Compute Express Link).
Източник: opennet.ru
