Управление кэшем процессора ускорит пакетную обработку данных более, чем на 20%

9 июль, 2019 - 15:17

Управление кэшем процессора ускорит пакетную обработку данных более, чем на 20%

Схема управления памятью, разработанная в Королевском технологическом институте (KTH) Стокгольма (Швеция) при участии Ericsson Research, обеспечивает ускоренный доступ к часто используемым данным через кэш последнего уровня (Last-Level Cache, LLC) процессора Intel Xeon.

Создав хранилище «ключ-значение» и выделяя память таким образом, чтобы она отображалась в наиболее подходящий срез LLC, шведские инженеры продемонстрировали высокопроизводительную обработку пакетов в сочетании с улучшенным быстродействием хранилища.

Предложенная схема нашла применение в инструменте CacheDirector, который оптимизирует работу Data Direct I/O (DDIO) со срезами кэш-памяти.

Обычно, DDIO отправляет пакеты в случайные срезы, что весьма неэффективно. Учитывая это, а также сегодняшнюю неоднородную архитектуру кэширования (NUCA), необходимость решения для управления кэшем трудно переоценить, считает профессор KTH Деян Костич (Dejan Kostic), который возглавлял исследование.

Подготовленная под его руководством статья «Make the Most out of Last Level Cache» была представлена этой весной на конференции EuroSys 2019.

«В сочетании с введением динамического запаса в пакете разработки плоскости данных (DPDK) заголовок пакета может быть размещен в срезе LLC, который находится ближе всего к соответствующему процессорному ядру. В результате ядро может быстрее получать доступ к пакетам, одновременно сокращая время ожидания в очереди, — говорит Алиреза Фаршин (Alireza Farshin), соавтор статьи и аспирант в Лаборатории сетевых систем KTH. — Наша работа демонстрирует, что сокращение задержки на наносекунды может оказать значительное влияние на производительность приложений, работающих на уже высокооптимизированных компьютерных системах».

Команда KTH показала, что для процессора с частотой 3,2 ГГц CacheDirector может экономить до 20 циклов за один доступ к LLC, что составляет 6,25 наносекунд. Это может ускорять обработку пакетов и уменьшать задержку в хвосте оптимизированных сервисных цепочек виртуализации сетевых функций (NFV), работающих на скорости 100 Гб/с, вплоть до 21,5%.