Моделирование помех рабочей нагрузки
3 апреля 2024 г.:::информация Этот документ доступен на arxiv под лицензией CC BY-NC-ND 4.0 DEED.
Авторы:
(1) Минхао Ян, Университет Висконсин-Мэдисон;
(2) Хонги Ван, Университет Карнеги-Меллон;
(3) Шиварам Венкатараман, myan@cs.wisc.edu.
:::
Таблица ссылок
- Абстрактное и amp; Введение
- Мотивация
- Возможности
- Обзор архитектуры
- Формулировка задачи: двухфазная настройка
- Моделирование помех в рабочей нагрузке
- Эксперименты
- Выводы и amp; Ссылки
- А. Подробности об оборудовании
- Б. Результаты экспериментов
- C. Арифметическая интенсивность
- Д. Анализ предикторов
6 МОДЕЛИРОВАНИЕ ВМЕШАТЕЛЬСТВ РАБОЧЕЙ НАГРУЗКИ
Рассмотрим случай, когда мы запускаем рабочую нагрузку вывода и стремимся поддерживать тонкую настройку, не вмешиваясь в онлайн-процесс вывода. Когда поступает запрос на тонкую настройку, нам нужно решить, можно ли выполнить запрос на тонкую настройку, не нарушая SLO вывода. Разделение времени было методом по умолчанию для разделения рабочих нагрузок графического процессора. При разделении времени общие рабочие нагрузки используют разные временные интервалы и поочередное использование графического процессора между ними. Недавно потоки CUDA, Multiprocess Service (MPS) (NVIDIA, 2023a) и MIG (NVIDIA, 2023b) были предложены для разделения пространства на графических процессорах. Однако эти подходы не поддерживаются на периферийных устройствах с графическим процессором (Bai et al., 2020; Zhao et al., 2023; Yu & Chowdhury, 2020; Wu et al., 2021). Учитывая эту настройку, мы предлагаем построить модель производительности, которая может прогнозировать задержку вывода при наличии запросов на тонкую настройку и выполнять запросы на точную настройку только в том случае, если прогнозируемая задержка может удовлетворить SLO.
Выбор функций. Для построения модели производительности мы используем следующие данные для выбора функций: 1. В сверточных нейронных сетях производительность 2D-слоев свертки во многом определяет общую производительность сети. Его задержка коррелирует с количеством операций с плавающей запятой (FLOP), необходимых во время прямого/обратного распространения. 2. Соотношение между количеством FLOP и количеством обращений к памяти, также известное как арифметическая интенсивность, вместе с общим количеством FLOP показывает, привязана ли нейронная сеть к вычислениям или к памяти. Используя эти знания, мы добавляем в нашу модель следующие функции: FLOP вывода, интенсивность арифметического вывода, точная настройка FLOP, тонкая настройка интенсивности арифметики и размер пакета.
Выбор модели. Мы предлагаем использовать линейную модель для прогнозирования задержки вывода, когда рабочая нагрузка тонкой настройки одновременно выполняется на одном устройстве. Цель модели - отразить, как предлагаемые переменные влияют на конкуренцию за ресурсы между рабочей нагрузкой вывода и рабочей нагрузкой точной настройки и, следовательно, влияют на задержку вывода. Предложенную модель можно резюмировать следующим образом:
Учитывая приведенную выше модель производительности, мы используем решатель неотрицательных наименьших квадратов (NNLS), чтобы найти модель, которая лучше всего соответствует обучающим данным. Преимущество NNLS для линейных моделей заключается в том, что мы можем решить эту проблему, используя очень мало точек обучающих данных (Венкатараман и др., 2016). Мы собираем несколько образцов предоставленной модели, изменяя размеры выводов и точных настроек пакетов, а также выходное измерение, которое фиксирует различные параметры тонкой настройки. Эта модель используется как часть планировщика рабочей нагрузки во время развертывания, чтобы предсказать, можно ли запланировать запрос на тонкую настройку.
Планировщик тонкой настройки. Во время вывода, когда имеются невыполненные запросы на тонкую настройку, PolyThrottle использует модель, чтобы решить, можно ли запланировать запрос онлайн, не нарушая SLO. Когда модель находит подходящую конфигурацию, она соответствующим образом корректируется до тех пор, пока не будут завершены все ожидающие запросы или не будет достигнуто новое ограничение задержки
наложено.
Оригинал