Открыть сервис

Низкая задержка

Низкая задержка (англ. low latency) — характеристика компьютерной системы, сети или канала связи, означающая минимальное время задержки (латентности) при передаче данных, обработке запроса или выполнении операции. В контексте телекоммуникаций и вычислительной техники низкая задержка является ключевым параметром для приложений, чувствительных к временным задержкам, таких как онлайн-игры, финансовая торговля, телемедицина, управление беспилотными аппаратами и системы реального времени. Количественно низкая задержка обычно выражается в миллисекундах (мс) и варьируется в зависимости от области применения: для высокочастотной торговли требуются значения менее 1 мс, для комфортного гейминга — до 50 мс, для голосовой связи — до 150 мс.

История и развитие

Ранние этапы

Понятие задержки возникло с появлением первых компьютерных сетей в 1960-х годах. В сетях с коммутацией пакетов (ARPANET) задержка определялась временем передачи пакета между узлами. В 1970-х годах с развитием Ethernet и протоколов TCP/IP задержка стала критическим фактором для протоколов, требующих подтверждения получения данных (ACK). В 1980-х годах в системах реального времени (например, в авионике и промышленных контроллерах) начали использовать специализированные операционные системы с детерминированным временем отклика.

Эпоха интернета и онлайн-игр

С массовым распространением интернета в 1990-х годах задержка стала заметной для пользователей. В 1996 году компания Quake (id Software) популяризировала онлайн-шутеры, где задержка более 100 мс делала игру некомфортной. В 2000-х годах для снижения задержки в играх начали использовать выделенные серверы и протоколы UDP вместо TCP. В 2010-х годах с развитием облачных вычислений и стриминга (например, Google Stadia) требования к задержке ужесточились до 10-20 мс для интерактивных приложений.

Современные технологии

В 2020-х годах низкая задержка стала основой для таких технологий, как 5G (целевая задержка 1 мс для ультранадежных соединений), edge-вычисления (обработка данных на границе сети) и аппаратное ускорение (FPGA, GPU). В России разработкой систем с низкой задержкой занимаются компании «Яндекс» (облачные игры), «Сбер» (финансовые платформы) и операторы связи (МТС, «Ростелеком»).

Основные источники задержки

Сетевая задержка

  • Физическая задержка (propagation delay) — время прохождения сигнала по среде передачи. Зависит от расстояния и скорости света в среде (например, для оптоволокна — около 200 000 км/с). Например, сигнал между Москвой и Владивостоком (~9000 км) имеет физическую задержку около 45 мс.
  • Задержка передачи (transmission delay) — время, необходимое для отправки всех битов пакета в канал. Зависит от скорости интерфейса (например, 1 Гбит/с) и размера пакета (1500 байт — около 0,012 мс).
  • Задержка обработки (processing delay) — время, затрачиваемое маршрутизаторами, коммутаторами и серверами на анализ заголовков, маршрутизацию и буферизацию. В современных сетях составляет 0,1-1 мс на узел.
  • Задержка очереди (queuing delay) — время ожидания пакета в буфере устройства при перегрузке сети. Может варьироваться от микросекунд до десятков миллисекунд.

Аппаратная задержка

  • Задержка ввода (input lag) — время между действием пользователя (нажатие клавиши, движение мыши) и регистрацией этого действия системой. В современных игровых мышах составляет 1-2 мс, в клавиатурах — 5-10 мс.
  • Задержка отображения (display lag) — время между получением кадра видеокартой и его отображением на экране. Для мониторов с частотой 60 Гц — около 16,7 мс, для 240 Гц — 4,2 мс. Технологии G-Sync и FreeSync снижают задержку за счет синхронизации кадров.
  • Задержка памяти — время доступа к оперативной памяти (RAM) и кэшам процессора. Для DDR4-3200 типичная задержка CAS (Column Address Strobe) составляет 14-16 тактов (около 10 нс).

Программная задержка

  • Задержка операционной системы — время на обработку прерываний, переключение контекстов и планирование задач. В ОС реального времени (RTOS) составляет 1-10 мкс, в Windows/Linux — 0,1-1 мс.
  • Задержка приложений — время на выполнение кода, рендеринг, сжатие данных. В играх может достигать 10-50 мс в зависимости от сложности сцены.

Методы снижения задержки

Сетевые методы

  • Оптимизация маршрутизации — использование прямых каналов (например, частные волоконно-оптические линии) и протоколов с минимальной задержкой (MPLS, SD-WAN). В России для снижения задержки между Москвой и Санкт-Петербургом (~700 км) операторы используют выделенные оптоволоконные линии с задержкой около 3,5 мс.
  • Edge-вычисления — размещение серверов обработки данных вблизи пользователя (например, в центрах обработки данных (ЦОД) на уровне городов). Это позволяет снизить задержку до 5-10 мс для облачных приложений.
  • Протоколы с низкой задержкой — использование UDP вместо TCP (отказ от подтверждения доставки), QUIC (протокол на основе UDP с мультиплексированием) и специализированные протоколы для финансовой торговли (например, FIX over UDP).
  • Качество обслуживания (QoS) — приоритизация трафика с низкой задержкой (например, голосовой и игровой) на маршрутизаторах. В сетях 5G используется технология Network Slicing для создания виртуальных каналов с гарантированной задержкой.

Аппаратные методы

  • Использование FPGA и ASIC — аппаратная реализация алгоритмов обработки данных (например, для сетевых карт с задержкой менее 1 мкс). В высокочастотной торговле применяются FPGA-ускорители для обработки биржевых данных.
  • Снижение задержки ввода-вывода — использование NVMe-накопителей (задержка до 10 мкс) вместо SATA SSD (100 мкс), а также высокочастотной оперативной памяти (DDR5 с задержкой CAS 30-40 тактов).
  • Мониторы с высокой частотой обновления — дисплеи с частотой 240-360 Гц и технологией OLED (время отклика пикселя 0,1-1 мс) снижают задержку отображения.

Программные методы

  • Оптимизация кода — использование языков низкого уровня (C, C++, Rust) для критичных участков, минимизация вызовов API и использование асинхронного ввода-вывода. В играх применяется предварительная загрузка ресурсов и LOD (Level of Detail) для снижения нагрузки на рендеринг.
  • Планирование задач — в ОС реального времени (например, QNX, VxWorks) задачи с высоким приоритетом обрабатываются без задержек. В Linux используется планировщик CFS (Completely Fair Scheduler) с настройками для низкой задержки.
  • Сжатие данных — использование алгоритмов с низкой задержкой (LZ4, Zstandard) для уменьшения объема передаваемых данных без значительного увеличения времени обработки.

Области применения

Финансовая торговля

В высокочастотной торговле (HFT) задержка измеряется в микросекундах. Биржи (например, Московская биржа) предоставляют услуги колокации (размещение серверов вблизи торговых систем) и прямые каналы связи. Задержка в 1 мс может стоить миллионы долларов в год. В России компании «Альфа-Банк» и «Сбер» используют FPGA-ускорители для обработки биржевых данных.

Онлайн-игры

Для шутеров (CS:GO, Valorant) и MOBA (Dota 2, League of Legends) задержка более 50 мс считается заметной. Разработчики используют выделенные серверы, протоколы UDP и технологии предсказания движения (client-side prediction). В России игровые серверы размещаются в ЦОДах в Москве, Санкт-Петербурге и Новосибирске для снижения задержки для региональных игроков.

Телемедицина

В удаленных хирургических операциях (роботизированная хирургия) задержка не должна превышать 10-20 мс, иначе возможны ошибки управления. В России телемедицинские системы (например, «Яндекс.Здоровье») используют выделенные каналы связи с задержкой менее 5 мс.

Управление беспилотными аппаратами

Для дронов и беспилотных автомобилей задержка управления (от датчиков до исполнительных механизмов) должна быть менее 10 мс для безопасного маневрирования. В России компании «КамАЗ» и «Яндекс» (беспилотные такси) используют edge-вычисления и 5G-сети для снижения задержки.

Промышленная автоматизация

В системах управления производством (PLC, SCADA) задержка между датчиками и контроллерами не должна превышать 1 мс для синхронизации процессов. В России на заводах «Газпрома» и «Росатома» используются сети с детерминированной задержкой (PROFINET, EtherCAT).

Измерение и тестирование

Метрики

  • Round-Trip Time (RTT) — время от отправки запроса до получения ответа. Измеряется с помощью утилиты ping (ICMP-пакеты) или специализированных тестов (например, iperf).
  • One-Way Delay (OWD) — время передачи пакета в одном направлении. Требует синхронизации часов (NTP, PTP). В финансовых системах используется точность до наносекунд.
  • Jitter — вариация задержки между последовательными пакетами. Для голосовой связи допустимый джиттер — менее 30 мс.

Инструменты

  • Сетевые анализаторы — Wireshark, tcpdump для захвата и анализа пакетов.
  • Аппаратные тестеры — Spirent, IXIA для генерации трафика с заданной задержкой.
  • Программные библиотеки — для измерения задержки в приложениях (например, perf, gprof для профилирования кода).

Критика и ограничения

Экономические аспекты

Снижение задержки часто требует значительных инвестиций: прокладка оптоволоконных линий, покупка FPGA-ускорителей и аренда колокации. Для малых и средних компаний это может быть нецелесообразно. В России стоимость выделенного канала с задержкой 1 мс между Москвой и Санкт-Петербургом может составлять десятки тысяч рублей в месяц.

Технические ограничения

Физическая задержка ограничена скоростью света, что делает невозможным снижение задержки ниже определенного порога для больших расстояний. Например, для связи между Москвой и Нью-Йорком (~7500 км) минимальная задержка составляет около 37 мс (в одну сторону), что неприемлемо для некоторых приложений.

Компромиссы

Снижение задержки может ухудшить пропускную способность (например, отказ от подтверждения доставки в UDP увеличивает потери пакетов) или надежность (например, приоритизация трафика может привести к отбрасыванию менее важных данных). В играх снижение задержки за счет предсказания движения может вызвать рассинхронизацию (лаг-компенсация).

Источники

  1. Сети связи с низкой задержкой: принципы и технологии — учебное пособие, МТУСИ, 2021.
  2. Высокочастотная торговля: архитектура и задержки — журнал «Финансовые технологии», №4, 2023.
  3. Технологии 5G в России: перспективы и реалии — доклад Минцифры РФ, 2022.
  4. Оптимизация задержки в онлайн-играх — статья на Habr, 2020.
  5. Измерение задержки в компьютерных сетях — RFC 2679, IETF, 1999.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →