Paralel görev zamanlama problemi - Parallel task scheduling problem

Teorik bilgisayar biliminde, paralel görev zamanlama problemi bir NP-zor optimizasyon problemi. Belirli bir dizi İşler olarak da adlandırılan paralel görevlerin planlanması gerekir bazen işlemci olarak adlandırılan aynı makineler, en son tamamlanma süresini en aza indirir. Veltman ve ark.[1] ve Drozdowski[2], bu problem şu şekilde gösterilir: içinde üç alanlı gösterim Graham ve diğerleri tarafından tanıtıldı [3]. Bu problem formülasyonunun kökenleri 1960'lara kadar izlenebilir.[4]. Bu problem için, oranı şundan daha küçük olan polinom zaman yaklaştırma algoritması yoktur. sürece .

Tanım

Bu problemde bize bir set veriliyor nın-nin işler yanı sıra özdeş makineler. her iş işlem süresi var ve eşzamanlı kullanımını gerektirir Bir program, her bir işi atar. başlangıç ​​zamanına ve bir set nın-nin Her işlemci herhangi bir zamanda en fazla bir iş yürütürse, bir program uygulanabilir. Sorunun amacı minimum uzunlukta bir program bulmaktır , aynı zamanda programın yapım süresi olarak da adlandırılır. Bir programın fizibilitesi için yeterli bir koşul aşağıdaki gibidir

.

Bu özellik tüm başlangıç ​​zamanları için karşılanırsa, zamandan başlayarak her dizi zamanında işlere ücretsiz makineler atanarak uygulanabilir bir program oluşturulabilir. .[5][6]. Ayrıca, işler tarafından kullanılan makine aralıklarının sayısı ve her bir adımdaki boşta kalma aralıkları, aşağıdakilerle sınırlandırılabilir: [5]. Burada bir makine aralığı, bu setteki tüm makinelerin aynı işi işlediği şekilde maksimum kardinaliteye sahip bir dizi ardışık makinedir. Bir makine aralığı, ilk ve son makinesinin indeksi tarafından tamamen belirlenir. Bu nedenle, çıktıyı polinom boyutuyla kodlamanın kompakt bir yolunu elde etmek mümkündür.

Sertlik

Bu problem, sabit sayıda makine için bile NP-zordur çünkü karşılık gelir bölüm sorunu. Dahası, Du ve Leung[7] bu sorunun olduğunu gösterdi kesinlikle NP-zor makine sayısı en az olduğunda ve bir sözde polinom zaman Algoritma, makine sayısı en fazla ise sorunu tam olarak çözer . Daha sonra Henning ve ark.[8] makinelerin sayısı arttığında sorunun da NP-zor olduğunu gösterdi . Makinelerin sayısı bir sabit ile sınırlandırılmamışsa, yaklaşık oranı şundan daha küçük olan bir yaklaşım algoritması olamaz. sürece çünkü bu sorun, çöp kutusu paketleme sorunu alt harf olarak, yani tüm işlerin işlem süresi olduğunda .

Varyantlar

Bu problemin üzerinde çalışılan birkaç çeşidi vardır[2]. Aşağıdaki varyantlar da birbirleriyle kombinasyon halinde düşünülmüştür.

Bitişik işler: Bu varyantta, makinelerin sabit bir düzeni vardır . İşleri herhangi bir alt kümeye atamak yerine , işler bir makine aralığına atanmalıdır. Bu sorun, sorunun formülasyonuna karşılık gelir. şerit paketleme sorunu.

Kalıplanabilir işler: Bu varyantta her iş bir dizi uygun makine numarasına sahiptir ve bu numaraların her biri için işlem süresi var . Bir iş planlamak için , bir algoritma bir makine numarası seçmelidir ve bunu bir başlangıç ​​zamanına atayın ve zaman aralığı boyunca makineler Bu tür bir problem için olağan bir varsayım, bir işin çalışmasının, artan sayıda makine için artmıyor.

Birden çok platform: Bu varyantta, makine seti bağımsız platformlara bölünmüştür. Planlanmış bir iş yalnızca bir platformun makinelerini kullanabilir ve işlendiğinde birden fazla platforma yayılmasına izin verilmez.

Algoritmalar

Garey ve Graham'ın hazırladığı liste çizelgeleme algoritması[9] mutlak bir orana sahiptir , Turek ve ark.[10] ve Ludwig ve Tiwari[11]. Feldmann, Sgall ve Teng[12] Liste çizelgeleme algoritması tarafından üretilen, öncelikli olmayan bir çizelgenin uzunluğunun aslında en fazla Optimum önleyici yapım süresinin katı. sayı olduğunda durum için bir polinom-zaman yaklaşım şeması (PTAS) işlemci sayısı sabittir , Amoura ve ark.[13] ve Jansen vd.[14]Daha sonra Jansen ve Thöle [6] İşlemci sayısının iş sayısı ile polinomik olarak sınırlandırıldığı durum için bir PTAS buldu. Bu algoritmada, makinelerin sayısı, algoritmanın zaman karmaşıklığı içinde polinomik olarak görünür. Genel olarak, makinelerin sayısı yalnızca örneğin boyutunda logaritmik olarak göründüğünden, bu algoritma aynı zamanda bir sözde polinom zaman yaklaşımı şemasıdır. Bir -yaklaşıklık Jansen tarafından verildi[15]alt sınırına olan boşluğu kapatan keyfi olarak küçük haricinde .

Bitişik ve bitişik olmayan işler arasındaki farklar

Paralel görev zamanlama probleminin bir örneği verildiğinde, optimum üretim süresi, makinelerin bitişiğindeki kısıtlamaya bağlı olarak değişebilir. İşler bitişik olmayan makinelerde planlanabiliyorsa, en uygun üretim süresi bitişik olanlara programlanmaları gerektiği durumdan daha küçük olabilir. Bitişik ve bitişik olmayan çizelgeler arasındaki fark ilk olarak 1992'de gösterilmiştir.[16] bir örnekte görevler, işlemciler, , ve .Błądek vd. [17] bu sözde c / nc farklarını inceledi ve aşağıdaki noktaları kanıtladı:

  • Bir c / nc-farkının ortaya çıkması için, en az üç görev olmalıdır.
  • Bir c / nc-farkının ortaya çıkması için, en az üç görev olmalıdır.
  • Bir c / nc farkının ortaya çıkması için, en azından işlemciler gereklidir (ve bir c / nc farkı olan bir örnek vardır) ).
  • Bir c / nc farkının ortaya çıkması için bitişik olmayan program uzunluğu en az
  • Maksimum c / nc farkı en azından ve en fazla
  • Belirli bir örnekte bir c / nc farkı olup olmadığına karar vermek NP-tamamlanmıştır.

Ayrıca, kanıtlanmamış olan aşağıdaki iki varsayımı da önerdiler:

  • Bir c / nc farkının ortaya çıkması için, en azından görevler gereklidir.

Ayrıca bakınız

Referanslar

  1. ^ Veltman, B; Lageweg, B. J; Lenstra, J.K (1990-12-01). "İletişim gecikmeleriyle çok işlemcili planlama". Paralel Hesaplama. 16 (2): 173–182. doi:10.1016 / 0167-8191 (90) 90056-F. ISSN  0167-8191.
  2. ^ a b Drozdowski, Maciej (2009). "Paralel İşleme için Planlama". Bilgisayar İletişimi ve Ağları. doi: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 .; Rinnooy Kan, A.H.G. (1979). "Deterministik Sıralama ve Çizelgelemede Optimizasyon ve Yaklaşım: Bir Anket" (PDF). NATO'nun Sistem Bilimi Paneli ve Ayrık Optimizasyon Sempozyumu'nun Ayrık Optimizasyon ve Sistem Uygulamaları üzerine İleri Araştırma Enstitüsü Bildirileri. Elsevier. s. (5) 287–326.
  4. ^ F, CoddE (1960-06-01). "Çok programlı planlama". ACM'nin iletişimi. 3 (6): 347–350. doi:10.1145/367297.367317. S2CID  14701351.
  5. ^ a b Johannes Berit (2006-10-01). "Üretim süresini en aza indirmek için paralel işleri planlama". Çizelgeleme Dergisi. 9 (5): 433–452. doi:10.1007 / s10951-006-8497-6. hdl:20.500.11850/36804. ISSN  1099-1425. S2CID  18819458.
  6. ^ a b Jansen, Klaus .; Thöle, Ralf. (2010-01-01). "Paralel İşleri Planlamak için Yaklaşım Algoritmaları". Bilgi İşlem Üzerine SIAM Dergisi. 39 (8): 3571–3615. doi:10.1137/080736491. ISSN  0097-5397.
  7. ^ Du, Jianzhong .; Leung, Joseph Y.-T. (1 Kasım 1989). "Paralel Görev Sistemlerini Planlamanın Karmaşıklığı". 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 Ocak 2020). "Paralel Görev Çizelgeleme ve Şerit Paketleme için Karmaşıklık ve Yaklaşımsızlık Sonuçları". Hesaplama Sistemleri Teorisi. 64 (1): 120–140. arXiv:1705.04587. doi:10.1007 / s00224-019-09910-6. ISSN  1433-0490. S2CID  67168004.
  9. ^ Garey, M.R .; Graham, R.L. (1 Haziran 1975). "Kaynak Kısıtlamaları Olan Çok İşlemcili Zamanlama Sınırları". Bilgi İşlem Üzerine SIAM Dergisi. 4 (2): 187–200. doi:10.1137/0204015. ISSN  0097-5397.
  10. ^ Turek, Yuhanna; Wolf, Joel L .; Yu, Philip S. "Paralelleştirilebilir görevleri planlayan yaklaşık algoritmalar | Paralel algoritmalar ve mimariler üzerine dördüncü yıllık ACM sempozyumunun bildirileri". dl.acm.org. doi:10.1145/140901.141909. S2CID  15607549.
  11. ^ Ludwig, Walter; Tiwari, Prasoon (1994). "Dövülebilir ve değiştirilemez paralel görevlerin planlanması | Ayrık algoritmalar üzerine beşinci yıllık ACM-SIAM sempozyumunun bildirileri". Beşinci Yıllık {ACM-SIAM} Ayrık Algoritmalar Sempozyumu (SODA): 167–176.
  12. ^ Feldmann, Anja; Sgall, Jiří; Teng, Shang-Hua (1 Ağustos 1994). "Paralel makinelerde dinamik çizelgeleme". Teorik Bilgisayar Bilimleri. 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 Şubat 2002). "Bağımsız Çok İşlemcili Görevleri Zamanlama". Algoritma. 32 (2): 247–261. doi:10.1007 / s00453-001-0076-9. ISSN  1432-0541. S2CID  17256951.
  14. ^ Jansen, Klaus; Porkolab, Lorant (1 Mart 2002). "Dövülebilir Paralel Görevleri Planlamak için Doğrusal Zaman Yaklaşık Şemaları". Algoritma. 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). "Kalıplanabilir ve biçimlendirilemeyen paralel görevlerin zamanlanması için bir (3/2 + ε) yaklaşım algoritması | Algoritmalar ve mimarilerde Paralellik üzerine yirmi dördüncü yıllık ACM sempozyumunun bildirileri". 24. {ACM} Algoritmalar ve Mimarilerde Paralellik Sempozyumu, {SPAA}. doi:10.1145/2312005.2312048. S2CID  6586439.
  16. ^ "Paralelleştirilebilir görevleri planlayan yaklaşık algoritmalar | Paralel algoritmalar ve mimariler üzerine dördüncü yıllık ACM sempozyumunun bildirileri". doi:10.1145/140901.141909. S2CID  15607549. Alıntı dergisi gerektirir | günlük = (Yardım)
  17. ^ Błądek, Iwo; Drozdowski, Maciej; Guinand, Frédéric; Schepler, Xavier (1 Ekim 2015). "Bitişik ve bitişik olmayan paralel görev planlamasında". Çizelgeleme Dergisi. 18 (5): 487–495. doi:10.1007 / s10951-015-0427-z. ISSN  1099-1425.