/ Для администратора / Система / Оптимизация, тюнинг | ||
· | 05.07.2024 | Разработчик WireGuard серьёзно ускорил вызов getrandom() в Linux (122 +57 ↻) |
Джейсон Доненфилд (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 +12) |
Компания 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,...
| ||
· | 30.09.2023 | Выпуск оптимизатора энергопотребления и производительности auto-cpufreq 2.0 (75 +20) |
После четырёх лет разработки представлен релиз утилиты auto-cpufreq 2.0, предназначенной для автоматической оптимизации скорости работы CPU и энергопотребления в системе. Утилита отслеживает состояние аккумулятора ноутбука, нагрузки на CPU, температуры CPU и активности в системе, и в зависимости от ситуации и выбранных опций динамически активирует режимы энергосбережения или высокой производительности. Поддерживается работа на устройствах с процессорами Intel, AMD и ARM. Код утилиты написан на языке Python и распространяется под лицензией LGPLv3...
| ||
· | 27.09.2023 | Представлен TuxClocker 1.0, интерфейс для разгона видеокарт NVIDIA (49 +19) |
После четырёх с половиной лет разработки опубликован выпуск проекта TuxClocker 1.0, предоставляющего инструменты для оверклокинга (overclock) и мониторинга работы видеокарт. TuxClocker состоит из фонового процесса, управляющего тактовой частотой, напряжением и параметрами системы охлаждения видеокарты, а также графического интерфейса на базе библиотеки Qt. Код написан на С++ и распространяется под лицензией GPLv3...
| ||
· | 21.08.2023 | Замена алгоритма сортировки в sysinit позволила ускорить загрузку FreeBSD (192 +37) |
Во FreeBSD принято изменение, меняющее в коде инициализации ядра (sysinit) алгоритм сортировки массивов. Вместо ранее применявшегося алгоритма пузырьковой сортировки в sysinit задействован более эффективный алгоритм сортировки слиянием, что позволило на 2 мс сократить время загрузки ядра в виртуальных машинах Firecracker...
| ||
· | 16.07.2023 | Проект Minotaur развивает оптимизатор векторных инструкций для LLVM (107 +22) |
Группа исследователей из университета Юты (США) предложила оптимизатор Minotaur для набора компиляторов LLVM, использующий метод на основе решения задач выполнимости формул (SMT Solver) для выявления недостающих оптимизаций в промежуточном представлении кода (LLVM IR), генерируемом оптимизатором LLVM. Minotaur главным образом нацелен на оптимизацию целочисленных векторных инструкций (SIMD), как переносимых, так и специфичных для систем x86_64 (SSE, AVX, AVX2 и AVX-512)...
| ||
· | 13.07.2023 | Google предложил Device Memory TCP для сетевой передачи данных между устройствами (113 +32) |
Компания Google представила в списке рассылки разработчиков ядра Linux реализацию механизма Device memory TCP (devmem TCP), позволяющего напрямую по сети передавать данные из памяти одних устройств в память других устройств, без промежуточного копирования этих данных в буферы, размещённые в системной памяти хоста. Реализация пока находится на стадии RFC, т.е. выставлена для обсуждения и рецензирования сообществом, но не оформлена для передачи в основной состав ядра Linux...
| ||
Следующая страница (раньше) >> |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |