Исключение промежуточного копирования через CPU RAM при пакетной обработке весов моделей и матричных вычислениях.
Systems & Low-Level
Rust, Go, C, SIMD, lock-free структуры, сокеты, io_uring и управление памятью.
Всего материалов: 14Как агрессивные cpu.cfs_quota_us вызывают задержки в многопоточных приложениях даже при среднем потреблении 30% CPU.
Бенчмарк задержек при передаче сообщений размером 4 КБ и 1 МБ между локальными сервисами.
Практический опыт написания драйвера символьного устройства на Rust: безопасность без сборщика мусора на уровне ring 0.
Как перестановка полей в структурах спасает 24 байта на элемент и укладывает критические данные в L1 Data Cache (64 байта).
Паттерны проектирования логгеров: буферизация на базе sync.Pool, предварительное форматирование и прямой сброс в сокет.
Обработка до 12 ГБ текстовых логов в секунду на одном ядре с использованием процессорных инструкций сравнения.
Сбор гистограмм задержек системного вызова read() и write() в кольцевой буфер ядра с нулевым оверхедом.
Как выжать 80 000 операций чтения в секунду из локальной базы без ошибок database is locked.
Поиск спинлоков и узких мест в сетевом стеке ядра под нагрузкой 500k сокетов.
Сравнение libaio и io_uring: SQPOLL режим ядра, фиксированные буферы и zero-copy запись в WAL-журнал.
Как правильно использовать GOMEMLIMIT вместо старого трюка с аллокацией балласта памяти, снижая p99 latency.
Реализация lock-free очереди на атомиках с кэшлайн-пэддингом (cache-line padding) для исключения false sharing.
Разбор поведения аллокатора ptmalloc в многопоточных демонах: MALLOC_ARENA_MAX и переход на jemalloc/mimalloc.