Руководство по продвинутым файловым системам

       

Allocation groups и масштабность.


А зачем разработчики XFS решили использовать allocation groups? В первую очередь это сделано для эффективной параллельной обработки операций ввода/вывода. Поскольку каждая allocation group это эффективно управляемый автономный объект, ядро может распределять нагрузку между несколькими allocation groups. Без allocation groups код файловой системы XFS стал бы "узким горлом" для производительности, вынуждая жадные до ввода/вывода процессы "выстраиваться в цепочку" для модификации inode и выполнения других операций над метаданными. Благодаря allocation groups код XFS допускает многонитевое распараллеливание, а процессы могут работать параллельно, даже при сложных операциях ввода/вывода на одной файловой системе. Если у вас работает XFS, то ограничения по скорости, даже на высококлассном оборудовании, не будут определяться кодом файловой системы. Allocation groups в еще большей степени способствуют оптимизации параллельных операций ввода/вывода на многопроцессорных системах, так как в процессе изменения одновременно могут находиться несколько модификаций метаданных.



Содержание раздела