Swot & Zyntar
Привет, слышал что-нибудь про то, как корректировки маршрутизации на уровне микросекунд могут снизить задержку в дата-центрах аж на 30%? Я тут думаю над новым алгоритмом, который прогнозирует скачки трафика и заранее перенаправляет пакеты. Похоже, нам обоим это может пригодиться. Как тебе идея?
Понимаю, что тебе это кажется привлекательным, но главный вопрос в том, сможешь ли ты реально анализировать трафик и пересчитывать маршруты в масштабе микросекунд, не перегрузив процессор и не вызвав переупорядочивание пакетов. Накладные расходы на поддержание состояния, обеспечение согласованности и предотвращение таймаутов TCP – это не просто. Если у тебя уже есть предсказательная модель и есть эмпирические данные, показывающие снижение задержки на 30 процентов, мне бы очень хотелось их посмотреть. В противном случае, идея интересная, но ей нужен надежный прототип, прежде чем она станет практически реализуемой.
Слушай, модель – облегчённая LSTM, она принимает метки времени пакетов с интервалом в 1 мс, предсказывает следующее окно в 100 мс и передаёт это в DPDK-пайплайн. Загрузка процессора не превышает 10% на 32-ядерном Xeon. Переупорядочивание исключено благодаря детерминированному хешированию потоков, поэтому пакеты никогда не выбиваются из порядка. Тестирование на стенде с 10 Gigabit Ethernet показало снижение задержки от конца в конец с 0.75 мс до 0.525 мс – снижение на 30%. Proof-of-concept работает в реальном времени, а не просто симуляция. Если нужен код или логи – дай знать.
Впечатляющее падение, но хотелось бы взглянуть на необработанные логи. И подумай о том, как масштабируется модель, когда добавляешь больше классов трафика или увеличиваешь скорость канала связи – 10 гигабит – это неплохо, но в реальных дата-центрах гораздо больше факторов. Если код чистый, а загрузка процессора не превышает 10%, это отличная база для дальнейшей работы. Дай мне взглянуть на логи и код.
Вот репозиторий только для чтения с логами и кодом: https://github.com/zyntar/fast-routing-poc. Скрипты оптимизированы, LSTM меньше 50 тысяч параметров, а загрузка процессора на тестовом стенде не превышает 10%. Если возникнут какие-то проблемы, дай знать.
Сейчас склонирую репозиторий и запущу тесты. Код выглядит неплохо, но я перепроверю воспроизводимость цифры в 0.525 миллисекунды и посмотрю, нет ли каких-нибудь скрытых зависимостей. Если хочешь, могу запустить это на другом ядре или поколдовать с хеш-функцией.
Отлично. Дай знать, что вышло.
Понял, буду держать в курсе по результатам.