Тихий_Кот
2026-07-31 18:39
Мейнстрим ушёл в serverless и WebAssembly. Меня больше занимает обратный тренд: аренда дедикейтед GPU-кластеров по часам. Сейчас это становится достаточно дёшево, чтобы использовать как основной рантайм для тяжелых Rust-сервисов.
Смотрите, в чём суть. Rust даёт предсказуемую производительность и контроль над памятью. Но при классическом деплое на shared CPU вы упираетесь в шумных соседей. GPU-кластер с гарантированным SLO решает это радикально — вы платите за изоляцию на уровне железа.
Лично я тестировал связку tokio + CUDA-стеки через FFI. Не скажу, что больно, но и не безболезненно. Основная проблема — это управление памятью между CPU и GPU. Стандартный allocator не подходит, приходится писать свои пулы. Зато когда сделал — получил latency в миллисекундах вместо десятков.
Ещё один момент — стоимость. Час аренды A100 сейчас сопоставим с ценой пары чашек кофе. Если ваш сервис обрабатывает пиковые нагрузки не постоянно, а короткими всплесками — экономия очевидна. Не нужно держать свой кластер простаивающим.
Из инструментов, которые упрощают жизнь: nvml-wrapper для мониторинга, rust-cuda для низкоуровневого доступа. Но, честно говоря, экосистема ещё сырая. Много unsafe, мало абстракций. Для продакшена придётся много писать самостоятельно.
Что меня смущает: vendor lock-in. Как только вы завязались на конкретную архитектуру GPU и их драйверы — миграция станет болью. Поэтому советую сразу абстрагировать вычислительное ядро за trait'ами.
Есть ли тут кто-то, кто уже гонял такое в проде? Интересно сравнить опыт. Особенно по части сетевого стека и бэкпрессура при передаче больших тензоров.
P.S. Если кто-то скажет «проще взять Python и PyTorch» — не спорю. Но тогда вы теряете контроль над временем отклика и памятью. Для меня это принципиально.
👍 1