/ Для администратора / Система / Оптимизация, тюнинг | ||
· | 20.11.2024 | Разработчики Ubuntu проанализировали эффективность включения оптимизации PGO (62 +12) |
Компания Canonical опубликовала результат оценки изменения производительности при пересборке пакетов с включением оптимизации на основе результатов профилирования кода (PGO - Profile-guided optimization), позволяющей генерировать более оптимальный код на основе анализа особенностей выполнения программы. В ходе проделанной работы был сделан вывод, что включение PGO позволило на 5-7% снизить нагрузку на CPU и ускорить время сборки...
| ||
· | 06.11.2024 | Архитектура набора команд BPF получила статус предложенного стандарта (99 +9) |
Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, завершил формирование RFC для архитектуры набора команд BPF и опубликовал связанную с ним спецификацию под идентификатором RFC 9669. RFC получил статус "Предложенного стандарта", после чего начнётся работа по приданию RFC статуса чернового стандарта (Draft Standard), фактически означающего полную стабилизацию и учёт всех высказанных замечаний...
| ||
· | 05.11.2024 | Использование в FFmpeg инструкций AVX-512 позволило в 94 раза ускорить некоторые операции (140 +46) |
Разработчики проекта FFmpeg сообщили о реализации новых ассемблерных оптимизаций, в которых, благодаря применению набора инструкций AVX-512, удалось ускорить некоторые операции, применяемые при декодировании видео. Прирост производительности ассемблерного кода с инструкциями AVX-512 составил 94, 44, 64 и 4.24 раза по сравнению базовой реализацией, написанной на языке Си без использования SIMD-инструкций. В ассемблерном коде с оптимизациями на базе инструкций AVX-2 прирост составлял 67, 27, 55 и 4.38 раз, соответственно, а на основе инструкций SSSE3 - 40, 21, 29 и 2.49 раз. Изменения добавлены в состав библиотеки dav1d, предлагающей альтернативный декодировщик для формата кодирования видео AV1. Инструкции AVX-512 доступны в процессорах AMD на базе микроархитектур Zen 4 и 5, и в процессорах Intel на базе таких микроархитектур, как Skylake-X, Ice Lake, Tiger Lake и Rocket Lake...
| ||
· | 31.10.2024 | В ядро Linux принят 21-строчный патч, ускоряющий прохождение теста per_thread_ops на 2.6% (117 +26) |
Джош Пуамбёф (Josh Poimboeuf) из компании Red Hat опубликовал патч для ядра Linux, ускоряющий на 2.6% прохождение теста "per_thread_ops", оценивающего число операций, которые могут быть выполнены в одном потоке. В патче используется маскирование указателей для снижения числа медленных вызовов barrier_nospec() в 64-битной функции copy_from_user(), применяемой для копирования данных в ядро из пространства пользователя. Линус Торвальдс внёс исправление в предложенный патч и перенёс оптимизированный код в состав ветки ядра 6.12...
| ||
· | 28.10.2024 | В ядре Linux оптимизирована реализация алгоритма CRC32C (150 +44) |
Для включения в состав будущей ветки ядра Linux 6.13 предложен патч с переработанной реализацией алгоритма нахождения контрольной суммы CRC32C. Код реализации CRC32C уменьшен примерно в 10 раз (с 4546 до 418 байт). При выключенной защите retpoline от атак класса Spectre прирост производительности при использовании новой реализации достигает 11.8% на процессорах AMD Zen 2, 6.4% - Intel Emerald Rapids и 4.8% Intel Haswell. При включении retpoline прирост производительности более заметен и достигает 66.8% на системах с процессорами Intel Emerald Rapids, 35.0% - Intel Haswell и 29.5% - AMD Zen 2...
| ||
· | 05.07.2024 | Разработчик WireGuard серьёзно ускорил вызов getrandom() в Linux (122 +58 ↻) |
Джейсон Доненфилд (Jason A. Donenfeld), автор VPN WireGuard, представил патчи, значительно ускоряющие получение случайных чисел от системы через функцию getrandom(), реализованную через соответствующий системный вызов Linux. Преимуществом такого решения по сравнению с использованием /dev/random или /dev/urandom является неподверженность атакам на исчерпание файловых дескрипторов, которые могут привести к неинициализированным и неслучайным криптографическим ключам...
| ||
· | 12.06.2024 | В ядре Linux появится возможность использования eBPF для создания планировщиков задач (58 +25) |
Линус Торвальдс выразил готовность принять в состав ядра Linux 6.11, релиз которого ожидается в конце сентября, патчей с реализацией механизма "sched_ext" (SCX), позволяющего использовать eBPF для создания планировщиков CPU, охватывающих практически все аспекты планирования выполнения задач и распределения ресурсов CPU. Подобные планировщики могут загружаться динамически и выполняться внутри ядра Linux в виртуальной машине eBPF, в которой, благодаря применению JIT-компиляции, байткод транслируется в машинные инструкции и выполняется с производительностью скомпилированного кода...
| ||
· | 15.05.2024 | Для OpenBSD реализована настройка, включающая режим TCP_NODELAY для всей системы (101 +20) |
Джоб Снейдерс (Job Snijders), маститый разработчик OpenBSD, руководитель одного из комитетов в IETF (Internet Engineering Task Force), автор 11 RFC, связанных с маршрутизацией и RPKI, и создатель IRRd (Internet Routing Registry Daemon), опубликовал набор патчей для OpenBSD, добавляющих новый sysctl-параметр "net.inet.tcp.nodelay" для отключения алгоритма Нейгла на уровне всей системы. Параметр избавляет разработчиков приложений от выставления флага TCP_NODELAY для отдельных сокетов...
| ||
· | 11.04.2024 | Компания Oracle опубликовала DTrace 2.0.0-1.14 для Linux (49 +15) |
Представлен экспериментальный выпуск инструментария динамической отладки DTrace для Linux 2.0.0-1.14, реализованный в виде работающего в пространстве пользователя процесса, использующего подсистему eBPF и штатные механизмы трассировки, предоставляемых ядром Linux. По функциональности реализация DTrace на базе eBPF близка к первой реализации DTrace для Linux, выполненной в форме модуля ядра. Код проекта распространяется под лицензией GPLv2...
| ||
· | 27.02.2024 | Netflix опубликовал код утилиты bpftop (67 +13) |
Компания Netflix представила утилиту bpftop, предоставляющую интерфейс для мониторинга за выполнением eBPF-программ в ядре Linux, реализованный в стиле утилиты top. Утилита показывает показатели производительности, нагрузки на CPU и обработки событий для каждой eBPF-программы. Поддерживается построение графиков для оценки динамики изменения характеристик выполнения во времени. Код bpftop написан на языке Rust и распространяется под лицензией Apache 2.0...
| ||
· | 15.02.2024 | Выпуск оптимизатора энергопотребления и производительности auto-cpufreq 2.2.0 (19 +18) |
Опубликован релиз утилиты auto-cpufreq 2.2.0, предназначенной для автоматической оптимизации скорости работы CPU и энергопотребления в системе. Утилита отслеживает состояние аккумулятора ноутбука, нагрузки на CPU, температуры CPU и активности в системе, и в зависимости от ситуации и выбранных опций динамически активирует режимы энергосбережения или высокой производительности. Поддерживается работа на устройствах с процессорами Intel, AMD и ARM. Для управления может использоваться графический интерфейс на базе GTK или консольная утилита. Код написан на языке Python и распространяется под лицензией LGPLv3...
| ||
· | 22.01.2024 | Для ядра Linux подготовлены оптимизации, повышающие производительность планировщиков ввода/вывода (62 +57) |
Йенс Эксбо (Jens Axboe), создатель io_uring и планировщиков ввода/вывода CFQ, Deadline и Noop, продолжил свои эксперименты с оптимизацией ввода/вывода в ядре Linux. На этот раз под его внимание попали планировщики ввода/вывода BFQ и mq-deadline, оказавшиеся узким местом как минимум в случае скоростных накопителей NVMe...
| ||
· | 20.01.2024 | Опыт создания хранилища Ceph c пропускной способностью тебибайт в секунду (95 +42) |
Инженер из компании Clyso обобщил опыт создания кластера хранения на базе отказоустойчивой распределённой системы Ceph с пропускной способностью, превышающей тебибайт в секунду. Отмечается, что это первый кластер на базе Ceph, который смог достигнуть подобного показателя, но перед получением представленного результата инженерам потребовалось преодолеть серию неочевидных подводных камней...
| ||
· | 16.01.2024 | Увеличение скорости ввода/вывода на 6% в Linux, благодаря кэшированию запросов времени (138 +67) |
Jens Axboe, создатель io_uring и сопровождающий блочную подсистему в ядре Linux, смог увеличить число операций ввода/вывода в секунду (IOPS) как минимум на 6% (возможно больше на полновесных конфигурациях ядер Linux), потратив всего 5 минут на кодинг. Идея состоит в том чтобы кэшировать запрос текущего времени в блочной подсистеме, совершаемый при каждой операции ввода/вывода, поскольку в блочной системе нет ничего, что нуждалось бы в наносекундной точности времени. Как пишет Axboe, больше всего он сожалеет о том, что не сделал это еще 5 лет назад, когда идея впервые пришла ему в голову - потому что, как оказалось, реализация идеи заняла всего 5 минут.
| ||
· | 14.01.2024 | В ядро Linux 6.8 приняты патчи, ускоряющие TCP (252 +97) |
В состав кодовой базы, на основе которой формируется ядро Linux 6.8,...
| ||
Следующая страница (раньше) >> |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |