На десятой конференции SCALE (Southern California Linux Expo), проходившей с 20 по 22 января в Лос Анжелесе, Гордон Росс (Gordon Ross) из компании Nexenta представил новую реализацию файловой системы пространства пользователя FUSE для OpenSolaris/Illumos с поддержкой кэширования метаданных внутри ядра.
В классической реализации FUSE модуль ядра имеет очень простую функциональность и фактически занимается только получением и отправкой запросов от подсистемы VFS и их преобразованием в сообщения для приложения пространства пользователя, которое как раз и реализует файловую систему. В такой схеме всю работу выполняет само приложение и связанная с ним библиотека libfuse, что приводит к образованию большого потока сообщений от ядра к приложению и обратно и, как следствие, падению общей производительности файловой системы.
Реализация, представленная Гордоном Россом, позволяет сократить общее число пересылок данных за счет кэширования метаданных на стороне ядра. Любые повторные операции над содержимым файловой системы будут выполнены быстрее, без создания лишнего оверхеда в виде переключения контекста. Второе отличие нового модуля в использовании более эффективного механизма IPC door calls, реализованного в операционных системах OpenSolaris и Illumos.
В данный момент разработка носит экспериментальный характер и не планируется к включению в код OpenSolaris/Illumos. Планов по реализации схожей функциональности для Linux-реализации FUSE у автора также нет.
|