К содержанию
Работа

Распределённая платформа MapReduce для ML-вычислений

Платформа собирала разрозненные CPU- и GPU-ресурсы в виртуальный кластер для машинного обучения, обучения нейросетей и пакетной обработки данных. В сеть входили собственные компьютеры клиента в разных локациях и мощности, добровольно предоставленные пользователями в обмен на бесплатное использование его программного продукта. Для оператора это выглядело как единый вычислительный ресурс, хотя физически кластер был неоднородным и менялся прямо во время расчёта.

Главный экран проекта Нажмите, чтобы рассмотреть

Интерфейс воссоздан по описанию; исходные экраны не публикуются.

Распределённая платформа MapReduce для ML-вычислений 01 / 03
Распределённая платформа MapReduce для ML-вычислений — Главный экран проекта
Клиент
Клиент под NDA
Индустрия
Корпоративные IT-системы
Срок
6 месяцев
Команда
4 человека

Задача

У клиента не было одного централизованного суперкомпьютера — были серверы, рабочие станции и видеокарты в разных местах. По отдельности каждый ресурс использовался не полностью, а вручную распределять между ними задачи, данные и версии программ было слишком сложно.

Сложность не в самом разбиении работы, а в том, что исполнители неравноценны и ненадёжны. Узлы отличаются по CPU, GPU, объёму видеопамяти и пропускной способности сети, а пользовательский компьютер может выключиться посреди расчёта. Вдобавок чужие мощности нужно было использовать честно: только в разрешённые интервалы, без майнинга и без скрытой нагрузки на машину владельца.

Решение

Постановка задачи. В веб-панели оператор загружает набор данных и вычислительный пакет, задаёт параметры, приоритет и требования к оборудованию. Интерфейс показывает очередь, прогресс, промежуточные результаты и историю запусков.

Реестр ресурсов. Оркестратор знает конфигурацию каждого узла: количество и тип CPU, модель GPU и доступную видеопамять, RAM, свободное место, пропускную способность сети, географию и текущую загрузку. Это не инвентарная опись — именно на этих полях строится выбор исполнителя.

Агент на узле. C++-приложение ставится на сервер или пользовательский компьютер, регистрирует доступные ресурсы, принимает задания, загружает фрагменты данных и отправляет результат. Владелец машины задаёт лимиты CPU/GPU, разрешённые часы и условия приостановки, когда за компьютером работают.

Планировщик. Он определяет, можно ли распараллелить задачу, строит граф этапов и превращает подходящие части в набор операций Map. Жёсткие требования сразу отсекают неподходящие узлы: GPU нужной архитектуры, объём видеопамяти и RAM, операционная система, доступ к данным, минимальное свободное место. Среди оставшихся узел выбирается по совокупной стоимости — скорость передачи данных, ожидаемое время выполнения, текущая загрузка, надёжность узла и близость зависимых этапов.

Размер блока под машину. Быстрые GPU получают больше работы, слабые CPU — небольшие независимые части. Предобработка данных, пакетный инференс и перебор гиперпараметров хорошо раскладываются на независимые Map-задачи, результаты и метрики сходятся на Reduce-этапе. Этапы, которые нельзя безопасно разделить, назначаются целиком на подходящий узел или устойчивую группу ресурсов.

Расчёт на ненадёжном железе. Задания выдаются по временной аренде: агент подтверждает работу heartbeat-сигналами, а при потере узла незавершённый блок возвращается в очередь. Долгие операции продолжаются с контрольной точки, а медленные критические блоки запускаются резервно на другом узле — первый корректный результат завершает обе копии. Отказоустойчивость строится на небольших повторяемых блоках, а не на надёжности отдельного компьютера.

Изоляция и учёт. Подписанный пакет запускается в изолированном окружении: агент ограничивает доступ задания к системе, шифрует обмен с оркестратором и не превышает выбранные владельцем лимиты. В учёте остаются затраченные CPU- и GPU-часы, объём переданных данных, вклад каждого узла и статистика успешности — это одновременно контроль сети и основание для расчёта предоставленных пользователями мощностей.

Сборка результата. Промежуточные данные объединяются по ключам или этапам, итоговые метрики, артефакты модели и обработанные наборы возвращаются в центральное хранилище.

Результат

Разрозненные вычислительные мощности заработали как единая управляемая платформа. Задача уходит в сеть через веб-интерфейс, распределение по узлам видно на дашборде, собранный результат возвращается сам — назначать работу на конкретные машины вручную больше не нужно. При отключении узлов незавершённые блоки перераспределяются автоматически, и расчёт не начинается заново.

Дашборд показывает географию сети, число доступных компьютеров, суммарные CPU/GPU/RAM, состояние агентов и загрузку по задачам. Для каждого запуска сохраняются конфигурация, распределение блоков, потраченные ресурсы, ошибки, повторные назначения и итоговые артефакты, поэтому запуски можно сравнивать между собой и повторять с теми же параметрами. Владельцы пользовательских машин отдают ровно то, что разрешили сами, и видят свой вклад в учёте.

6 уровней веб-панель, реестр ресурсов, агенты, планировщик, слой исполнения и сборка результата
2 источника мощностей инфраструктура клиента и добровольно предоставленные компьютеры пользователей
6 месяцев длительность работ
4 человека команда
Ещё

Похожие проекты

Всё портфолио
Aimcast — ИИ-платформа корпоративных коммуникаций и управления знаниями
Работа Aimcast Corp.

Aimcast — ИИ-платформа корпоративных коммуникаций и управления знаниями

Aimcast собирает внутренние коммуникации, обучение и корпоративные знания в один продукт. Редактор публикует материал один раз — сотрудник получает его в персональной ленте, в удобном ему формате и в подходящий момент, вместо массовой рассылки на всю компанию. Мы делали продукт целиком: CMS работодателя, веб- и мобильное приложение сотрудника, бэкенд, медиапайплайн, ИИ-модули, аналитику и корпоративные интеграции.

База знаний с умным поискомКорпоративные порталы
AWS
Cirrus File Server (CFS) — корпоративная платформа управления документами
Работа TierFive

Cirrus File Server (CFS) — корпоративная платформа управления документами

Cirrus File Server — частное корпоративное облако для хранения, поиска и согласования документов. По ощущению от работы это простота Dropbox, по устройству — enterprise-система с правами: сотрудник открывает единое хранилище, но видит только те филиалы, департаменты, папки и операции, которые разрешены его ролью. Отдельная особенность — географическая навигация: путь к документу начинается с карты городов и площадок компании.

Системы документооборота
Цифровой двойник IT-инфраструктуры предприятия
Работа Клиент под NDA

Цифровой двойник IT-инфраструктуры предприятия

Платформа, в которой корпоративная IT-инфраструктура существует не как справочник оборудования, а как исполняемая модель: серверы, хранилища, сетевые сегменты, размещённые на них сервисы и группы виртуальных сотрудников, которые этими сервисами пользуются. Симулятор прогонял по такой модели реальную нагрузку и показывал, где инфраструктура перестаёт справляться. Оптимизатор предлагал другое размещение сервисов и проверял собственную рекомендацию тем же экспериментом, на котором обнаружилась проблема.

Цифровой двойник предприятия
Первый разговор — бесплатно

Расскажите, что хотите изменить

За одну встречу уточним задачу и предложим следующий шаг, даже если вам нужен другой подрядчик.

Что будет на встрече
  1. 01 Опишите задачу своими словами
  2. 02 Уточним цель и ограничения
  3. 03 Предложим решение и следующий шаг
длительность 45–60 мин