Подготовлен к выпуску уже четвёртый в этом году релиз ядра Linux, анонсированный в августе координатором проекта Линуксом Торвальдсом. Помимо значительного числа нововведений, среди которых улучшенная производительность, релиз с порядковым номером 3.11 получил поддержку клиента кластерной файловой системы Lustre. Как правило, эта файловая система применяется в области высокопроизводительных вычислений и используется в работе многих наиболее известных суперкомпьютеров. Встраивание поддержки Lustre стало частью более широкой инициативы по вовлечению в ядро Linux 3.11 крупных проектов.
Изначально Lustre была разработана компанией Cluster File Systems, которая в 2007 г. была поглощена Sun Microsystems. После того, как в 2010 г. Sun стала частью Oracle, разработка распределённой файловой системы несколько замедлилась, и уже в феврале 2013 г. фирма Xyratex выкупила у Oracle права на торговую марку Lustre и связанную с ней интеллектуальную собственность.
В Linux 3.11 также включена предварительная версия стандарта Network File System (NFS) 4.2 — в настоящее время эта технология проходит сертификацию в организации Internet Engineering Task Force (IETF). Среди привнесённых ею нововведений — возможность копирования данных на стороне сервера, а также предварительное резервирование места, оптимизации для SSD-накопителей и др. “Традиционное копирование файлов с одного сервера на другой приводит к тому, что нагрузка на сеть увеличивается вдвое — вначале исходные данные попадают к клиенту, после чего отправляются к месту назначения. Чтобы этого избежать, стандарт позволит двум серверам взаимодействовать напрямую, без участия клиента”, — гласит проектировочная документация по NFS 4.2.
Кроме того в NFS 4.2 будет включена технология разметки, которая позволит использовать произвольное число различных меток безопасности для управления доступом для каждого раздела. Например, отдельную метку можно привязать к файлу с образом виртуальной машины, размещённом в NFS-разделе, можно экспортировать домашние директории через NFS с разграничением доступа приложений только в определённые области.
Несмотря на то, что клиенты могли использовать для управления серверами модель принудительного контроля доступа Mandatory Access Control (MAC) как меру для обеспечения безопасности данных, никакой поддержки протокола для обеспечения полного взаимодействия между серверами ранее не было. Для решения этой проблемы в Linux 3.11 можно будет использовать новый файловый атрибут sec_label, позволяющий серверу идентифицировать хранящиеся данные при помощи MAC-разметки.
Ещё одно нововведение, которое получило ядро Linux 3.11, — технология Zswap. Она позволяет облегчённое сжатие кэша для подкачки страниц. При необходимости выгрузки страниц памяти на диск Zswap производит попытку сжать страницы, размещая их при этом в оперативной памяти. По мере возможности сжатые страницы не выгружаются на диск, чтобы избежать операций ввода-вывода с медленным носителем. Таким образом, при возникновении необходимости сброса памяти в раздел подкачки удаётся добиться сокращения ввода-вывода, что повышает скорость работы системы за счет минимизации обращений к медленному носителю. Тестирование Zswap в процессе компиляции ядра продемонстрировало выигрыш по объему ввода-вывода на 76% и сокращение времени выполнения операции на 53%.
Уделили внимание разработчики Linux-ядра и ARM-архитектуре. Начало этому было положено в декабре 2012 г., когда в версию Linux 3.7 была привнесена консолидированная поддержка нескольких разновидностей архитектур ARM. Для 32- и 64-разрядных архитектур будет использоваться улучшенная реализация технологий Transparent Huge Page и hugetlbfs, что позволит увеличить базовый размер адресуемых страниц памяти до 2 или 4 Мб. В итоге сократится число используемых TLB-блоков (Translation Lookaside Buffer) и появятся дополнительные возможности для задействования выделенной и при этом неиспользуемой памяти.
Всего в Linux 3.11 принято 10,7 тысяч исправлений от 1239 разработчиков. Среди компаний, внёсших наибольшее число изменений, наибольшую активностью продемонстрировали Intel, Red Hat, Linaro, Samsung. Около 43% всех представленных изменений связаны с драйверами устройств, примерно 23% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 11% связано с сетевым стеком, 5% — с файловыми системами и 5% — c внутренними подсистемами ядра.