Как понимание работы RAM ускорило на +30% пакетный шлюз 4G/5G сетей и позволило обрабатывать 4M пакетов в секунду на одном ядре и 100Gbps на NUMA node.

Высокопроизводительные вычисления

Доклад принят в программу конференции

Целевая аудитория

Senior C++ разработчики высокопроизводительных систем.

Тезисы

Чаще всего узким местом в высокопроизводительных системах является оперативная память (RAM). Если CPU способны выполнять до 4-х инструкций за такт, то обращение к памяти от единиц тактов для кеша L1 до сотен тактов для RAM. Если при разработке ПО учесть организацию RAM, то можно ощутимо ускорить производительность.

На примере нашего приложения расскажем как мы при помощи профилирования нашли узкие места в программе. Какие CPU метрики (DTLB miss, L2/L3 cache miss, RAM throughput) проседали, какие решения мы применяли для увеличения производительности. Эти простые методы применимы для широкого круга задач разработки.

Максим Шахметов

ООО "Протей-Лаб"

22 года в IT. Прошел путь от разработчика до заместителя генерального директора по исследованиям. Разрабатывал проекты связанные с VoIP - колл-центр, MCPTT; стриминговым видео - раздачей и QOE; мобильными пакетными сетями - 4G & 5G.

Видео