Многопроцессорное планирование - Multiprocessor scheduling

В Информатика, многопроцессорное планирование является проблема оптимизации с участием планирование вычислительных задач в мультипроцессор Окружающая среда.[1] Формулировка проблемы: «Учитывая набор J вакансий где работа jя имеет длину ля и ряд процессоров м, каково минимально возможное время, необходимое для планирования всех заданий в J на м процессоры такие, что ни один не перекрывается? ".[2] Проблему часто называют проблема минимальной продолжительности изготовления: the сковорода График определяется как время, необходимое системе для завершения всех процессов, и цель состоит в том, чтобы найти такой график, который минимизирует время выполнения. У проблемы много вариантов.

Алгоритмы

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

Более сложный случай - когда у процессоров разные скорости: когда работа я планируется обработать j, для завершения требуется время size (i) / speed (j). Этот случай требует более внимательного анализа.

  • Простой алгоритм под названием жадное разделение чисел, или LPT алгоритм (Самое долгое время обработки), сортирует задания по их длине, сначала самые длинные, а затем назначает их процессору с самым ранним временем окончания на данный момент. Первоначально разработанный для идентичных процессоров, он обладает хорошими свойствами асимптотической сходимости даже при разных скоростях.[3]
  • Хохбаум и Шмойс,[4] кто разработал PTAS для идентичных процессоров, расширил свой PTAS для обработки процессоров с разными скоростями.
  • Эпштейн и Сгалл[5] обобщил этот PTAS для обработки более общих целевых функций. Позволять sя (за я от 1 до k) будет производительностью процессора я в заданном расписании. Вместо минимизации целевой функции max (sя), можно минимизировать целевую функцию max (ж(sя)), куда ж - любая фиксированная функция. Аналогичным образом можно минимизировать сумму целевой функции (ж(sя)).

Самый сложный случай, когда рабочие места могут быть зависимыми. Например, возьмите случай чтения учетных данных пользователя с консоли, затем используйте их для аутентификации, а затем, если аутентификация прошла успешно, отобразите некоторые данные на консоли. Ясно, что одна задача зависит от другой. Это явный случай, когда какой-то заказ существует между задачами. На самом деле ясно, что его можно смоделировать с помощью частичный заказ. Тогда по определению набор задач составляет решетчатая структура. Это еще больше усложняет задачу многопроцессорного планирования.

Статический против динамического

Алгоритмы многопроцессорного планирования могут быть статическими или динамическими. Алгоритм планирования статический если решение о планировании того, какие вычислительные задачи будут назначены на какие процессоры, будет принято до запуска программы. Алгоритм динамичный если это делается во время выполнения. Для алгоритмов статического планирования типичным подходом является ранжирование задач в соответствии с их отношениями приоритета и использование метода планирования списков для их распределения на процессорах.[6]

Смотрите также

  • Планирование работы магазина, аналогичная проблема для планирования заданий на машинах. Некоторые варианты многопроцессорного планирования и планирования работы цеха являются эквивалентными проблемами.

Рекомендации

  1. ^ Сборник задач оптимизации NP. Редакторы: Пьерлуиджи Крещенци и Вигго Канн
  2. ^ Garey, Michael R .; Джонсон, Дэвид С. (1979). Компьютеры и непреодолимость: руководство по теории NP-полноты. В. Х. Фриман и компания. п.238. ISBN  978-0716710448.
  3. ^ Frenk, J. B. G .; Ринну Кан, А. Х. Г. (1987-05-01). «Асимптотическая оптимальность правила LPT». Математика исследования операций. 12 (2): 241–254. Дои:10.1287 / moor.12.2.241. ISSN  0364-765X.
  4. ^ Hochbaum, Dorit S .; Шмойс, Дэвид Б. (1988-06-01). «Схема полиномиального приближения для планирования на унифицированных процессорах: использование подхода двойного приближения». SIAM Журнал по вычислениям. 17 (3): 539–551. Дои:10.1137/0217033. ISSN  0097-5397.
  5. ^ Эпштейн, Лия; Сгалл, Иржи (2004-05-01). «Аппроксимационные схемы для составления расписаний на однородно связанных и идентичных параллельных машинах». Алгоритмика. 39 (1): 43–57. Дои:10.1007 / s00453-003-1077-7. ISSN  1432-0541.
  6. ^ Квок, Ю-Квонг; Ахмад, Ишфак (1999-12-01). «Алгоритмы статического планирования для распределения ориентированных графов задач на мультипроцессоры». Опросы ACM Computing. 31 (4): 406–471. CiteSeerX  10.1.1.322.2295. Дои:10.1145/344588.344618. ISSN  0360-0300.