Проблема планирования параллельных задач - Parallel task scheduling problem

В теоретической информатике проблема планирования параллельных задач является NP-жесткий проблема оптимизации. Данный набор параллельные задачи, также называемые заданиями, должны быть запланированы на идентичные машины, иногда называемые процессорами, что сводит к минимуму время последнего завершения. В Veltman et al.[1] и Дроздовский[2], эта проблема обозначается в трехпольная запись введено Graham et al. [3]. Истоки этой постановки проблемы восходят к 1960 г.[4]. Для этой задачи не существует алгоритма полиномиальной аппроксимации времени с отношением меньше, чем пока не .

Определение

В этой задаче нам дан набор из рабочие места, а также одинаковые машины. есть время обработки и требует одновременного использования машины во время его выполнения. Расписание назначает каждое задание ко времени начала и набор из Это возможно, если каждый процессор выполняет не более одного задания в любой момент времени. Цель проблемы, обозначенная найти расписание с минимальной длиной , также называемый периодом изготовления расписания. Достаточным условием выполнимости расписания является следующее

.

Если это свойство выполняется для всех моментов времени запуска, можно сгенерировать возможное расписание, назначив заданиям свободные машины в каждый момент времени, начиная с момента времени. .[5][6]. Кроме того, количество машинных интервалов, используемых заданиями, и интервалов простоя на каждом временном шаге может быть ограничено [5]. Здесь машинный интервал - это набор следующих друг за другом машин максимальной мощности, так что все машины в этом наборе обрабатывают одно и то же задание. Машинный интервал полностью определяется индексом его первой и последней машины. Следовательно, можно получить компактный способ кодирования вывода с полиномиальным размером.

Твердость

Эта проблема NP-трудна даже для постоянного количества машин из-за того, что соответствует проблема раздела. Кроме того, Ду и Люн[7] показал, что эта проблема сильно NP-жесткий когда количество машин не менее , и что существует псевдополиномиальное время алгоритм, который решает проблему именно в том случае, если количество машин не превышает . Позже Хеннинг и др.[8] показал, что проблема также является NP-трудной, когда количество машин . Если количество машин не ограничено константой, не может быть алгоритма аппроксимации с коэффициентом аппроксимации меньше, чем пока не потому что эта проблема содержит проблема с упаковкой бункера как подслучай, т.е. когда все задания имеют время обработки .

Варианты

Изучено несколько вариантов этой проблемы.[2]. Следующие варианты также рассматривались в сочетании друг с другом.

Смежные вакансии: В этом варианте машины имеют фиксированный заказ. . Вместо того, чтобы назначать задания какому-либо подмножеству , задания должны быть назначены интервалу машин. Эта задача соответствует постановке задачи проблема упаковки полосы.

Формовочные работы: В этом варианте каждая работа имеет набор возможных машинных номеров и для каждого из этих чисел у него есть время обработки . Чтобы запланировать работу , алгоритм должен выбрать номер машины и назначьте время начала и чтобы машины за временной интервал Обычное допущение для такого рода проблем состоит в том, что работа, которая определяется как не увеличивается для увеличивающегося числа машин.

Несколько платформ: В этом варианте набор машин разбит на независимые платформы. Запланированное задание может использовать машины только одной платформы и не может охватывать несколько платформ при обработке.

Алгоритмы

Алгоритм составления списков Гэри и Грэхема[9] имеет абсолютное соотношение , как указывает Турек и др.[10] и Людвиг и Тивари[11]. Фельдманн, Сгалл и Тенг[12] заметил, что длина невытесняющего расписания, созданного алгоритмом планирования списка, на самом деле не превышает раз оптимальное время вытеснения. Схема полиномиальной аппроксимации (PTAS) для случая, когда число процессоров постоянна, обозначается , был представлен Amoura et al.[13] и Jansen et al.[14]Позже Янсен и Теле [6] нашел PTAS для случая, когда количество процессоров полиномиально ограничено по количеству рабочих мест. В этом алгоритме количество машин полиномиально зависит от временной сложности алгоритма. Поскольку, как правило, количество машин появляется только в логарифмическом масштабе в размере экземпляра, этот алгоритм также является схемой псевдополиномиального приближения по времени. А - приближение дано Янсеном[15], что закрывает пробел до нижней границы за исключением сколь угодно малого .

Различия между смежными и несмежными заданиями

Для случая задачи планирования параллельных задач оптимальная продолжительность выполнения может различаться в зависимости от ограничения на смежность машин. Если задания могут быть запланированы на несмежных машинах, оптимальная продолжительность выполнения может быть меньше, чем в случае, когда они должны быть запланированы на смежных. Разница между непрерывным и несмежным расписанием была впервые продемонстрирована в 1992 году.[16] в случае с задачи, процессоры, , и .Błdek et al. [17] изучили эти так называемые c / nc-разности и доказали следующие моменты:

  • Для возникновения c / nc-разницы должно быть как минимум три задачи с
  • Для возникновения c / nc-разницы должно быть как минимум три задачи с
  • Чтобы возникла c / nc-разница, по крайней мере, требуются процессоры (и существует экземпляр с разницей c / nc с ).
  • Для возникновения разницы c / nc длина несмежного расписания должна быть не менее
  • Максимальная разница c / nc по крайней мере и самое большее
  • Решить, есть ли разница c / nc в данном экземпляре, является NP-полным.

Кроме того, они предложили следующие две гипотезы, которые остались недоказанными:

  • Чтобы возникла разница c / nc, по крайней мере, задачи обязательны.

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

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

  1. ^ Вельтман, Б; Lageweg, B.J; Ленстра, Дж. К. (1990-12-01). «Многопроцессорное планирование с задержками связи». Параллельные вычисления. 16 (2): 173–182. Дои:10.1016 / 0167-8191 (90) 90056-Ф. ISSN  0167-8191.
  2. ^ а б Дроздовский, Мацей (2009). «Планирование параллельной обработки». Компьютерные коммуникации и сети. Дои:10.1007/978-1-84882-310-5. ISBN  978-1-84882-309-9. ISSN  1617-7975.
  3. ^ Graham, R.L .; Lawler, E. L .; Lenstra, J.K .; Риннуй Кан, A.H.G. (1979). «Оптимизация и приближение в детерминированной последовательности и расписании: обзор» (PDF). Труды Института перспективных исследований по дискретной оптимизации и системным приложениям Группы системных наук НАТО и симпозиума по дискретной оптимизации. Эльзевир. С. (5) 287–326.
  4. ^ Ф, Кодде (1 июня 1960 г.). «Многопрограммное планирование». Коммуникации ACM. 3 (6): 347–350. Дои:10.1145/367297.367317. S2CID  14701351.
  5. ^ а б Йоханнес, Берит (01.10.2006). «Планирование параллельных работ для минимизации времени изготовления». Журнал планирования. 9 (5): 433–452. Дои:10.1007 / s10951-006-8497-6. HDL:20.500.11850/36804. ISSN  1099-1425. S2CID  18819458.
  6. ^ а б Янсен, Клаус .; Тёле, Ральф. (01.01.2010). «Аппроксимационные алгоритмы для планирования параллельных работ». SIAM Журнал по вычислениям. 39 (8): 3571–3615. Дои:10.1137/080736491. ISSN  0097-5397.
  7. ^ Ду, Цзяньчжун .; Люнг, Джозеф Ю.-Т. (1 ноября 1989 г.). «Сложность планирования параллельных систем задач». Журнал SIAM по дискретной математике. 2 (4): 473–487. Дои:10.1137/0402042. ISSN  0895-4801.
  8. ^ Хеннинг, Сорен; Янсен, Клаус; Рау, Малин; Шмарье, Ларс (1 января 2020 г.). "Сложность и несовместимость результатов для параллельного планирования задач и упаковки полос". Теория вычислительных систем. 64 (1): 120–140. arXiv:1705.04587. Дои:10.1007 / s00224-019-09910-6. ISSN  1433-0490. S2CID  67168004.
  9. ^ Garey, M. R .; Грэм, Р. Л. (1 июня 1975 г.). «Границы для многопроцессорного планирования с ограничениями ресурсов». SIAM Журнал по вычислениям. 4 (2): 187–200. Дои:10.1137/0204015. ISSN  0097-5397.
  10. ^ Турек, Джон; Wolf, Joel L .; Ю., Филип С. "Приближенные алгоритмы планирования распараллеливаемых задач | Труды четвертого ежегодного симпозиума ACM по параллельным алгоритмам и архитектурам". dl.acm.org. Дои:10.1145/140901.141909. S2CID  15607549.
  11. ^ Людвиг, Вальтер; Тивари, Прасун (1994). «Планирование гибких и неизменяемых параллельных задач | Труды пятого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам». Пятый ежегодный симпозиум {ACM-SIAM} по дискретным алгоритмам (SODA): 167–176.
  12. ^ Фельдманн, Аня; Сгалл, Иржи; Тэн, Шан-Хуа (1 августа 1994 г.). «Динамическое планирование на параллельных машинах». Теоретическая информатика. 130 (1): 49–72. Дои:10.1016 / 0304-3975 (94) 90152-Х. ISSN  0304-3975.
  13. ^ Амура, Абдель Крим; Бампис, Еврипидис; Кеньон, Клэр; Манусакис, Яннис (1 февраля 2002 г.). «Планирование независимых многопроцессорных задач». Алгоритмика. 32 (2): 247–261. Дои:10.1007 / s00453-001-0076-9. ISSN  1432-0541. S2CID  17256951.
  14. ^ Янсен, Клаус; Порколаб, Лорант (1 марта 2002 г.). "Схемы линейного приближения для планирования гибких параллельных задач". Алгоритмика. 32 (3): 507–520. Дои:10.1007 / s00453-001-0085-8. HDL:11858 / 00-001M-0000-0014-7B6C-D. ISSN  1432-0541. S2CID  2019475.
  15. ^ Янсен, Клаус (2012). «Алгоритм приближения (3/2 + ε) для планирования формируемых и неизменяемых параллельных задач | Труды двадцать четвертого ежегодного симпозиума ACM по параллелизму в алгоритмах и архитектурах». 24-й симпозиум {ACM} по параллелизму в алгоритмах и архитектурах, {SPAA}. Дои:10.1145/2312005.2312048. S2CID  6586439.
  16. ^ «Приближенные алгоритмы планирования распараллеливаемых задач | Труды четвертого ежегодного симпозиума ACM по параллельным алгоритмам и архитектурам». Дои:10.1145/140901.141909. S2CID  15607549. Цитировать журнал требует | журнал = (помощь)
  17. ^ Блёндек, Иво; Дроздовский, Мацей; Гинан, Фредерик; Шеплер, Ксавье (1 октября 2015 г.). «При планировании непрерывных и несмежных параллельных задач». Журнал планирования. 18 (5): 487–495. Дои:10.1007 / s10951-015-0427-z. ISSN  1099-1425.