P. Chretienne, E. Coffman, J. Lenstra, Z. Liu Scheduling Theory and its Applications John Wiley & Sons, New York, (1995)



Σχετικά έγγραφα
Πρόλογος. Η νέα έκδοση των παρόντων σημειώσεων θα ολοκληρωθεί κατά το εαρινό εξάμηνο του ακαδημαϊκού έτους Αύγουστος 2008.

ÅÉÓÁÃÙÃÇ ÓÔÇÍ ÁÑÉÈÌÇÔÉÊÇ ÁÍÁËÕÓÇ

ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. του ΠΕΤΡΟΥ Ι. ΒΕΝΕΤΗ. Καθηγητής Ε..Μ.Π. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΧΑΡΙΔΗΜΟΣ Θ. ΒΕΡΓΟΣ ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ. Πανεπιστημιακές Παραδόσεις στην ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Εργασία στα Λειτουργικά Συστήματα Θέμα:

ΠΑΡΑΡΤΗΜΑ A ΜΑΘΗΜΑΤΙΚΟ ΥΠΟΒΑΘΡΟ

ΜΕΛΕΤΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΙΣ ΑΝΑΓΚΕΣ ΤΩΝ ΛΟΓΙΣΤΗΡΙΩΝ ΤΩΝ ΤΡΑΠΕΖΩΝ

Πεπερασμένες Διαφορές.

Κεφάλαιο 17. Σύγκριση συχνοτήτων κατηγοριών: Το στατιστικό κριτήριο χ ΠΡΟΫΠΟΘΕΣΕΙΣ ΓΙΑ ΤΗ ΧΡΗΣΗ ΤΟΥ ΚΡΙΤΗΡΙΟΥ 17.2.

Πρόλογος. είναι απλή υπόθεση.

Σηµειώσεις στις σειρές

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΓΕΝΙΚΟ ΤΜΗΜΑ

Σημείωση: Δες ορισμό απλού γραφήματος στον Τόμο Α, σελ. 97 και τόμο Β, σελ 12.

Πρόχειρες σηµειώσεις στις Πιθανότητες

1.1. Η Χρησιμότητα της Στατιστικής

1. Βασικές Έννοιες - Προτάσεις Θεωρίας Πιθανοτήτων

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΓΡΑΜΜΙΚΗΣ ΑΛΓΕΒΡΑΣ. Νώντας Κεχαγιάς Τµήµα Μαθηµατικών, Πανεπιστηµίου Ιωαννίνων

ΑΠΟΦΥΓΗ ΕΜΠΟ ΙΩΝ ΚΑΙ ΜΗ ΓΡΑΜΜΙΚΟΣ ΕΛΕΓΧΟΣ ΣΕ ΣΥΣΤΗΜΑΤΑ ΜΗ ΟΛΟΝΟΜΩΝ ΒΑΣΕΩΝ ΜΕ ΒΡΑΧΙΟΝΑ

Μελέτες - Εφαρμογές. & Υλοποίηση Δικτύων Η/Υ. Γ. Μπάρδης

Πανεπιστήµιο Αιγαίου url: Εισαγωγή στις γλώσσες προγραµµατισµού µε τη γλώσσα C

ΠΟΛΥΚΡΙΤΗΡΙΑ ΠΡΟΣΕΓΓΙΣΗ ΣΤΗ ΙΑ ΙΚΑΣΙΑ ΕΠΙΛΟΓΗΣ ΥΠΕΡΓΟΛΑΒΟΥ ΜΕΓΑΛΩΝ ΕΡΓΩΝ ΓΙΑ ΛΟΓΑΡΙΑΣΜΟ ΒΙΟΜΗΧΑΝΙΚΗΣ ΜΟΝΑ ΑΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

Σημειώσεις μαθήματος Μ1113 Επίπεδο και Χώρος Χρήσ τος Κουρουνιώτης ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 2014

ΣΥΣΤΗΜΑ ΑΝΑΓΝΩΡΙΣΗΣ ΠΡΟΣΩΠΩΝ ΜΕ ΧΡΗΣΗ WEB CAMERA ΚΑΙ OPENCV

Βάσεις, Αποθήκες και Εξόρυξη Δεδομένων με τον SQL Server

ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΕΠΙΔΕΙΞΗΣ ΔΙΚΤΥΩΝ TCP/IP ME ΧΡΗΣΗ ΤΟΥ WIRESHARK

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή

Transcript:

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ 8ο Εξάμηνο ΕΡΓΑΣΙΑ P. Chretienne, E. Coffman, J. Lenstra, Z. Liu Scheduling Theory and its Applications John Wiley & Sons, New York, (995) CHAPTER (μέχρι και..)

Scheduling with Communication Delays: A Survey P. Chrétienne and C. Picouleau Institut Blaise Pascal, Laboratoire LIPT, Universite Pierre et Marie Curie Γενικά Η μελέτη προβλημάτων δρομολόγησης (scheduling) με καθυστερήσεις επικοινωνίας μεταξύ των επεξεργαστών-μηχανών (interprocessor communication delays) είναι ένας νέος χώρος έρευνας με μεγάλο ενδιαφέρον που απορρέει από την ανάπτυξη υπολογιστικά συστήματα κατανεμημένης μνήμης. Η λύση αυτών των προβλημάτων είναι απαραίτητη προϋπόθεση για την απόδοση τέτοιων υπολογιστικών συστημάτων. Παρουσιάζουμε υπάρχοντα προβλήματα scheduling και δίνουμε μια σύνοψη της πολυπλοκότητας και των λύσεων τους. Τα προβλήματα αυτά ταξινομούνται με βάση τρία κύρια χαρακτηριστικά: επανάληψη των διεργασιών (task duplication), απεριόριστο αριθμό επεξεργαστών και χρόνοι επικοινωνίας. Για κάθε κλάση, περιγράφεται η παρούσα γνώση για τα όρια των εύκολων και δύσκολων προβλημάτων, δίνονται συγκεκριμένες ιδιότητες των βέλτιστων schedule, και παρουσιάζονται οι πιο σημαντικές και ακριβείς λύσεις με προσεγγιστικούς αλγορίθμους.. ΕΙΣΑΓΩΓΗ Η μελέτη προβλημάτων scheduling με καθυστερήσεις επικοινωνίας μεταξύ των επεξεργαστών, όπως ειπώθηκε και πιο πάνω είναι ένας νέος χώρος έρευνας που εξελίσσεται ταχύτατα με την ανάπτυξη κατανεμημένων υπολογιστικών συστημάτων. Μάλιστα, για να πετύχουμε την μέγιστη απόδοση σε τέτοια συστήματα, πρέπει να βρεθεί ο καλύτερος συμβιβασμός μεταξύ της παραλληλισμού και χρόνων επικοινωνίας. Για δοσμένο γράφο διεργασιών (task graph) προς εκτέλεση, το πρόβλημα είναι πρόβλημα scheduling όπου, σε αντίθεση με τα κλασικά προβλήματα scheduling, πρέπει να ληφθεί υπόψη και οι χρόνοι επικοινωνίας μεταξύ διεργασιών που ανατίθενται προς εκτέλεση σε ξεχωριστούς επεξεργαστές. Στο κεφάλαιο αυτό παρουσιάζονται τα κύρια αποτελέσματα που έχουν ληφθεί μέχρι στιγμής σε αυτό το πεδίο. Η επανάληψη των διεργασιών (task duplication), το απεριόριστο του αριθμού των επεξεργαστών και οι χρόνοι επικοινωνίας έχουν επιλεχθεί ως τα κύρια χαρακτηριστικά για την κατηγοριοποίησης των προβλημάτων αυτών. Για κάθε κλάση, περιγράφεται η παρούσα γνώση για τα όρια των εύκολων και δύσκολων προβλημάτων, δίνονται συγκεκριμένες ιδιότητες των βέλτιστων schedule, και παρουσιάζονται οι πιο σημαντικές και ακριβείς λύσεις με προσεγγιστικούς αλγορίθμους.

. ΟΡΙΣΜΟΣ ΠΡΟΒΛΗΜΑΤΟΣ & ΣΗΜΕΙΟΓΡΑΦΙΑ Ένα στιγμιότυπο ενός προβλήματος scheduling καθορίζεται από ένα σύνολο J={J,,J n } από αδιάσπαστες (ως προς την εκτέλεση) διεργασίες, ένα σύνολο U με q περιορισμούς προτεραιότητας (J i,j j ) έτσι ώστε ο G = (J,U) είναι ένας ακυκλικός κατευθυνόμενος γράφος (ο οποίος ονομάζεται γράφος προτεραιοτήτων), οι χρόνοι εκτέλεσης των διεργασιών p i, J j J, και οι χρόνοι επικοινωνίας c jk, (J j,j k ) U. Διατίθεται ένα σύνολο M = {M,,M m } από m ίδιους επεξεργαστές για την εκτέλεση των διεργασιών. Ένα αντίγραφο του J j είναι μια τριάδα (i,π,t), όπου J j είναι η διεργασία από την οποία προέκυψε το αντίγραφο, π είναι η μηχανή στην οποία ανατίθεται το αντίγραφο και t είναι η χρονική στιγμή που το αντίγραφο αρχίζει να εκτελείται. Ένα τόξο (J j,j k ) σημαίνει ότι κάθε αντίγραφο του J k πρέπει να περιμένει για δεδομένα από ένα αντίγραφο του J j (αυτό το αντίγραφο θα καλείται προμηθευτής) πριν την εκτέλεσή του. Η διάρκεια αυτής της μεταφοράς δεδομένων είναι c jk αν τα δύο αντίγραφα δεν εκτελούνται στην ίδια μηχανή και αλλιώς. Μία δρομολόγηση S (schedule) για το πρόβλημα είναι ένα πεπερασμένο σύνολο αντιγράφων που πρέπει να ικανοποιεί τις εξής προϋποθέσεις: () για κάθε διεργασία (task) J j, υπάρχει τουλάχιστον ένα αντίγραφο (j,π,t); () κάθε χρονική στιγμή, κάθε μηχανή εκτελεί το πολύ ένα αντίγραφο; () αν (J j,j k ) U κάθε αντίγραφο (k,π,t) έχει ένα προμηθευτή (j,π',t') έτσι ώστε να ισχύει: t t' + p j αν π = π' και t t' + p j + c jk διαφορετικά. Έτσι, σε ένα schedule, τουλάχιστον ένα αντίγραφο από κάθε διεργασία πρέπει να εκτελεστεί, κάθε αντίγραφο από μια συγκεκριμένη διεργασία πρέπει να προμηθευτεί από ένα αντίγραφο καθενός από τους άμεσους προγόνους του στον G και, αν ένα αντίγραφο και ένας προμηθευτής του δεν ανατίθονται στην ίδια μηχανή, πρέπει να ληφθεί υπόψη και ο χρόνος επικοινωνίας μεταξύ τους. Στο σχήμα. φαίνεται πως η επανάληψη διεργασιών μπορεί να οδηγήσει σε μικρότερο χρόνο ολοκλήρωσης (makespan). J J 5 6 7 Best schedule without duplication J J J J J 5 6 Best schedule with duplication Σχήμα. Task duplication Στόχος είναι εύρεση ενός schedule του οποίου ο χρόνος ολοκλήρωσης του (makespan), που ορίζεται ως ο μέγιστος χρόνος ολοκλήρωσης όλων των αντιγράφων, είναι ελάχιστος. Σύμφωνα με το συμβολισμό του Veltman et al. (99), το πρόβλημα αυτό συμβολίζεται ως: P prec,p j, c jk,dup C max. Όταν δεν επιτρέπεται η επανάληψη, τότε ένα schedule ορίζεται πλήρως αν καθορίσουμε σε κάθε διεργασία (task) J j μία χρονική στιγμή εκκίνησης και ένα επεξεργαστή π j έτσι ώστε να

ικανοποιούνται οι περιορισμοί προτεραιότητας για κάθε (J j,j k ) U, t k t j + p j αν π j = π k και διαφορετικά t k t j + p j + c jk. Το πρόβλημα συμβολίζεται ως P prec,p j, c jk C max. Όταν υποτίθεται απεριόριστος αριθμός από επεξεργαστές (π.χ. m n) τότε το πρώτο πεδίο στους παραπάνω συμβολισμούς γίνεται P. Σε αυτήν την περίπτωση αρκεί να περιοριστούμε σε συνεκτικούς γράφους προτεραιοτήτων, αφού λύνοντας το πρόβλημα σε κάθε συνεκτική συνιστώσα και εκτελώντας κάθε συνιστώσα σε ξένα υποσύνολα μηχανών προκύπτει προφανώς βέλτιστο schedule. Το σύνολο των άμεσων προγόνων (αντίστοιχα απογόνων) ενός J j στο G συμβολίζεται με IN(j) (αντίστοιχα OUT(j)). Ο μέγιστος και ελάχιστος χρόνος εκτέλεσης συμβολίζεται με p max και pmin αντίστοιχα, και οι συμβολισμοί c max και c min χρησιμοποιούνται ανάλογα για τους χρόνους επικοινωνίας. Η CST (Small Communication Time) υπόθεση σημαίνει ότι c max /p min. Η r-sct ( < r ) υπόθεση είναι ειδική περίπτωση της CST όταν c max /p min r.. DUPLICATION & ΑΠΕΡΙΟΡΙΣΤΟΣ ΑΡΙΘΜΟΣ ΕΠΕΞΕΡΓΑΣΤΩΝ.. Το SCT P prec,p j, c jk,dup C max πρόβλημα Μερικές σημαντικές εφαρμογές (π.χ. αυτές που προκύπτουν από προβλήματα αριθμητικής ανάλυσης) περιέχουν διεργασίες με μεγάλη ποσότητα κώδικα για τον επεξεργαστή, οι οποίες έχουν χρόνο εκτέλεσης μεγαλύτερο από τους χρόνους επικοινωνίας. Αυτή η ενότητα παρουσιάζει έναν πολυωνυμικό αλγόριθμο που αναπτύχθηκε από τους Colin και Chrétienne (99) που δίνει βέλτιστο schedule στην ειδική περίπτωση του P prec,p j, c jk,dup C max όταν ικανοποιείται η υπόθεση SCT. Η πλήρης απόδειξη μπορεί να βρεθεί σε εκείνη την δημοσίευση. Ένα στιγμιότυπο P αυτού του προβλήματος φαίνεται στο σχήμα. και θα χρησιμεύσει στο να δούμε πως λειτουργεί ο αλγόριθμος. J J J 6 J J 7 J 9 J J 5 J 8 Σχήμα. Πρόβλημα P Στο πρώτο βήμα ο αλγόριθμος υπολογίζει τους χρόνους αποδέσμευσης b i, J i J του χρόνου εκτέλεσης των αντιγράφων J i. Το δεύτερο βήμα καθορίζει ένα κρίσιμο επικαλύπτον δ άσος (critical spanning outforest) του γράφου προτεραιοτήτων για την κατασκευή ενός schedule στο οποίο κάθε αντίγραφο μιας διεργασίας εκτελείται στον χρόνο αποδέσμευσης του. Το πρώτο βήμα χρησιμοποιεί μια τοπολογική διάταξη των διεργασιών για να υπολογίσει τους χρόνους αποδέσμευσης b i ως εξής:, IN( i) = bi = bs + ps, IN( i) = { s} (.) max{ bs + ps, max J { },. k IN() i {} s bk + pk + cki ow

όπου J s ικανοποιεί b + p + c = max { b + p + c }. Σημειώνεται ότι η τιμή του b i δεν s s si Jk IN ( i) k k ki εξαρτάται από το ποια διεργασία J s ικανοποιεί την προηγούμενη ισότητα. Οι χρόνοι αποδέσμευσης για το πρόβλημα P φαίνονται στο σχήμα.. J i 5 6 7 8 9 b i 7 6 6 Σχήμα. Χρόνοι αποδέσμευσης για το πρόβλημα P Μια ακμή (J i,j j ) στον γράφ ο προτεραιοτήτω ν λέγεται ότι είναι κρίσιμη (ως προς τους χρόνους αποδέσμευσης b i ) αν bi + pi + cij > bj. Προφανώς, α ν σε κάποιο schedule στο οποίο τα αντίγραφα εκτελούνται στον χρόνο αποδέσμευσης τότε ένα αντίγραφο και οι προμηθευτές του πρέπει να ανατίθενται στην ίδια μηχανή αν η αντίστοιχη ακμή είναι κρίσιμη. Αφαιρώντας όλες τις μη κρίσιμες ακμές από τον γράφο G, προκύπτει ο επονομαζόμενος κρίσιμος υπογράφος του G. Στο σχήμα. φαίνεται ο κρίσιμος υπογράφος για το πρόβλημα P. J J J 6 J J 7 J 9 J J 5 J 8 Σχήμα. Ο κρίσιμος υπογράφος του P. Δεν έχει κάθε διεργασία J i κρίσιμη προσπίπτουσα ακμή. Αλλά αν η J i έχει, τότε υπάρχει μόνο μία J s που ικανοποιεί την b + p + c = max { b + p + c } που αντιστοιχεί στην ακμή s s si Jk IN ( i) k k ki (J s,j i ). Έτσι ο κρίσιμος υπογράφος είναι επικαλύπτον δάσος (spanning outforest). Το βέλτιστο (και ταχύτερο) schedule τελικά προκύπτει αναθέτοντας σε ένα επεξεργαστή κάθε κρίσιμο μονοπάτι (δηλαδή ένα μονοπάτι από ρίζα σε ένα φύλο στον κρίσιμο υπογράφο) και εκτελώντας όλες τις αντίστοιχες διεργασίες στον χρόνο αποδέσμευσής τους. Σημειώνεται ότι το πολύ n μηχανές χρησιμοποιούνται από το schedule αυτό. Το βέλτιστο schedule για το πρόβλημα P φαίνεται στο σχήμα.5. M J J J 7 M J J 5 M J J J 8 M J 6 J 9 Σχήμα.5 Το ταχύτερο schedule του P. Ο αλγόριθμος δίνει ένα τάχιστο schedule, αλλά, όπως φαίνεται και στο σχήμα.5, δεν ελαχιστοποιεί απαραίτητα και τον αριθμό τ ων επεξεργαστών. Το παράδειγμα δείχνει ότι οι διεργασίες J 6 και J 9 θα μπορ ούσαν να εκτελεστούν κάλλιστα στον επεξεργαστή M. Ωστόσο, έχει αποδειχθεί από τον Picouleau (99) ότι η ελαχιστοποίηση του αριθμού των μηχανών είναι NP-hard πρόβλημα με διατήρηση του ελάχιστου χρόνου ολοκλήρωσης.

Τέλος σημειώνεται ότι ο παραπάνω αλγόριθμος λειτουργεί και όταν για κάθε J j ο μέγιστος χρόνος επικοινωνίας των εισερχομένων ακμών του J j είναι το πολύ ίση με τον μικρότερο χρόνο εκτέλεσης των διεργασιών στο IN(j)-ηπιότερη υπόθεση από το SCT... Το P prec,dup C max πρόβλημα Αναφερόμαστε τώρα στην περίπτωση όπου οι χρόνοι επικοινωνίας μπορεί να είναι μεγαλύτερη από τους χρόνους εκτέλεσης. Οι κ.κ. Παπαδημητρίου και Γιαννακάκης (99) απέδειξαν ότι η υποπερίπτωση P prec,p j =,c >,dup C max είναι NP-hard και πρότειναν έναν εξειδικευμένο πολυωνυμικό προσεγγιστικό αλγόριθμο με approximation ratio για όλες τις περιπτώσεις. Η απόδειξη της πολυπλοκότητας καθώς και ο αλγόριθμος αξίζει να εξηγηθούν για την εμπέδωση της ιδέας της επανάληψης διεργασιών (task duplication)... Το P prec,p j =,c >,dup C max πρόβλημα Πολυπλοκότητα Σημειώνουμε ότι το πρόβλημα είναι NP αφού είναι εύκολο να δείξουμε ότι υπάρχει βέλτιστ ο schedule με χρόνο ολοκλήρωσης το πολύ n που απαιτεί το πολύ n επεξεργαστές και το πολύ n αντίγραφα. Η πολυωνυμική αναγωγή που υλοποιείται στο σχήμα.6 είναι από το πρόβλημα CLIQUE (Garey & Johnson 979). P, P, 5 P P,, t graph G, k= P5,5 B=8, C=5 task paths edge tasks P P P (,) (,) (,) (,) (,5) t P P Το schedule που αντιστοιχεί στο cliqu e Σχήμα.6 CLIQUE p P prec,p j =,c >,dup C max Έστω (G,k) ένα στιγμιότυπο του CLIQUE, όπου G = (V,E) είναι ένας μη κατευθυνόμενος γράφος (με p κόμβους και q ακμές) και k είναι ένας φυσικός αριθμός k ( q ). Το αντίστοιχο στιγμιότυπο του προβλήματος δρομολόγησης φαίνεται στο σχήμα.6. Κάθε κόμβος v του G αντιστοιχίζεται με ένα μονοπάτι P v με p διεργασίες. Κάθε ακμή e={u,v} του G αντιστοιχίζεται σε ένα "edge-task", το οποίο είναι ένας άμεσος απόγονος της τελευταίας διεργασίας από τις P u και P v. Κάθε edge-task είναι άμεσος πρόγονος μιας τελικής διεργασίας J t.

k Ο χρόνος επικοινωνίας c ορίζεται να είναι ( k ) p +. Το ζητούμενο είναι να αποφανθούμε αν η τελική διεργασία μπορεί να εκτελεστεί σε χρόνο B = kp + q ή λιγότερο. Η εναλλακτική k τιμή θ = kp + θα χρησιμοποιηθεί στην απόδειξη. Ας υποθέσουμε ότι S είναι ένα schedule που ικανοποιεί το όρια B. Έστω γ το αντίγραφο της τελικής διεργα σίας (μόνο ένα χρειάζεται) και έστω π ο επεξεργαστής που εκτελεί το γ. Οι προμηθευτές του γ (ένας για κάθε edge task) χωρίζονται στην συνέχεια σε δύο ξένα μεταξύ τους σύνολα Τ και Τ : αυτά που ολοκληρώνονται σε χρόνο θ ανήκουν στο Τ ενώ τα υπόλοιπα στο Τ. Από τον ορισμό των c και θ, κάθε αντίγραφο του Τ εκτελείται από τον π και το πολύ k q αντίγραφα ανήκουν στο Τ k αφού το γ πρέπει να ικανοποιεί το όριο B= θ + q. Ας θεωρήσουμε ένα αντίγραφο γ του Τ και έστω J (u,v) είναι το αντίστοιχο edge-task. Οι διεργασίες στα P u και Pv αποτελούν p προγόνους "μονοπατιών" ("path" ancestors) του γ. Ένα αντίγραφο καθενός από αυτούς τους προγόνους πρέπει να εκτελεστεί στον ίδιο επεξεργαστή με το γ αφού, από τον ορισμό του Τ, το αντίγραφο του γ ολοκληρώνεται σε χρόνο θ. Αυτό με την σειρά δηλώνει ότι και το γ εκτελείται στον επεξεργαστή π. Έπεται τελικά ότι ο επεξεργαστής π εκτελεί το γ, όλα τα αντίγραφα του Τ και κάθε του Τ μαζί με όλα τα path ancestors τους (Σχήμα.6). Έστω Ε το σύνολο των απολήξεων όλων των ακμών που αντιστοιχίζονται με τα αντίγραφα στο Τ και συμβολίζουμε με e το πλήθος των κόμβων στο σύνολο Ε. Επειδή το γ εκτελείται σε χρόνο Β, έπεται ότι ep + q kp + q και επομένως e k. Αφού υπάρχουν το k πολύ διεργασίες στο Τ, έχουμε e = k. Επομένως ο υπογράφος που αποτελείται από το Ε είναι clique στον G. Αντίστροφα, ας υποθέσουμε ότι ο γράφος G έχει μία clique με k κόμβους. Τότε το schedule που φαίνεται στο σχήμα.6 είναι εφικτό και ικανοποιεί το όριο Β. Φράξιμο του αριθμού των αντιγράφων Χρησιμοποιώντας δυναμικό προγραμματισμό, έχει αναπτυχθεί (Jung et. al. 99) ένας ακριβής αλγόριθμος που παρέχει βέλτιστη λύση για το P prec,p j =,c >,dup C max πρόβλημα με πολυπλοκότητα χρόνου O(n c+ ). Επιπλέον έχει αποδειχθεί ότι ένα βέλτιστο schedule ενός αυθαίρετου γράφου διεργασιών απαιτεί τουλάχιστον O(logn) επιπλέον αντίγραφα, που απαντά στο ερώτημα του ελαχίστου αριθμού αντιγράφων με εγγυημένη βελτιστότητα που τέθηκε από τους Παπαδημητρίου και Γιαννακάκη (99)... Ο προσεγγιστικός αλγόριθμος Ένας προσεγγιστικός αλγόριθμος με performance ratio αναπτύχθηκε από τους Παπαδημητρίου και Γιαννακάκη (99) για το πρόβλημα P prec,dup C max. Επιπλέον του γεγονότος ότι έχει εγγυημένη απόδοση, που είναι σπάνιο για προβλήματα scheduling με χρόνους επικοινωνίας, αυτός ο αλγόριθμος παρουσιάζει ενδιαφέρον στο πως χειρίζεται την επανάληψη διεργασιών (task duplication) και πως υπολογίζονται οι χρόνοι επικοινωνίας. Αυτό εξηγείται σε αυτήν την ενότητα. Όπως και ο ακριβής αλγόριθμος για το P prec,c ij,dup C max με την προϋπόθεση SCT (..), ο προσεγγιστικός αλγόριθμος υπολογίζει στην αρχή τον χρόνο αποδέσμευσης r i για κάθε αντίγραφο J i. Στην συνέχεια κατασκευάζει ένα schedule έτσι ώστε κάθε διεργασία J i να έχει

τουλάχιστον ένα αντίγραφο που εκτελείται σε χρόνο το πολύ r i. Σημειώνεται ότι μία διεργασία λέγεται ότι εκτελείται σε χρόνο t αν τουλάχιστον ένα από τα αντίγραφά της εκτελείται. Χρόνοι αποδέσμευσης Οι χρόνοι αποδέσμευσης υπολογίζονται ως εξής: αν υπάρχει κάποιο schedule τέτοιο στε ένα αντίγραφο γ του J k να εκτελείται την χρονική στιγμή t, τότε για κάθε διεργασία στο ώ υποσύνολο των t-κρίσιμων ( t-critical ancestors) προγόνων του J k, ένα αντίγραφο πρέπει να ανατεθεί στον ίδιο επεξεργαστής με το γ. Αν t είναι το ελάχιστο έτσι ώστε το γ και τα αντίγραφα των κρίσιμων προγόνων του να εκτελεστούν στον ίδιο επεξεργαστή και ταυτόχρονα να ικανοποιούν τους χρόνους αποδέσμευσής τους και τους περιορισμούς προτεραιότητας τότε το t είναι χρόνος αποδέσμευσης για τα αντίγραφα J k. Ο αλγόριθμος χρησιμοποιεί μια τοπολογική διάταξη των διεργασιών για τον καθορισμό του χρόνου αποδέσμευσής τους (release times). Αν IN(k) = τότε r k ισούται με. Διαφορετικά, έστω G k o υπογράφος του G που αποτελείται από του προγόνους του J k και ας υποθέσουμε ότι, εκτός του J k, οι χρόνοι για κάθε πρόγονό του ο χρόνος αποδέσμευσης έχει ήδη υπολογιστεί. Μια ακμή (J i,j j ) του G k λέγεται ότι είναι t-κρίσιμη (για δοσμένο t) αν r i + p i + c ij > t. Μια διεργασία J i του G k λέγεται t-κρίσιμη αν υπάρχει τουλάχιστον ένα μονοπάτι από J i στον J k στον G k του οποίου όλες οι ακμές είναι t-κρίσιμες. Προφανώς αν ένα αντίγραφο γ του J k εκτελείται σε χρόνο t τότε ένα αντίγραφο κάθε t-κρίσιμης διεργασίας πρέπει να εκτελεστεί στον ίδιο επεξεργαστή με την γ. Για δοσμένο t η απόφαση για το αν υπάρχει τέτοιο schedule είναι το πολυωνυμικό πρόβλημα prec,rj C max, το ελάχιστο εφικτό t μπορεί να υπολογιστεί σε πολυωνυμικό χρόνο χρησιμοποιώντας δυαδική αναζήτηση. Η ελάχιστη τιμή του t καθορίζει και το r k. Στο παράδειγμα που φαίνεται στο σχήμα.7, ας υποθέσουμε ότι ήδη γνωρίζουμε ότι είναι r = r = r =, r = και r 5 =. G 6 είναι ο υπογράφος που αποτελείται από {J,, J 6 }. Εύκολα διαπιστώνεται ότι 8 r 6. Επιλέγοντας 9 ως υποψήφια τιμή για το r6 δίνει το J 5 ως την μόνη κρίσιμη διεργασία και ένα εφικτό schedule σε μια μηχανή το {J 5, J 6 }. Δοκιμάζοντας για r 6 = 8, έχουμε δύο κρίσιμες διεργασίες J και J 5 και μη εφικτό schedule σε μια μηχανή {J, J 5,J 6 }. Επομένως το r 6 ισούται με 9. J J J J5 J6 9 J7 J r J i i Pi Σχήμα.7 Οι χρόνοι αποδέσμευσης c ij Ο προσεγγιστικός αλγόριθμος Από την στιγμή σε κάθε διεργασία έχει ανατεθεί ένας χρόνος αποδέσμευσης, ο αλγόριθμος υπολογίζει ένα schedule τα αντίγραφα του οποίου εκτελούνται όχι αργότερα από το διπλάσιο του χρόνου αποδέσμευσής τους. Έστω L μια τοπολογική λίστα με τις διεργασίες και ας υποθέσουμε ότι δίνεται ένα schedule S' που ικανοποιεί την ζητούμενη ιδιότητα για τους περιορισμούς του προβλήματος για τις διεργασίες πριν από την J k στο L.

Για να πάρουμε ένα schedule S που ικανοποιεί την ζητούμενη ιδιότητα για όλες τις διεργασίες στο L μέχρι την J k, ο αλγόριθμος χρησιμοποιεί το S' ως μερικό schedule και αναθέτει έναν επεξεργαστή π (μη απασχολημένο στο S') σε ένα αντίγραφο γ του J k και σε ένα νέο αντίγραφο από κάθε r k -κρίσιμη διεργασία. Από τον ορισμό του r k, γνωρίζουμε ότι υπάρχει schedule μιας μηχανής για την J k και ένα από κάθε r k -κρίσιμη διεργασία έτσι ώστε να ικανοποιούνται οι περιορισμοί προτεραιότητας, η διεργασία J k εκτελείται σε χρόνο t r k και κάθε r k -κρίσιμη διεργασία J i σε χρόνο t i r i. Μετασχηματίζουμε το S' στο S εκτελώντας το αντίγραφο c του J k σε χρόνο t + r k και κάθε r k -κρίσιμη διεργασία J i σε χρόνο t i + r i. Για να αποδείξουμε ότι το S είναι εφικτό, αρκεί να αποδείξουμε ότι κάθε αντίγραφο που εκτελείται από τον π μπορεί να έχει προμηθευτές. Έστω το αντίγραφο d της r k -κρίσιμης διεργασίας J j (ή το αντίγραφο c) και έστω (J i,j j ) G. Αν η (J i,j j ) είναι r k -κρίσιμη τότε και η J i είναι επίσης και ο προμηθευτής της d ορίζονται ως το αντίγραφο της J i που εκτελείται στο π. Ας υποθέσουμε τώρα ότι η (J i,j j ) δεν είναι r k -κρίσιμη τότε ο προμηθευτής της d ορίζονται ως το αντίγραφο της J i που εκτελείται στο S' σε θ r i. Αφού η (J i,j j ) δεν είναι r k -κρίσιμη, έχουμε ri + pi + cij rk. Επομένως θ+p i+c ij είναι το πολύ ri + rk, το οποίο είναι μικρότερο από rj+ rk, το οποίο είναι μικρότερο από tj+ rk, ο χρόνος στον οποίο εκτελείται το d στον π. Σημείωση: Μπορεί να αποδειχθεί, ότι, όταν εφαρμόζεται στο πρόβλημα P prec, p j,c jk,dup C max με την προϋπόθεση SCT, αυτός ο προσεγγιστικός αλγόριθμος και ο ακριβείς αλγόριθμος που παρουσιάστηκε στην ενότητα.. δίνουν το ίδιο (βέλτιστο) schedule.