Parallell uppgiftsschemaläggning

Parallell uppgiftsschemaläggning (även kallad parallell jobbschemaläggning eller parallell bearbetningsschemaläggning ) är ett optimeringsproblem inom datavetenskap och operationsforskning . Det är en variant av optimal jobbschemaläggning . I ett allmänt jobbschemaläggningsproblem får vi n jobb J 1 , J 2 , ..., J n med varierande bearbetningstider, som måste schemaläggas på m maskiner samtidigt som man försöker minimera omfattningen - schemats totala längd (det vill säga när alla jobb är klara). I den specifika varianten som kallas parallell-uppgiftsschemaläggning är alla maskiner identiska. Varje jobb j har j en längdparameter p j och en storleksparameter q j , och den måste köras i exakt p tidssteg på exakt q j maskiner parallellt .

Veltman et al. och Drozdowski betecknar detta problem med i trefältsnotationen introducerad av Graham et al. P betyder att det finns flera identiska maskiner som körs parallellt; storlek j betyder att varje jobb har en storleksparameter; C max betyder att målet är att minimera den maximala färdigställandetiden. Vissa författare använder istället. Observera att problemet med schemaläggning av parallella maskiner är ett specialfall av schemaläggning av parallella uppgifter där för alla j , det vill säga varje jobb ska köras på en enda maskin.

\ om inte . [ citat behövs ]

Definition

Det finns en uppsättning av jobb och identiska maskiner. Varje jobb har en bearbetningstid (kallas även längden j ) , och kräver samtidig användning av maskiner under dess körning (även kallad storleken eller bredden av j).

Ett schema tilldelar varje jobb till en starttid och en mängd av maskiner som ska bearbetas på. Ett schema är genomförbart om varje processor utför högst ett jobb åt gången. Målet med problemet som anges av är att hitta ett schema med minsta längd även kallad makespan av schemat. Ett tillräckligt villkor för genomförbarheten av ett schema är följande

.

Om den här egenskapen är uppfylld för alla starttider, kan ett genomförbart schema genereras genom att tilldela lediga maskiner till jobben vid varje tidpunkt som börjar med tiden t = {\ . Dessutom kan antalet maskinintervall som används av jobb och lediga intervall vid varje tidssteg begränsas av . Här är ett maskinintervall en uppsättning på varandra följande maskiner med maximal kardinalitet så att alla maskiner i denna uppsättning bearbetar samma jobb. Ett maskinintervall specificeras helt av indexet för dess första och sista maskin. Därför är det möjligt att erhålla ett kompakt sätt att koda utdata med polynomstorlek.

Beräkningshårdhet

Det här problemet är NP-svårt även när det bara finns två maskiner och storleken på alla jobb är (dvs varje jobb behöver bara köras på en enda maskin). Detta specialfall, betecknat med är en variant av partitionsproblemet , som är känt för att vara NP-hårt.

När antalet maskiner m är högst 3, det vill säga: för varianterna och , det finns en pseudopolynomisk tidsalgoritm, som löser problemet exakt.

Däremot, när antalet maskiner är minst 4, det vill säga: för varianterna för alla , problemet är också starkt NP-hårt (det här resultatet förbättrade ett tidigare resultat som visade stark NP -hårdhet för ).

Om antalet maskiner inte begränsas av en konstant, kan det inte finnas någon approximationsalgoritm med ett approximationsförhållande som är mindre än om inte . Detta gäller även för det speciella fallet där bearbetningstiden för alla jobb är , eftersom detta specialfall är ekvivalent med soppackningsproblemet : varje tidssteg motsvarar en bin, m är fackstorleken, varje jobb motsvarar en artikel med storlek q j , och minimering av makespan motsvarar att minimera antalet fack.

Varianter

Flera varianter av detta problem har studerats. Följande varianter har också övervägts i kombination med varandra.

Sammanhängande jobb : I denna variant har maskinerna en fast ordning . Istället för att tilldela jobben till någon delmängd har jobben ska tilldelas ett sammanhängande intervall av maskiner. Detta problem motsvarar problemformuleringen av bandpackningsproblemet .

Flera plattformar: I denna variant är uppsättningen maskiner uppdelad i oberoende plattformar. Ett schemalagt jobb kan bara använda maskinerna på en plattform och får inte sträcka sig över flera plattformar när det bearbetas.

Formbara jobb : I denna variant har varje jobb en uppsättning möjliga maskinräkningar . För varje räkning , kan jobbet bearbetas på d maskiner parallellt, och i detta fall kommer dess behandlingstid att vara . För att schemalägga ett jobb måste en algoritm välja ett maskinantal och tilldela j till en starttid och till maskiner under tidsintervallet Ett vanligt antagande för denna typ av problem är att den totala arbetsbelastningen för ett jobb, som definieras som , ökar inte för ett ökande antal maskiner.

Releasedatum : I denna variant, betecknad med alla jobb är inte tillgängliga vid tidpunkten 0; varje jobb j blir tillgänglig vid en fast och känd tid r j . Det måste schemaläggas efter den tiden.

Preemption : I denna variant, betecknad med och schemalägga andra jobb som blir tillgängliga vid den tiden.

Algoritmer

Listschemaläggningsalgoritmen av Garey och Graham har ett absolut förhållande som påpekats av Turek et al. och Ludwig och Tiwari. Feldmann, Sgall och Teng observerade att längden på ett icke-förebyggande schema som produceras av listschemaläggningsalgoritmen faktiskt är högst ( gånger det optimala förebyggande intervallet. Ett polynom-tidsapproximationsschema (PTAS) för det fall då antalet av processorer är konstant, betecknat med presenterades av Amoura et al. och Jansen et al. Senare hittade Jansen och Thöle en PTAS för fallet där antalet processorer är polynomiellt begränsat i antalet jobb. I denna algoritm visas antalet maskiner polynomiskt i algoritmens tidskomplexitet. Eftersom antalet maskiner i allmänhet endast visas i logaritmisk storlek i instansens storlek, är denna algoritm också ett pseudopolynomiskt tidsapproximationsschema. En -approximation gavs av Jansen, vilket stänger gapet till den nedre gränsen på förutom en liten .

Skillnader mellan sammanhängande och icke sammanhängande jobb

Med tanke på en instans av problemet med schemaläggning av parallella uppgifter, kan det optimala fabrikatet variera beroende på begränsningen för maskinernas närhet. Om jobben kan schemaläggas på icke sammanhängande maskiner, kan det optimala fabrikatet vara mindre än i fallet att de måste schemaläggas på sammanhängande. Skillnaden mellan sammanhängande och icke-sammanhängande scheman har först demonstrerats 1992 på en instans med uppgifter, processorer, och . Błądek et al. studerade dessa så kallade c/nc-skillnader och bevisade följande punkter:

  • För att ac/nc-skillnad ska uppstå måste det finnas minst tre uppgifter med
  • För att ac/nc-skillnad ska uppstå måste det finnas minst tre uppgifter med
  • krävs minst ).
  • För att ac/nc-skillnad ska uppstå måste den icke-sammanhängande schemalängden vara minst
  • Den maximala c/nc-skillnaden är minst högst
  • Att avgöra om det finns en c/nc-skillnad i en given instans är NP-komplett.

Dessutom föreslog de följande två gissningar, som förblir obevisade:

  • krävs minst

Relaterade problem

Det finns relaterade schemaläggningsproblem där varje jobb består av flera operationer, som måste utföras i följd (snarare än parallellt). Dessa är problemen med schemaläggning av öppen butik , schemaläggning av flödesbutiker och schemaläggning av jobbbutiker .

  1. ^ a b c d    Johannes, Berit (2006-10-01). "Schemalägga parallella jobb för att minimera omfattningen". Journal of Scheduling . 9 (5): 433–452. doi : 10.1007/s10951-006-8497-6 . hdl : 20.500.11850/36804 . ISSN 1099-1425 . S2CID 18819458 .
  2. ^ a b c   Jansen, Klaus.; Thöle, Ralf. (2010-01-01). "Approximationsalgoritmer för att schemalägga parallella jobb". SIAM Journal on Computing . 39 (8): 3571–3615. doi : 10.1137/080736491 . ISSN 0097-5397 .
  3. ^ a b c    Drozdowski, Maciej (2009). "Schemaläggning för parallell bearbetning". Datorkommunikation och nätverk . doi : 10.1007/978-1-84882-310-5 . ISBN 978-1-84882-309-9 . ISSN 1617-7975 .
  4. ^   Veltman, B; Lageweg, B.J; Lenstra, J. K (1990-12-01). "Flerprocessorschemaläggning med kommunikationsförseningar" . Parallell beräkning . 16 (2): 173–182. doi : 10.1016/0167-8191(90)90056-F . ISSN 0167-8191 .
  5. ^ Graham, RL; Lawler, EL; Lenstra, JK; Rinnooy Kan, AHG (1979). "Optimering och approximation i deterministisk sekvensering och schemaläggning: en undersökning" ( PDF) . Proceedings av Advanced Research Institute on Discrete Optimization and Systems Applications of Systems Science Panel of NATO och Discrete Optimization Symposium . Elsevier. s. (5) 287–326.
  6. ^   Codd, EF (1960-06-01). "Flerprogramsschemaläggning". Kommunikation från ACM . 3 (6): 347–350. doi : 10.1145/367297.367317 . S2CID 14701351 .
  7. ^ a b   Du, Jianzhong.; Leung, Joseph Y.-T. (1 november 1989). "Komplexiteten i att schemalägga parallella uppgiftssystem". SIAM Journal on Discrete Mathematics . 2 (4): 473–487. doi : 10.1137/0402042 . ISSN 0895-4801 .
  8. ^    Henning, Sören; Jansen, Klaus; Rau, Malin; Schmarje, Lars (1 januari 2020). "Komplexitet och inapproximability resultat för parallell uppgift schemaläggning och band packning". Teori om datorsystem . 64 (1): 120–140. arXiv : 1705.04587 . doi : 10.1007/s00224-019-09910-6 . ISSN 1433-0490 . S2CID 67168004 .
  9. ^   Garey MR; Graham, RL (1 juni 1975). "Gränser för schemaläggning med flera processorer med resursbegränsningar" . SIAM Journal on Computing . 4 (2): 187–200. doi : 10.1137/0204015 . ISSN 0097-5397 .
  10. ^   Turek, John; Wolf, Joel L.; Yu, Philip S. "Ungefärliga algoritmer som schemalägger parallelliserbara uppgifter | Proceedings of the fjärde årliga ACM-symposium om parallella algoritmer och arkitekturer". dl.acm.org . doi : 10.1145/140901.141909 . S2CID 15607549 .
  11. ^ Ludwig, Walter; Tiwari, Prasoon (1994). "Schemaläggning av formbara och icke formbara parallella uppgifter | Proceedings of the femte årliga ACM-SIAM-symposium om diskreta algoritmer" . Femte årliga {ACM-SIAM}-symposiet om diskreta algoritmer (SODA) : 167–176.
  12. ^   Feldmann, Anja; Sgall, Jiří; Teng, Shang-Hua (1 augusti 1994). "Dynamisk schemaläggning på parallella maskiner" . Teoretisk datavetenskap . 130 (1): 49–72. doi : 10.1016/0304-3975(94)90152-X . ISSN 0304-3975 .
  13. ^    Amoura, Abdel Krim; Bampis, Evripidis; Kenyon, Claire; Manoussakis, Yannis (1 februari 2002). "Schemaläggning av oberoende multiprocessoruppgifter". Algoritmik . 32 (2): 247–261. doi : 10.1007/s00453-001-0076-9 . ISSN 1432-0541 . S2CID 17256951 .
  14. ^    Jansen, Klaus; Porkolab, Lorant (1 mars 2002). "Linjär-tidsapproximationsscheman för schemaläggning av formbara parallella uppgifter". Algoritmik . 32 (3): 507–520. doi : 10.1007/s00453-001-0085-8 . hdl : 11858/00-001M-0000-0014-7B6C-D . ISSN 1432-0541 . S2CID 2019475 .
  15. ^   Jansen, Klaus (2012). "A(3/2+ε) approximationsalgoritm för schemaläggning av formbara och icke-formbara parallella uppgifter | Proceedings of the tjugofjärde årliga ACM-symposiet om parallellism i algoritmer och arkitekturer". 24:e {ACM}-symposiet om parallellism i algoritmer och arkitekturer,{SPAA} . doi : 10.1145/2312005.2312048 . S2CID 6586439 .
  16. ^   "Ungefärliga algoritmer som schemalägger parallelliserbara uppgifter | Proceedings av det fjärde årliga ACM-symposiet om parallella algoritmer och arkitekturer". doi : 10.1145/140901.141909 . S2CID 15607549 . {{ citera journal }} : Citera journal kräver |journal= ( hjälp )
  17. ^   Błądek, Iwo; Drozdowski, Maciej; Guinand, Frédéric; Schepler, Xavier (1 oktober 2015). "Om sammanhängande och icke sammanhängande parallell uppgiftsschemaläggning" . Journal of Scheduling . 18 (5): 487–495. doi : 10.1007/s10951-015-0427-z . ISSN 1099-1425 .