The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз ядра Linux 3.10. Обзор новшеств"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
"Релиз ядра Linux 3.10. Обзор новшеств" +/
Сообщение от opennews (??), 01-Июл-13, 10:42 
Линус Торвальдс после 69 дней разработки анонсировал (https://lkml.org/lkml/2013/6/30/75) релиз ядра Linux 3.10 (https://www.kernel.org/). В новой версии: BCache для кэширование доступа к медленным жестким дискам на быстрых SSD-накопителях, динамическая система управления генерацией прерываний таймером, оптимизация ситуации пропадания пакета в конце TCP-соединения, возможность проверки целостности метаданных в XFS, поддержка режима Skinny Extents в Btrfs, начало реализации поддержки гибридных систем ARM big.LITTLE, поддержка гипервизора KVM для платформы MIPS.

В новую версию принято 11.9 тысяч исправлений от примерно 1400 разработчиков, размер патча - 47 Мб (изменения затронули 10475 файлов, добавлено 663992 строк кода, удалено 395368 строк). Около 45% всех представленных в 3.10 изменений связаны с драйверами устройств, примерно 23% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 4% - файловыми системами и 5% c внутренними подсистемами ядра.


Из наиболее интересных новшеств (http://kernelnewbies.org/Linux_3.10) можно отметить:

-  
Дисковая подсистема, ввод/вывод и файловые системы

-  Интеграция разработанной и применяемой в Google системы Bcache (http://www.opennet.me/opennews/art.shtml?num=35849), которая позволяет организовать кэширование доступа к медленным жестким дискам на быстрых SSD-накопителях, при этом кэширование ведётся на уровне блочного устройства, что позволяет ускорить доступ к накопителю независимо от используемых на нём файловых систем. Один SSD-накопитель может использоваться для кэширования нескольких различных блочных устройств. Блочное устройство может быть на лету прикреплено к кэшу и отключено от него, без размонтирования и временной остановки работы (создание кэша требует форматирования с использованием утилиты make-bcache). Поддерживается как сквозное кэширование (writethrough), так и режим отложенной записи (writeback) при котором данные записываются на исходный носитель не сразу, что позволяет обеспечить ускорение операций записи. Дополнительно поддерживается режим readahead, при котором кэш наполняется не только при записи, но и при операциях чтения;
- В  Btrfs добавлена поддержка режима Skinny Extents, позволяющего уменьшить размер дерева распределения блоков до 30%. Добавлена поддержка автоматического перестроения индекса квот;
-  В файловой системе XFS появилась экспериментальная поддержка ведения контрольных сумм для контроля целостности метаданных.

-  В подсистему iSCSI добавлена поддержка протокола RDMA (http://en.wikipedia.org/wiki/Remote_direct_memory_access) (iSER), предоставляющие похожие на DMA возможности для организации прямого доступа к памяти другого компьютера;

-  В распределённую файловую систему Ceph добавлена поддержка (http://ceph.com/docs/master/dev/rbd-layering/) многослойной работы для RBD. В частности, тепрь доступен механизм для быстрого создания copy-on-write клонов сетевых блочных устройств, каждый из которых продолжает работать как отдельное RBD-устройство. Например, для организации быстрого развёртывания новых виртуальных окружений можно организовать создание образов таких окружений как клонов эталонного образа виртуальной машины;

-  
Виртуализация и безопасность

-  Реализацией порта KVM для процессоров MIPS. Порт KVM для MIPS базируется на использовании расширения  MIPS-VZ, доступного в процессорах  OCTEON III;

-  Функциональность запуска скриптов, содержащих путь к интерпретатору в заголовке "#!", теперь может быть собрана в виде модуля ядра, что позволяет легко запретить выполнение скриптов как программ;

-  Внесены многочисленные улучшения, связанные поддержкой cgroups.  В cgroups добавлена поддержка генерации события с уведомлением приложения о приближении к исчерпанию доступной процессу или системе памяти. Реализована полная поддержка иерархических cgroups для групп "device" и "perf_event". Добавлена новая опция монтирования "__DEVEL__sane_behavior" при указании которой используется более жёсткий метод обеспечения непротиворечивости иерархии для всех групп;


-  Выполнение криптографических функций, в том числе sha256, sha512, blowfish, twofish, serpent и camellia, оптимизировано с использованием инструкций AVX/AVX2 и SSE. Отдельно можно отметить задействование поддерживаемых в современных CPU AMD и Intel средств ускорения шифрования AES, что позволяет существенно повысить производительность eCryptfs AES-NI;

-   Добавлен драйвер для виртуальных видеоадаптеров Microsoft Hyper-V;
-  Интегрирован драйвер виртуальной графической карты QXL, применяемой в системах виртуализации для обеспечения акселерированного вывода графики с использованием протокола SPICE (http://www.opennet.me/opennews/art.shtml?num=29782);

-  
Сетевая подсистема

-  В TCP-стек добавлена (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g... поддержка алгоритма проверки потери хвоста (Tail loss probe, TLP (http://tools.ietf.org/html/draft-dukkipati-tcpm-tcp-loss-pro... уменьшающего время восстановления скорости потока в случае отбрасывания пакета в конце соединения. Новый алгоритм эффективен для небольших и чувствительных к задержке соединений, для которых потеря последнего пакета может создавать существенные задержки. Интегрированный в ядро патч опробован на web-серверах Google и показал высокую эффективность при обработке небольших web-транзакций, позволил сократить время таймаута для повтора (RTO) на 15% и уменьшить время поступления HTTP-ответа на 6%;

-  Для mesh-протокола B.A.T.M.A.N. ("Better Approach To Mobile Adhoc Networking), позволяющего создавать децентрализованные сети, каждый узел в которых связан через соседние узлы, обеспечена поддержка механизма "сетевого кодирования (http://www.open-mesh.org/projects/batman-adv/wiki/NetworkCod... позволяющего в некоторых ситуациях одновременно передавать два пакета для разных получателей, путем их объединения с использованием операции исключающее "ИЛИ" (XOR);

-  Удалена поддержка механизма TCP Cookie Transactions (TCPCT) (https://en.wikipedia.org/wiki/TCP_Cookie_Transactions), который никогда не был полностью реализован на практике и создаёт негативное влияние на производительность;

-  В реализацию протокола IPv6 добавлена поддержка работы поверх IEEE 1394 ("Firewire");

-  В интерфейс netlink добавлена (https://lwn.net/Articles/549487/) поддержка выполнения операций ввода/вывода с маппингом в память ( memory-mapped I/O), что позволяет избавиться от лишней операции копирования содержимого пакета из ядра в пространство пользователя;

-  Внесены оптимизации в код чтения и записи семафоров, что позволило заметно повысить производительности для некоторых типов нагрузки. Например, прирост производительности в тесте Pgbench  составил  100%;

-  
Память и системные сервисы

-  Добавлена динамическая система управления генерацией прерываний таймером, позволяющая в зависимости от текущего состояния изменять прерывания в диапазоне от тысяч тиков в секунду до одного прерывания в секунду, сводя к минимуму нагрузку на CPU при обработке прерываний при неактивности системы. В настоящее время добавленная функциональность нацелена на применение в системах реального времени и для высокопроизводительных вычислений (HPC), в будущих выпусках планируется задействовать указанную возможность и для десктоп-систем;
-  В реализацию POSIX-таймеров и таймеров высокого разрешения добавлен новый тип часов CLOCK_TAI, оперирующих международным атомарным временем;

-  Большая порция функций для доступа к физическому уровню USB помечена как экспортируемая только для компонентов пол лицензией GPL, что не позволяет обращаться к ним и из проприетарных модулей ядра;

-  Добавлена возможность сосуществования нескольких регуляторов частоты CPU (CPU frequency governor), запущенных с разными ...

URL: https://lkml.org/lkml/2013/6/30/75
Новость: http://www.opennet.me/opennews/art.shtml?num=37315

Ответить | Правка | Cообщить модератору

Оглавление
Релиз ядра Linux 3.10. Обзор новшеств, opennews, 01-Июл-13, 10:42  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру