Допустим, у нас есть файловая система FUSE.
Будет ли это сильно влиять на производительность с патчем Kaiser?
Насколько я понимаю, файловая система FUSE полностью работает в пользовательском пространстве и, следовательно, меньше подвержена влиянию по сравнению с файловыми системами ядра?
Здесь упоминается https://access.redhat.com/articles/3307751 который:
тесты с большим количеством переходов от ядра к пользовательскому пространству оцениваются в 8-19%.
Было установлено, что рабочие нагрузки с интенсивным использованием ЦП HPC (высокопроизводительные вычисления), которые проводят мало времени в ядре, оказывают влияние на производительность 2-5%. Это касается заданий, которые выполняются в основном в пользовательском пространстве и планируются с использованием cpu-pinning или numa-control.
Ну, так как вы не сказали, что такое файловая система FUSE или что она делает, трудно сказать что-то слишком определенное, но если вы задумаетесь об этом, вы все равно делаете системные вызовы в ядре (например, через ваш libc write
call), который, в свою очередь, должен будет перейти НАЗАД в пользовательское пространство, чтобы взаимодействовать с файловой системой FUSE. Так:
Влияет ли на производительность приложений на основе FUSE [sic] патч Kaiser в Redhat [sic]?
Да, на производительность FUSE повлияет патч Kaiser в Red Hat, потому что вы, вероятно, сделаете это на наименее Пользователь-ядро-пользователь-ядро-пользователь переходы, когда ваша пользовательская программа работает с файлом FUSE (см. Direct-FUSE: удаление посредника для поддержки высокопроизводительной файловой системы FUSE, FUSE or Not to FUSE: производительность файловых систем в пространстве пользователя документы и «Сравнение файловых систем ядра и пользовательского пространства» дипломная работа (глава 4.1.1)). Вы правы, что файловые системы FUSE работают в пользовательском пространстве, но обычно как разные процесса к тому, кто выполняет операции (да, программа может иметь возможность общаться с файловой системой FUSE, используя ее в качестве библиотеки, но это не типичный случай, потому что код файловой системы должен быть написан с таким стилем работы в ум и без LD_PRELOAD
уловки, программы должны быть изменены в каждом конкретном случае, чтобы использовать его таким образом).
Будет ли это сильно влиять на производительность с патчем Kaiser?
Может быть? :-) Невозможно сказать наверняка - это будет зависеть от вашей нагрузки, вашего оборудования и вашей конфигурации.