병렬 태스크 스케줄링
Parallel task scheduling병렬 작업 스케줄링(병렬 작업 스케줄링[1][2] 또는 병렬 처리 스케줄링이라고도[3] 함)은 컴퓨터 과학 및 운영 연구의 최적화 문제입니다.이것은 최적의 작업 스케줄링의 변형입니다.일반적인 작업 스케줄링 문제에서는 m대의 머신에서 스케줄 할 필요가2 있는 다양한 처리 시간의 작업n J, J, ..., J가1 n개 주어집니다.이것은, 스케줄의 합계 길이(즉, 모든 작업이 처리가 끝난 시점)를 최소한으로 억제하기 위해서 필요합니다.병렬 태스크 스케줄링이라고 하는 특정 변형에서는 모든 기계가 동일합니다.각 작업 j는 길이 파라미터j p와 크기 파라미터j q를 가지며, 정확히j q 머신 상에서 p개의j 타임스텝을 병렬로 실행해야 합니다.
Veltman [4][5]등 및 Drozdowski는[3] Graham 등이 도입한 3필드 표기법에서 이 문제를 z maxP{\max})로 나타낸다.P는 여러 대의 동일한 머신이 병렬로 실행 중임을 나타냅니다j.size는 각 작업에 크기 파라미터가 있음을 나타냅니다max.C는 최대 완료 시간을 최소화하는 것을 목적으로 합니다.일부 작성자는 대신 [1] max(\ P })를 사용합니다.
이 문제 공식의 기원은 [6]1960년으로 거슬러 올라갈 수 있다. 문제의 경우 P P \ displaystyle P [citation needed]\ 3 비율의 다항식 시간 근사 알고리즘은 존재하지 않습니다.
정의.
{ 세트에는의 작업및m개의 가 있습니다.각 {\ j {은 (는) 처리 N {\j의 길이라고도 함)을 가지며, 실행 중 jN {\을 에 사용해야 합니다
스케줄에 따라 각 j { {J가 (\ \0}) 및 {,{의 시작 시간에 됩니다각 프로세서가 한 번에 최대 1개의 작업을 실행하는 경우 스케줄이 가능합니다. e max { P _ { } _ { \ c c c c c c c c the the the the the the c the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the c c c c c c c c c c c C_ s + C_{s j_{\ displaystyle cyledisplayst일정의 실현 가능성을 위한 충분한 조건은 다음과 같습니다.
、 sj < j + q m t {1, ... , } { \_ { j\ \ { J } ,_ {} + p { j} \ < s _ { j } \ \ t { 1 \ \ \ in \ s _ { s _ { s _ { s _ { s _ } } } } } \ \ in \ in \ in \ in
만약 이 속성은 모든 시작 시간이 만족되는, 실현 가능한 일정 업무에 각 시간에서 시간 t를 시작으로)게다가 자유 기계 0{\displaystyle t=0}.[1][2]을 부여함으로써 생성될 수 있는, 기계의 간격으로 일자리와 유휴 시간을 두고 각 시간 스텝에서 사용되고 있는 수를 J+1{\displays을 경계로 할 수 있다.tyle {\ + [1]} 。여기서 머신 인터벌은 최대 카디널리티의 연속된 머신 세트이며, 이 세트 내의 모든 머신이 동일한 작업을 처리합니다.시스템 간격은 첫 번째 및 마지막 시스템의 인덱스로 완전히 지정됩니다.따라서 출력을 다항식 크기로 인코딩하는 콤팩트한 방법을 얻을 수 있습니다.
계산 경도
이 문제는 기계가 2대뿐이고 모든 작업의 크기가 j {}=인 경우에도 NP-hard입니다(즉, 각 작업은 단일 기계에서만 실행되어야 합니다). 특수한 케이스P max\P2 {\ 는 NP-hard로 알려진 파티션 문제의 변형입니다.
머신수 m이 최대 3인 경우(즉, e size_max { P3 max에는 알고리즘의 문제가 정확하게 [7]해결됩니다.
기계의 숫자는 적어도 4비교하자면,:변형 Pms나는 ej C맥스 어떤 m≥ 4{\displaystyle m\geq 4}에{\displaystyle 그럼 size_{j}C_{\max}}, 문제는 또 NP-hard[8](이 결과를 향상시켰다 이전 result[7]m에 대한 강한 NP-hardness을 보여 주≥ 5{\displaystyl z 있다.em\ge 5} 。
수가 상수에 의해 제한되지 않으면 P가 근사 비율이 3보다 근사 알고리즘은 존재할 수 없습니다.이는 모든 작업의 처리 시간이 한 경우에도 유효합니다.이 한 경우는 빈 패킹 문제와 같기 때문입니다각 타임 스텝은 빈에 대응하고, m은 빈 사이즈에 대응하며, 각 작업은 q 크기의j 항목에 대응하며, 메이크 스팬을 최소화함으로써 최소화할 수 있습니다.빈의 수.
변종
이 문제의 몇 가지 변형이 [3]연구되어 왔다.다음 변형도 서로 조합하여 검토되었습니다.
연속 작업:이 바리안트에서는 머신의순서는 고정되어 있습니다( 1, M 작업은 임의의 j { \{ {MOTs}, {}).이 문제는 스트립 패킹 문제의 공식화에 해당합니다.
여러 플랫폼:이 변형에서는 기계 세트가 독립된 플랫폼으로 분할됩니다.스케줄링된 작업은 한 플랫폼의 머신만 사용할 수 있으며 처리 시 여러 플랫폼에 걸쳐 사용할 수 없습니다.
성형 가능한 작업:이 바리안트에서는 각 j에는 실현 가능한 기계 j { , }(\j\ {1,\ 가 있습니다 dJ d)에 대해 할 수 pj , \ _ {, d。 j를 스케줄 하려면 , 알고리즘은 머신 d D 를 선택해, 기동 j 를 할당해, 인터벤션 타임의 머신에 j 를 할당하고, displaystyle 와 display in 를 할 필요가 있습니다.l 、 j + , d [{ j ;_ { j } +{ j , d ) 。} 이러한 종류의 문제에 대한 일반적인 가정은d of p, \ d 로 되는 작업의 총 워크로드가 증가하는 머신에 대해 증가하지 않는다는 것입니다
발매일: s i z j , max { P _ { j , { } C _ { \ p p p p 、 jobs jobs are are are;;;;; 。모든 작업을0 으로 사용할 수 있는 것은 아닙니다.각 작업 j는 고정된 기존 시간r에j 사용할 수 있게 됩니다.그 이후로 스케줄이 잡혀 있어야 합니다.
프리엠프션: s j , , C { P _ { } , { } , { \ { pmtn } _ { \ max p p p p p 、 이미 실행 중인 작업을 중단하고 그 시점에서 사용 가능한 다른 작업을 스케줄링할 수 있습니다.
알고리즘
Garey와[9] Graham의 리스트 스케줄링 알고리즘은 Turek 등 [10]및 Ludwig와 [11]Tiwari가 지적한 바와 같이 절대 22)를 가진다.Feldmann, Sgall 및 Teng은[12] 리스트 스케줄링 알고리즘에 의해 생성된 비선제 스케줄의 길이가 실제로는 최적 선제적 메이크스팬의 최대(/라고 관찰했다.프로세서의 m {\ m이 한 경우의 다항식 시간 근사 체계는 등 [13]및 [14]등에 의해 제시되었습니다.나중에 Jansen과 Thöle은 프로세서 수가 작업 수로 다항식으로 제한되는 경우에 대한 PTAS를 발견했습니다.이 알고리즘에서 기계 수는 알고리즘의 시간 복잡도에서 다항식으로 나타납니다.일반적으로 머신의 수는 인스턴스의 크기에서 로그로만 나타나기 때문에 이 알고리즘은 의사 다항 시간 근사 방식이기도 합니다.( 3/ + ){ / + \ ) } - [15]Jansen이 준 근사치입니다. 이 값은 임의의 { 을 제외하고 3/의 하한을 좁힙니다.
연속 작업과 비연속 작업의 차이점
병렬 작업 스케줄링 문제가 있는 경우 최적의 제작 시간은 기계의 인접성에 대한 제약 조건에 따라 달라질 수 있습니다.인접하지 않은 시스템에서 작업을 예약할 수 있는 경우, 인접한 시스템에서 작업을 예약해야 하는 경우보다 최적의 작업 소요 시간을 줄일 수 있습니다.그리고non-contiguous 인접해 스케줄의 차이는 먼저 1992[16]에서 n과 인스턴스에서). Błądek e. 8{\displaystyle n=8}작업 치고=23{\displaystyle m=23}프로세서, C최대 nc)17{\displaystyle C_{\max}^{nc}=17}, C(c=18{\displaystyle C_{\max}^{c}=18}증명되었습니다옆은l.[17] 이러한 소위 c/nc-차이를 연구하여 다음 사항을 입증했다.
- c/nc 차이가 발생하려면 q >.\ > 이 적어도3개 필요합니다
- cnc-difference가 하려면 > 1.\ p_ 작업이 적어도3개 필요해요
- c/nc 차이가 발생하려면 최소 ({ m의 프로세서가 필요합니다(또한 m ({ m의 c/nc 차이가 있는 인스턴스가 있습니다).
- c/nc 차이가 발생하려면 비연속 스케줄 길이가 c .{\}^{ 이어야 합니다.
- 최대 c/ c () / c () { \ {} ( ) / { \ ( {\ {\ {\、 。
- 특정 인스턴스에 c/nc-difference가 있는지 여부를 결정하는 것은 NP-complete입니다.
더욱이, 그들은 입증되지 않은 다음 두 가지 추측을 제안하였다.
- c/nc 차이가 발생하려면 최소 {\ n개의 작업이 필요합니다.
관련 문제
각 작업이 병렬이 아닌 순차적으로 실행되어야 하는 여러 작업으로 구성되는 관련 스케줄링 문제가 있습니다.오픈샵 스케줄링, 플로우숍 스케줄링, 잡샵 스케줄링 등의 문제가 있습니다.
레퍼런스
- ^ a b c d Johannes, Berit (2006-10-01). "Scheduling parallel jobs to minimize the makespan". Journal of Scheduling. 9 (5): 433–452. doi:10.1007/s10951-006-8497-6. hdl:20.500.11850/36804. ISSN 1099-1425. S2CID 18819458.
- ^ a b c Jansen, Klaus.; Thöle, Ralf. (2010-01-01). "Approximation Algorithms for Scheduling Parallel Jobs". SIAM Journal on Computing. 39 (8): 3571–3615. doi:10.1137/080736491. ISSN 0097-5397.
- ^ a b c Drozdowski, Maciej (2009). "Scheduling for Parallel Processing". Computer Communications and Networks. doi:10.1007/978-1-84882-310-5. ISBN 978-1-84882-309-9. ISSN 1617-7975.
- ^ Veltman, B; Lageweg, B. J; Lenstra, J. K (1990-12-01). "Multiprocessor scheduling with communication delays". Parallel Computing. 16 (2): 173–182. doi:10.1016/0167-8191(90)90056-F. ISSN 0167-8191.
- ^ Graham, R. L.; Lawler, E. L.; Lenstra, J.K.; Rinnooy Kan, A.H.G. (1979). "Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey" (PDF). Proceedings of the Advanced Research Institute on Discrete Optimization and Systems Applications of the Systems Science Panel of NATO and of the Discrete Optimization Symposium. Elsevier. pp. (5) 287–326.
- ^ Codd, E. F. (1960-06-01). "Multiprogram scheduling". Communications of the ACM. 3 (6): 347–350. doi:10.1145/367297.367317. S2CID 14701351.
- ^ a b Du, Jianzhong.; Leung, Joseph Y.-T. (1 November 1989). "Complexity of Scheduling Parallel Task Systems". SIAM Journal on Discrete Mathematics. 2 (4): 473–487. doi:10.1137/0402042. ISSN 0895-4801.
- ^ Henning, Sören; Jansen, Klaus; Rau, Malin; Schmarje, Lars (1 January 2020). "Complexity and Inapproximability Results for Parallel Task Scheduling and Strip Packing". Theory of Computing Systems. 64 (1): 120–140. arXiv:1705.04587. doi:10.1007/s00224-019-09910-6. ISSN 1433-0490. S2CID 67168004.
- ^ Garey, M. R.; Graham, R. L. (1 June 1975). "Bounds for Multiprocessor Scheduling with Resource Constraints". SIAM Journal on Computing. 4 (2): 187–200. doi:10.1137/0204015. ISSN 0097-5397.
- ^ Turek, John; Wolf, Joel L.; Yu, Philip S. "Approximate algorithms scheduling parallelizable tasks Proceedings of the fourth annual ACM symposium on Parallel algorithms and architectures". dl.acm.org. doi:10.1145/140901.141909. S2CID 15607549.
- ^ Ludwig, Walter; Tiwari, Prasoon (1994). "Scheduling malleable and nonmalleable parallel tasks Proceedings of the fifth annual ACM-SIAM symposium on Discrete algorithms". Fifth Annual {ACM-SIAM} Symposium on Discrete Algorithms (SODA): 167–176.
- ^ Feldmann, Anja; Sgall, Jiří; Teng, Shang-Hua (1 August 1994). "Dynamic scheduling on parallel machines". Theoretical Computer Science. 130 (1): 49–72. doi:10.1016/0304-3975(94)90152-X. ISSN 0304-3975.
- ^ Amoura, Abdel Krim; Bampis, Evripidis; Kenyon, Claire; Manoussakis, Yannis (1 February 2002). "Scheduling Independent Multiprocessor Tasks". Algorithmica. 32 (2): 247–261. doi:10.1007/s00453-001-0076-9. ISSN 1432-0541. S2CID 17256951.
- ^ Jansen, Klaus; Porkolab, Lorant (1 March 2002). "Linear-Time Approximation Schemes for Scheduling Malleable Parallel Tasks". Algorithmica. 32 (3): 507–520. doi:10.1007/s00453-001-0085-8. hdl:11858/00-001M-0000-0014-7B6C-D. ISSN 1432-0541. S2CID 2019475.
- ^ Jansen, Klaus (2012). "A(3/2+ε) approximation algorithm for scheduling moldable and non-moldable parallel tasks Proceedings of the twenty-fourth annual ACM symposium on Parallelism in algorithms and architectures". 24th {ACM} Symposium on Parallelism in Algorithms and Architectures,{SPAA}. doi:10.1145/2312005.2312048. S2CID 6586439.
- ^ "Approximate algorithms scheduling parallelizable tasks Proceedings of the fourth annual ACM symposium on Parallel algorithms and architectures". doi:10.1145/140901.141909. S2CID 15607549.
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말) - ^ Błądek, Iwo; Drozdowski, Maciej; Guinand, Frédéric; Schepler, Xavier (1 October 2015). "On contiguous and non-contiguous parallel task scheduling". Journal of Scheduling. 18 (5): 487–495. doi:10.1007/s10951-015-0427-z. ISSN 1099-1425.