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

Σχετικά έγγραφα
Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Κεφάλαιο 3. Διδακτικοί Στόχοι

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης

Λειτουργικά Συστήματα (Λ/Σ)

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Κτίρια nζεβ και προσομοίωση με την χρήση του energy+

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Λειτουργικά συστήματα πραγματικού χρόνου

Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Διαφορές single-processor αρχιτεκτονικών και SoCs

Κεφάλαιο 4: Λογισμικό Συστήματος

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

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

Περίληψη Λαμπρόπουλος

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

Κεφάλαιο 1 : Εισαγωγή

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης

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

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Δρομολόγηση σε σύστημα ενός επεξεργαστή

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

Εγγυημένη ποιότητα υπηρεσίας

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή εργασία Η ΚΑΤΑΘΛΙΨΗ ΣΕ ΕΦΗΒΟΥΣ ΜΕ ΣΑΚΧΑΡΩΔΗ ΔΙΑΒΗΤΗ ΤΥΠΟΥ 1

Μεταπτυχιακή εργασία

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

Σκελετός Παρουσίασης

Περίληψη Διδακτορικής Διατριβής ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πανεπιστήμιο Αιγαίου. Τμήμα Περιβάλλοντος. Ευστράτιος Γιαννούλης

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

Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1

Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ενότητα 13: QoS Policy, Παραδείγματα QoS, Επισκόπηση μαθήματος Φώτης Βαρζιώτης

«Αξιολόγηση ατόμων με αφασία για Επαυξητική και Εναλλακτική Επικοινωνία, σύμφωνα με το μοντέλο συμμετοχής»

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Λειτουργικά Συστήματα Η/Υ

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

Ειδικά Θέματα Δικτύων Ι

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΟΛΙΣΘΗΡΟΤΗΤΑ ΚΑΙ ΜΑΚΡΟΥΦΗ ΤΩΝ ΟΔΟΔΤΡΩΜΑΤΩΝ ΚΥΚΛΟΦΟΡΙΑΣ

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Διοίκηση Παραγωγής και Υπηρεσιών

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

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

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΕΤΟΙΜΑΣΙΑ ΔΕΛΤΙΟΥ ΠΟΣΟΤΗΤΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ

13543/17 ΜΑΠ/σα/ΣΙΚ 1 DG G 3 B

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

Λειτουργικά Συστήματα

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Σχολή Μηχανικής και Τεχνολογίας. Πτυχιακή διατριβή

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Πτυχιακή διατριβή. Η επίδραση της τασιενεργής ουσίας Ακεταλδεΰδης στη δημιουργία πυρήνων συμπύκνωσης νεφών (CCN) στην ατμόσφαιρα

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

Search and Replication in Unstructured Peer-to-Peer Networks

Εργαστήριο Διοίκησης Παραγωγής & Έργων. Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend

Αδιέξοδα (Deadlocks)

Σχεδιασμός Οικολογικού Διαμεσολαβητή για την εποπτεία και διαχείριση δικτύου διανομής ηλεκτρικής ενέργειας

ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΓΩΝ

ΠΕΡΙΛΗΨΗ Δ.Δ ΔΗΜΗΣΡΑΚΟΠΟΤΛΟ

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Σχολή Διοίκησης και Οικονομίας. Μεταπτυχιακή διατριβή

Λειτουργικά Συστήματα

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

þÿ ¹µ ½  ±À±³É³ À±¹ ¹Î½ º±Ä þÿ ͼ²±Ã Ä Â ³ Â Ä Å

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης)

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

7.9 ροµολόγηση. Ερωτήσεις

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΔΙΚΤΥΑ Η/Υ ΙΙ. Αρχές δρομολόγησης

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Λειτουργικά Συστήματα Η/Υ

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή Εργασία

Ιχνηλασιμότητα η τροφίμων φμ με ανοικτό διαδικτυακό σύστημα:

ΕΘΝΙΚΗ ΣΧΟΛΗ ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

Εισαγωγή στην Πληροφορική

Transcript:

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

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

ΠΑΠΑΖΑΧΟΣ ΖΑΦΕΙΡΙΟΣ Α.Π.Θ. 2011 Η έγκριση της διδακτορικής διατριβής από το Τμήμα Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης δεν υποδηλώνει αποδοχή των απόψεων του συγγραφέα (Ν.5343/1932 αρ. 202 παρ.2).

Στους γονείς μου Χρήστο και Αντωνία, στην αδερφή μου Ευθυμία

1 Ευχαριστίες Σε αυτό το σημείο της διατριβής θα ήθελα να ευχαριστήσω τους ανθρώπους που συνέβαλαν στην εκπόνησή της. Η παρούσα διατριβή είναι αποτέλεσμα της συνεχούς έρευνας και στενής συνεργασίας επί σειρά ετών με την επιβλέπουσα καθηγήτρια και τα μέλη της συμβουλευτικής επιτροπής. Θα ήθελα να εκφράσω τις θερμές ευχαριστίες μου προς την επιβλέπουσα καθηγήτρια κ. Ελένη Καρατζά για την αμέριστη εμπιστοσύνη, την πολύτιμη καθοδήγηση και τις παροτρύνσεις που μου έδωσαν την απαραίτητη ώθηση στην πρόοδο της εργασίας. Επίσης, θέλω να ευχαριστήσω τα μέλη της τριμελούς επιτροπής καθηγητή κ. Ανδρέα Πομπόρτση και αναπληρωτή καθηγητή κ. Γεώργιο Παπαδημητρίου για τις χρήσιμες συμβουλές τους, την ενθάρρυνσή τους και τις πολύτιμες γνώσεις που μου προσέφεραν. Θέλω επίσης να ευχαριστήσω τους γονείς μου Χρήστο και Αντωνία για τις θυσίες που έχουν κάνει για μένα και για τη διαρκή υποστήριξή τους σε όλες μου τις προσπάθειες. Ένα μεγάλο ευχαριστώ αξίζει και στην αδερφή μου Ευθυμία για τη συμπαράσταση που μου προσέφερε σε κάθε δυσκολία. Ζαφείριος Παπαζάχος, Θεσσαλονίκη, 2011

2

3 Περίληψη Οι ανάγκες σε υπολογιστική ισχύ των σύγχρονων εφαρμογών έχουν αυξηθεί κατά πολύ σε σχέση με τα παρελθόν. Η κάλυψη των αναγκών με τους υπάρχοντες πόρους έγινε εφικτή συλλέγοντας τους διαθέσιμους πόρους και οργανώνοντας τους κατάλληλα. Ένα σύστημα πλέγματος αποτελείται από ένα σύνολο διαμοιραζόμενων πόρων που δεν υπόκεινται σε κεντρικό έλεγχο, χρησιμοποιεί γενικού σκοπού πρωτόκολλα και προσφέρει σημαντικές υπηρεσίες στους χρήστες. Για την αποτελεσματικότερη αξιοποίηση ενός συστήματος πλέγματος καθίσταται επιτακτική η ανάπτυξη αποδοτικών πολιτικών χρονοδρομολόγησης. Το αντικείμενο που πραγματεύεται η παρούσα διατριβή είναι η αποτίμηση της απόδοσης πολιτικών χρονοδρομολόγησης παράλληλων εργασιών σε συστήματα πλέγματος. Η απόδοση των πολιτικών μελετάται με τη χρήση μοντέλων προσομοίωσης. Οι ιδιαιτερότητες του φόρτου εργασίας είναι καθοριστικές για την απόδοση του συστήματος. Το σύστημα πρέπει να είναι εφοδιασμένο με τεχνικές και αλγορίθμους που θα του παρέχουν την κατάλληλη ευελιξία ώστε να αντιμετωπίσει όλες τις πιθανές καταστάσεις. Για το λόγο αυτό εξετάζουμε την απόδοση στην περίπτωση που στο φόρτο έχουμε δέσμες παράλληλων εργασιών τύπου ομάδας και χρησιμοποιούμε τεχνικές μεταναστεύσεων για την εξισορρόπηση του φόρτου σε ετερογενές σύστημα πλέγματος. Σε ένα σύστημα πλέγματος που εξυπηρετεί παράλληλες εργασίες τύπου ομάδας παρουσιάζεται έντονα το φαινόμενο της κατάτμησης. Προτείνουμε μια τεχνική μεταναστεύσεων για την επίλυση αυτού του φαινομένου και για τη βελτίωση της απόδοσης την οποία εξετάζουμε κάτω από διάφορες συνθήκες φόρτου εργασίας. Μελετάμε τον τρόπο με τον οποίο μπορεί η τεχνική των μεταναστεύσεων να διαχειριστεί την άφιξη κρίσιμων εργασιών που εμφανίζονται σποραδικά και επίσης εξετάζουμε την επίδραση της μεταβλητότητας του χρόνου εκτέλεσης στη χρονοδρομολόγηση των παράλληλων εργασιών τύπου ομάδας.

4 Η εξισορρόπηση του φόρτου στο σύστημα είναι πολύ σημαντικός παράγοντας που συμβάλλει στη ομαλή λειτουργία και τη βελτίωση της απόδοσης. Εξετάζουμε ένα νέο δρομολογητή εργασιών σε επίπεδο πλέγματος που υποστηρίζει περιοδική ανάδραση με το σύστημα. Στόχος του αλγορίθμου περιοδικής ανάδρασης είναι η εξισορρόπηση του φόρτου μεταξύ των διαθέσιμων συστοιχιών. Ο αλγόριθμος που εξετάζουμε θεωρείται κατάλληλος για τη δρομολόγηση παράλληλων εργασιών. Στην παρούσα διατριβή αναλύουμε επίσης το μοντέλο φόρτου παράλληλων εργασιών τύπου ομάδας με περιορισμούς προτεραιοτήτων. Εξετάζουμε την περίπτωση που μία παράλληλη εργασία μπορεί να δημιουργηθεί δυναμικά στο σύστημα βάσει εξαρτήσεων με το περιεχόμενο της λανθάνουσας μνήμης (cache) από προηγούμενες εκτελεσθείσες εργασίες. Μελετάμε την απόδοση διαφορετικών πολιτικών χρονοδρομολόγησης που αφορούν το νέο μοντέλο εργασιών κάτω από διάφορες συνθήκες φόρτου. Ένα ακόμη θέμα που μας απασχολεί είναι η χρονοδρομολόγηση παράλληλων εργασιών τύπου ομάδας σε συστοιχίες πολυπύρηνων επεξεργαστών. Επιλέγουμε μία τεχνική μεταναστεύσεων κατάλληλη για αυτή την περίπτωση και τροποποιούμε κατάλληλα τις υπάρχουσες πολιτικές χρονοδρομολόγησης για την εξυπηρέτηση παράλληλων εργασιών τύπου ομάδας σε πολυπύρηνες ομοιογενείς και ετερογενείς συστοιχίες. Επίσης, εξετάζουμε τα οφέλη και τη διαφορά στην απόδοση μεταξύ των αλγορίθμων για πολυπύρηνες συστοιχίες και των εναλλακτικών αλγορίθμων για μονοπύρηνες συστοιχίες. Τέλος, ασχοληθήκαμε και με την περίπτωση της ετερογένειας των πολυπύρηνων συστοιχιών και παρουσιάζουμε τον αντίκτυπο που έχει στην απόδοση των πολιτικών που εφαρμόζουμε. Συνοψίζοντας, η συνεισφορά της διατριβής έγκειται στην ανάπτυξη νέων πολιτικών χρονοδρομολόγησης παράλληλων εργασιών για καλύτερη αξιοποίηση των διαθέσιμων πόρων στην περίπτωση των συστημάτων πλέγματος. Προτείνονται και εξετάζονται διεξοδικά διάφορες τεχνικές όπως αλγόριθμοι με ανάδραση από το σύστημα, τεχνικές μεταναστεύσεων εργασιών καθώς και περίπλοκες περιπτώσεις μοντέλων εργασιών όπως δέσμες παράλληλων εργασιών τύπου ομάδας, εργασίες με περιορισμούς προτεραιότητας και κρίσιμες εργασίες. Επίσης, μελετήσαμε το θέμα της

5 εξισορρόπησης φόρτου σε συστήματα πλέγματος και προτείνουμε νέους αλγορίθμους χρονοδρομολόγησης που κάνουν ομαλότερη τη μετάβαση σε συστήματα συστοιχιών πολυπύρηνων επεξεργαστών.

6

7 Abstract The demand for computing resources of modern applications has been increased significantly as compared to the past. Meeting the modern demands with existing resources has become feasible by organizing the available resources appropriately and sharing them. A grid system coordinates resources that are not subject to centralized control using general-purpose protocols to deliver non-trivial qualities of service. The development of efficient scheduling algorithms is required in order to efficiently utilize grid systems. The main subject of this thesis is the performance evaluation of parallel job scheduling policies in grid systems by means of simulation models. The workload characteristics are responsible for the performance of the system. Therefore, the system must implement the necessary algorithms and techniques that will provide adequate flexibility to cope with all possible situations. For this reason we examine the performance in the case of workload which comprises Bags of Gangs. We also utilize a migration schema to balance the load in the heterogeneous system. Fragmentation is a situation which frequently occurs in the case of gang scheduling in systems. We suggest a migration technique which alleviates this problem and improves the system performance drastically. We examine this technique under various workloads. We consider the presence of critical sporadic jobs and we also examine the impact of the variability in gangs service time on the scheduling performance. Load balancing plays a significant role on the overall system performance. We examine a new grid scheduler which implements periodic feedback. The goal of this scheduler is to evenly distribute the load across the available clusters. The scheduler is considered suitable for gang scheduling. This thesis also analyses a workload model which comprises gangs with precedence constraints. In this case a subsequent gang can be dynamically generated in the system after the execution of the initial gang based on affinity information which

8 resides in the caches of the previously seized processors. Different gang scheduling policies are examined under the new workload model. Another interesting topic which we consider in this study is the scheduling of gangs in multi-core clusters. We modify the gang scheduling policies and make them suitable for homogeneous and heterogeneous multi-core clusters. Furthermore, we provide a migration schema which is suitable for scheduling gangs in multi-core clusters. We investigate the benefits and differences between the performance of singlecore algorithms and their multi-core counterparts. Finally, we deal with the case of heterogeneous multi-core clusters and present the impact on the performance of our policies. To sum up, the main contribution of this thesis is the development of new scheduling algorithms for parallel jobs in order to improve the performance of grid systems. The suggested scheduling algorithms allow for better resource utilization and have a significant impact on grid systems performance. We achieve this by implementing various techniques such as improved grid scheduling algorithms with periodic feedback and new migration schemas. We also consider and examine complicated workload models which include Bags of Gangs, gangs with precedence constraints and critical jobs. Finally, we suggest new gang scheduling and load balancing algorithms for multi-core clusters.

9 Δημοσιεύσεις Στα πλαίσια του διδακτορικού δημοσιεύτηκαν οι παρακάτω εργασίες: Εργασίες σε διεθνή επιστημονικά περιοδικά: Z. Papazachos and H. Karatza, The Impact of Task Service Time Variability on Gang Scheduling Performance in a Two-Cluster System, Simulation Modelling Practice and Theory, Elsevier, Volume 17, Issue 7, August 2009, pp. 1276-1289. Z. Papazachos and H. Karatza, Performance Evaluation of Bag of Gangs Scheduling in a Heterogeneous Distributed System, Journal of Systems and Software, Volume 83, Issue 8, August 2010, pp. 1346-1354. Z. Papazachos and H. Karatza, Gang Scheduling in a Two-Cluster System Implementing Migrations and Periodic Feedback, Simulation: Transactions of the Society for Modeling and Simulation International, Sage Publications, 2010, doi:10.1177/0037549710371218. Z. Papazachos and H. Karatza, Scheduling of Frequently Communicating Tasks, International Journal of Communication Systems, Wiley, in Press, doi:10.1002/dac.1260. Z. Papazachos and H. Karatza, Gang Scheduling in Multi-Core Clusters Implementing Migrations, Future Generation Computer Systems, Elsevier, in Press, doi:10.1016/j.future.2011.02.010.

10 Εργασίες σε επιστημονικά συνέδρια Z. Papazachos and H. Karatza, Gang Scheduling in a Two-Cluster System with Critical Sporadic Jobs and Migrations, Proceedings of the 2009 International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS 2009), Istanbul, Turkey, 13-16 July, 2009, pp. 41-48. Z. Papazachos and H. Karatza, Scheduling Gangs with Different Distributions in Gangs degree of Parallelism in a Multi-Site System, Proceedings of the 4th Balkan Conference in Informatics, IEEE CPS, Thessaloniki, Greece, September 17th-19th, 2009, pp. 121-126. Z. Papazachos and H. Karatza, Performance Evaluation of Gang Scheduling in a Two-Cluster System with Migrations, Proceedings of the 8th International Workshop on Performance Modeling, Evaluation, and Optimization of Ubiquitous Computing and Network Systems (PMEO-UCNS 2009) in conjunction with IEEE International Parallel & Distributed Processing Symposium (IPDPS), Rome, Italy, May 25-29, 2009, pp. 1-8. Z. Papazachos and H. Karatza, "Gang Scheduling with Precedence Constraints", Proceedings of the 2010 International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS 2010), Ottawa, Canada, July, 2010, pp. 11-14.

11 Περιεχόμενα 1. ΕΙΣΑΓΩΓΗ... 23 1.1 ΥΠΟΛΟΓΙΣΤΙΚΑ ΠΛΕΓΜΑΤΑ... 24 1.2 ΤΥΠΟΙ ΠΑΡΑΛΛΗΛΩΝ ΕΡΓΑΣΙΩΝ... 25 1.3 ΠΑΡΑΛΛΗΛΕΣ ΕΡΓΑΣΙΕΣ ΤΥΠΟΥ ΟΜΑΔΑΣ... 26 1.4 ΜΕΤΑΝΑΣΤΕΥΣΗ ΔΙΕΡΓΑΣΙΩΝ... 27 1.5 ΣΥΝΕΙΣΦΟΡΑ ΤΗΣ ΔΙΑΤΡΙΒΗΣ... 29 1.6 ΔΟΜΗ ΤΗΣ ΔΙΑΤΡΙΒΗΣ... 31 2. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΔΕΣΜΩΝ ΠΑΡΑΛΛΗΛΩΝ ΕΡΓΑΣΙΩΝ ΤΥΠΟΥ ΟΜΑΔΑΣ... 33 2.1 ΕΙΣΑΓΩΓΗ... 33 2.2 ΣΥΣΤΗΜΑ ΔΕΣΜΗΣ ΠΑΡΑΛΛΗΛΩΝ ΕΡΓΑΣΙΩΝ ΤΥΠΟΥ ΟΜΑΔΑΣ... 34 2.3 ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΦΟΡΤΟΥ ΜΕ ΔΕΣΜΕΣ ΠΑΡΑΛΛΗΛΩΝ ΕΡΓΑΣΙΩΝ ΤΥΠΟΥ ΟΜΑΔΑΣ... 35 2.3.1 Ετερογένεια συστήματος πλέγματος... 36 2.3.2 Μοντέλο φόρτου εργασίας με δέσμες παράλληλων εργασιών τύπου ομάδας... 37 2.4 ΠΟΛΙΤΙΚΕΣ ΔΡΟΜΟΛΟΓΗΣΗΣ ΕΡΓΑΣΙΩΝ ΣΤΟ ΣΥΣΤΗΜΑ... 39 2.4.1 Δρομολόγηση των BoGs... 39 2.4.2 Δρομολόγηση των κρίσιμων εργασιών... 41 2.5 ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΠΑΡΑΛΛΗΛΩΝ ΕΡΓΑΣΙΩΝ ΤΥΠΟΥ ΟΜΑΔΑΣ... 42 2.5.1 Adapted First Come First Served (AFCFS)... 42 2.5.2 Largest Gang First Served (LGFS)... 43 2.5.3 Μεταναστεύσεις διεργασιών... 44 2.6 ΑΠΟΤΙΜΗΣΗ ΤΗΣ ΑΠΟΔΟΣΗΣ... 47 2.6.1 Μετρικές απόδοσης... 47 2.6.2 Παράμετροι εισόδου... 49 2.6.3 Αποτελέσματα προσομοίωσης και ανάλυση... 50 2.7 ΣΥΜΠΕΡΑΣΜΑΤΑ... 59 3. Η ΕΠΙΔΡΑΣΗ ΤΗΣ ΜΕΤΑΒΛΗΤΟΤΗΤΑΣ ΤΟΥ ΧΡΟΝΟΥ ΕΚΤΕΛΕΣΗΣ ΣΤΗ ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΠΑΡΑΛΛΗΛΩΝ ΕΡΓΑΣΙΩΝ... 61 3.1 ΕΙΣΑΓΩΓΗ... 61 3.2 ΜΟΝΤΕΛΟ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΠΟΛΙΤΙΚΕΣ... 63 3.2.1 Μοντέλο συστήματος και φόρτου εργασίας... 63 3.2.2 Πολιτικές... 65 3.3 ΜΕΤΡΙΚΕΣ ΑΠΟΔΟΣΗΣ... 66 3.4 ΠΑΡΑΜΕΤΡΟΙ ΕΙΣΟΔΟΥ... 68 3.5 ΑΝΑΛΥΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΠΡΟΣΟΜΟΙΩΣΗΣ... 69 3.5.1 Ανάλυση αποτελεσμάτων σε σχέση με το μέσο χρόνο απόκρισης και τη μέση χρησιμοποίηση... 70 3.5.2 Ανάλυση αποτελεσμάτων σε σχέση με το μέσο σταθμισμένο χρόνο απόκρισης... 75

12 3.5.3 Ανάλυση αποτελεσμάτων σε σχέση με τη μέση επιβράδυνση και τη μέση σταθμισμένη επιβράδυνση...79 3.6 ΣΥΜΠΕΡΑΣΜΑΤΑ...82 4. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΠΑΡΑΛΛΗΛΩΝ ΕΡΓΑΣΙΩΝ ΣΕ ΣΥΣΤΗΜΑΤΑ ΠΛΕΓΜΑΤΟΣ ΜΕ ΧΡΗΣΗ ΠΕΡΙΟΔΙΚΗΣ ΑΝΑΔΡΑΣΗΣ...85 4.1 ΕΙΣΑΓΩΓΗ...85 4.2 ΜΟΝΤΕΛΟ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΦΟΡΤΟΥ ΕΡΓΑΣΙΑΣ...87 4.3 ΠΟΛΙΤΙΚΕΣ ΔΡΟΜΟΛΟΓΗΣΗΣ ΕΡΓΑΣΙΩΝ...88 4.3.1 Διανομέας σε επίπεδο πλέγματος...88 4.3.2 Τοπικός διανομέας...89 4.4 ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΠΑΡΑΛΛΗΛΩΝ ΕΡΓΑΣΙΩΝ ΤΥΠΟΥ ΟΜΑΔΑΣ...90 4.5 ΑΠΟΤΙΜΗΣΗ ΤΗΣ ΑΠΟΔΟΣΗΣ...91 4.5.1 Ανάλυση αποτελεσμάτων προσομοίωσης...94 4.6 ΣΥΜΠΕΡΑΣΜΑΤΑ...104 5. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΠΑΡΑΛΛΗΛΩΝ ΕΡΓΑΣΙΩΝ ΜΕ ΠΕΡΙΟΡΙΣΜΟΥΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ...105 5.1 ΕΙΣΑΓΩΓΗ...105 5.2 ΜΟΝΤΕΛΟ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΦΟΡΤΟΥ...107 5.3 ΠΟΛΙΤΙΚΕΣ...110 5.3.1 Δρομολόγηση εργασιών...110 5.3.2 Χρονοδρομολόγηση παράλληλων εργασιών τύπου ομάδας...110 5.4 ΜΕΤΡΙΚΕΣ ΑΠΟΔΟΣΗΣ...111 5.5 ΠΑΡΑΜΕΤΡΟΙ ΕΙΣΟΔΟΥ...112 5.6 ΑΝΑΛΥΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ...113 5.6.1 Ανάλυση αποτελεσμάτων σε σχέση με το μέσο χρόνο απόκρισης...114 5.6.2 Ανάλυση αποτελεσμάτων σε σχέση με το μέσο σταθμισμένο χρόνο απόκρισης...119 5.6.3 Ανάλυση αποτελεσμάτων σε σχέση με το MRT ratio...124 5.7 ΣΥΜΠΕΡΑΣΜΑΤΑ...126 6. ΠΟΛΙΤΙΚΕΣ ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗΣ ΠΑΡΑΛΛΗΛΩΝ ΕΡΓΑΣΙΩΝ ΣΕ ΣΥΣΤΟΙΧΙΕΣ ΠΟΛΥΠΥΡΗΝΩΝ ΕΠΕΞΕΡΓΑΣΤΩΝ...127 6.1 ΕΙΣΑΓΩΓΗ...127 6.2 ΜΟΝΤΕΛΟ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΦΟΡΤΟΥ ΕΡΓΑΣΙΑΣ...130 6.2.1 Μοντέλο ομοιογενούς συστοιχίας πολυπύρηνων επεξεργαστών...130 6.2.2 Μοντέλο ετερογενούς συστοιχίας πολυπύρηνων επεξεργαστών...130 6.2.3 Σύστημα πλέγματος με μονοπύρηνους επεξεργαστές επεξεργαστών...130 6.2.4 Φόρτος εργασίας...131 6.3 ΠΟΛΙΤΙΚΕΣ...133 6.3.1 Δρομολόγηση εργασιών...133 6.3.2 Χρονοδρομολόγηση παράλληλων εργασιών τύπου ομάδας...133 6.3.3 Μεταναστεύσεις διεργασιών...135 6.4 ΜΕΤΡΙΚΕΣ ΑΠΟΔΟΣΗΣ ΚΑΙ ΠΑΡΑΜΕΤΡΟΙ ΕΙΣΟΔΟΥ...136 6.4 ΑΝΑΛΥΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ...139 6.4.1 Ανάλυση αποτελεσμάτων ως προς το μέσο χρόνο απόκρισης...139 6.4.2 Ανάλυση αποτελεσμάτων ως προς το μέσο σταθμισμένο χρόνο απόκρισης...147

13 6.4.3 Ανάλυση αποτελεσμάτων ως προς τη μέση επιβράδυνση και τη μέση σταθμισμένη επιβράδυνση... 153 6.5 ΣΥΜΠΕΡΑΣΜΑΤΑ... 162 7. ΣΥΝΟΨΗ, ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΕΡΑΙΤΕΡΩ ΕΡΕΥΝΑ... 163 7.1 ΣΥΜΠΕΡΑΣΜΑΤΑ... 164 7.2 ΜΕΛΛΟΝΤΙΚΗ ΕΡΕΥΝΑ... 166 ΒΙΒΛΙΟΓΡΑΦΙΑ... 169

14

15 Κατάλογος σχημάτων Σχήμα 2.1: Μοντέλο συστήματος ουρών.... 36 Σχήμα 2.2: Μοντέλο παράλληλης εργασίας τύπου ομάδας με N διεργασίες... 38 Σχήμα 2.3: Μοντέλο δέσμης με n παράλληλες εργασίες τύπου ομάδας... 39 Σχήμα 2.4: Ο αλγόριθμος JSQ... 41 Σχήμα 2.5: Η πολιτική AFCFS... 43 Σχήμα 2.6: Η πολιτική LGFS... 44 Σχήμα 2.7: RT ως προς λ 1... 54 Σχήμα 2.8.a: D RT όταν εφαρμόζεται η AFCFSwM αντί της AFCFS... 55 Σχήμα 2.8.b: D RT όταν εφαρμόζεται η LGFSwM αντί της LGFS... 55 Σχήμα 2.8.c: D RT όταν εφαρμόζεται η LGFS αντί της AFCFS... 56 Σχήμα 2.9: WRT ως προς λ 1... 57 Σχήμα 2.10.a: D WRT όταν εφαρμόζεται η AFCFSwM αντί της AFCFS... 58 Σχήμα 2.10.b: D WRT όταν εφαρμόζεται η LGFSwM αντί της LGFS... 58 Σχήμα 2.10.c: D RT όταν εφαρμόζεται η LGFS αντί της AFCFS... 59 Σχήμα 3.1: Μοντέλο συστήματος... 64 Σχήμα 3.2a: RT ως προς λ 1, CV = 1... 71 Σχήμα 3.2b: RT ως προς λ 1, CV = 1.5... 71 Σχήμα 3.2c: RT ως προς λ 1, CV = 2... 72 Σχήμα 3.3a: D RT ως προς λ 1, CV = 1... 73 Σχήμα 3.3b: D RT ως προς λ 1, CV = 1.5... 74

16 Σχήμα 3.3c: D RT ως προς λ 1, CV = 2...74 Σχήμα 3.4a: WRT ως προς λ 1, CV = 1...76 Σχήμα 3.4b: WRT ως προς λ 1, CV = 1.5...76 Σχήμα 3.4c: WRT ως προς λ 1, CV = 2...77 Σχήμα 3.5a: D WRT ως προς λ 1, CV = 1...77 Σχήμα 3.5b: D WRT ως προς λ 1, CV = 1.5...78 Σχήμα 3.5c: D WRT ως προς λ 1, CV = 2...78 Σχήμα 3.6a: D SLD ως προς λ 1, CV = 1...79 Σχήμα 3.6b: D SLD ως προς λ 1, CV = 1.5...80 Σχήμα 3.6c: D SLD ως προς λ 1, CV = 2...80 Σχήμα 3.7a: D WSLD ως προς λ 1, CV = 1...81 Σχήμα 3.7b: D WSLD ως προς λ 1, CV = 1.5...81 Σχήμα 3.7c: D WSLD ως προς λ 1, CV = 2...82 Σχήμα 4.1: Μοντέλο συστήματος ουρών...88 Σχήμα 4.2: Διανομέας εργασιών σε επίπεδο πλέγματος με περιοδική ανάδραση...90 Σχήμα 4.3a: RT ως προς λ 1, 1/λ 2 = 10...96 Σχήμα 4.3b: RT ως προς λ 1,1/λ 2 = 5...97 Σχήμα 4.4a: D RT ως προς λ 1, 1/λ 2 = 10...98 Σχήμα 4.4b: D RT ως προς λ 1, 1/λ 2 = 5...98 Σχήμα 4.5a: WRT ως προς λ 1, 1/λ 2 = 10...99 Σχήμα 4.5b: WRT ως προς λ 1, 1/λ 2 = 5...100 Σχήμα 4.6a: D WRT ως προς λ 1, 1/λ 2 = 10...100 Σχήμα 4.6b: D WRT ως προς λ 1, 1/λ 2 = 5...101

17 Σχήμα 4.7a: D SLD ως προς λ 1, 1/λ 2 = 10... 102 Σχήμα 4.7b: D SLD ως προς λ 1, 1/λ 2 = 5... 102 Σχήμα 4.8a: D WSLD ως προς λ 1, 1/λ 2 = 10... 103 Σχήμα 4.8b: D WSLD ως προς λ 1, 1/λ 2 = 5... 103 Σχήμα 5.1: Μοντέλο συστήματος... 107 Σχήμα 5.2: Ανεξάρτητη παράλληλη εργασία τύπου ομάδας... 108 Σχήμα 5.3: Παράλληλες εργασίες τύπου ομάδας με περιορισμούς προτεραιότητας... 109 Σχήμα 5.4a: RT ως προς λ, Q = 10%.... 115 Σχήμα 5.4b: RT ως προς λ, Q = 20%... 116 Σχήμα 5.4c: RT ως προς λ, Q = 30%.... 116 Σχήμα 5.4d: RT ως προς λ, Q = 40%... 117 Σχήμα 5.5a: D RT ως προς λ, Q = 10%.... 117 Σχήμα 5.5b: D RT ως προς λ, Q = 20%.... 118 Σχήμα 5.5c: D RT ως προς λ, Q = 30%.... 118 Σχήμα 5.5d: D RT ως προς λ, Q = 40%.... 119 Σχήμα 5.6a: WRT ως προς λ, Q = 10%... 120 Σχήμα 5.6b: WRT ως προς λ, Q = 20%.... 120 Σχήμα 5.6c: WRT ως προς λ, Q = 30%... 121 Σχήμα 5.6d: WRT ως προς λ, Q = 40%.... 121 Σχήμα 5.7a: D WRT ως προς λ, Q = 10%... 122 Σχήμα 5.7b: D WRT ως προς λ, Q = 20%... 122 Σχήμα 5.7c: D WRT ως προς λ, Q = 30%... 123 Σχήμα 5.7d: D WRT ως προς λ, Q = 40%... 123

18 Σχήμα 5.8a: MRT ratio ως προς λ, Q = 10%...124 Σχήμα 5.8b: MRT ratio ως προς λ, Q = 20%...125 Σχήμα 5.8c: MRT ratio ως προς λ, Q = 30%...125 Σχήμα 5.8d: MRT ratio ως προς λ, Q = 40%...126 Σχήμα 6.1: Ομοιογενής συστοιχία πολυπύρηνων επεξεργαστών...131 Σχήμα 6.2: Ετερογενής συστοιχία πολυπύρηνων επεξεργαστών....132 Σχήμα 6.3: Σύστημα πλέγματος με μονοπύρηνους επεξεργαστές...132 Σχήμα 6.4: Παράλληλη εργασία τύπου ομάδας...133 Σχήμα 6.5a: RT ως προς λ, μονοπύρηνο σύστημα...142 Σχήμα 6.5b: RT ως προς λ, πολυπύρηνο σύστημα...143 Σχήμα 6.5c: RT ως προς λ, ετερογενές σύστημα...143 Σχήμα 6.6a: D RT όταν εφαρμόζονται μεταναστεύσεις στο μονοπύρηνο σύστημα...144 Σχήμα 6.6b: D RT όταν εφαρμόζονται μεταναστεύσεις στο πολυπύρηνο σύστημα...144 Σχήμα 6.6c: D RT όταν εφαρμόζονται μεταναστεύσεις στο ετερογενές σύστημα...145 Σχήμα 6.6d: D RT όταν εφαρμόζεται η LGFS αντί της AFCFS (μονοπύρηνο σύστημα)...145 Σχήμα 6.6e: D RT όταν εφαρμόζεται η LGFS αντί της AFCFS (πολυπύρηνο σύστημα)...146 Σχήμα 6.6f: D RT όταν εφαρμόζεται η LGFS αντί της AFCFS (ετερογενές σύστημα).146 Σχήμα 6.6g: D RT όταν το πολυπύρηνο σύστημα συγκρίνεται με το μονοπύρηνο σύστημα...147 Σχήμα 6.7a: WRT ως προς λ, μονοπύρηνο σύστημα...148 Σχήμα 6.7b: WRT ως προς λ, πολυπύρηνο σύστημα...149 Σχήμα 6.7c: WRT ως προς λ, ετερογενές σύστημα...149 Σχήμα 6.8a: D WRT όταν εφαρμόζονται μεταναστεύσεις στο μονοπύρηνο σύστημα...150

19 Σχήμα 6.8b: D WRT όταν εφαρμόζονται μεταναστεύσεις στο πολυπύρηνο σύστημα... 150 Σχήμα 6.8c: D WRT όταν εφαρμόζονται μεταναστεύσεις στο ετερογενές σύστημα... 151 Σχήμα 6.8d: D WRT όταν εφαρμόζεται η LGFS αντί της AFCFS (μονοπύρηνο σύστημα)... 151 Σχήμα 6.8e: D WRT όταν εφαρμόζεται η LGFS αντί της AFCFS (πολυπύρηνο σύστημα)... 152 Σχήμα 6.8f: D WRT όταν εφαρμόζεται η LGFS αντί της AFCFS (ετερογενές σύστημα)... 152 Σχήμα 6.8g: D WRT όταν το πολυπύρηνο σύστημα συγκρίνεται με το μονοπύρηνο... 153 Σχήμα 6.9a: D SLD όταν το πολυπύρηνο σύστημα συγκρίνεται με το μονοπύρηνο... 155 Σχήμα 6.9b: D SLD όταν εφαρμόζονται μεταναστεύσεις στο μονοπύρηνο σύστημα... 155 Σχήμα 6.9c: D SLD όταν εφαρμόζονται μεταναστεύσεις στο πολυπύρηνο σύστημα... 156 Σχήμα 6.9d: D SLD όταν εφαρμόζονται μεταναστεύσεις στο ετερογενές σύστημα... 156 Σχήμα 6.9e: D SLD όταν εφαρμόζεται η LGFS αντί της AFCFS (μονοπύρηνο σύστημα)... 157 Σχήμα 6.9f: D SLD όταν εφαρμόζεται η LGFS αντί της AFCFS (πολυπύρηνο σύστημα)... 157 Σχήμα 6.9g: D SLD όταν εφαρμόζεται η LGFS αντί της AFCFS (ετερογενές σύστημα)... 158 Σχήμα 6.10a: D WSLD όταν το πολυπύρηνο σύστημα συγκρίνεται με το μονοπύρηνο σύστημα... 158 Σχήμα 6.10b: D WSLD όταν εφαρμόζονται μεταναστεύσεις στο μονοπύρηνο σύστημα 159 Σχήμα 6.10c: D WSLD όταν εφαρμόζονται μεταναστεύσεις στο πολυπύρηνο σύστημα 159 Σχήμα 6.10d: D WSLD όταν εφαρμόζονται μεταναστεύσεις στο ετερογενές σύστημα.. 160 Σχήμα 6.10e: D WSLD όταν εφαρμόζεται η LGFS αντί της AFCFS (μονοπύρηνο σύστημα)... 160 Σχήμα 6.10f: D WSLD όταν εφαρμόζεται η LGFS αντί της AFCFS (πολυπύρηνο σύστημα)... 161

20 Σχήμα 6.10g: D WSLD όταν εφαρμόζεται η LGFS αντί της AFCFS (ετερογενές σύστημα)...161

21 Κατάλογος πινάκων Πίνακας 2.1: Παράμετροι και μετρικές... 48 Πίνακας 2.2: Μέση χρησιμοποίηση επεξεργαστών, 1/λ 2 =10... 52 Πίνακας 2.3: Μέση χρησιμοποίηση επεξεργαστών, 1/λ 2 = 5... 52 Πίνακας 3.1: Παράμετροι και μετρικές... 66 Πίνακας 3.2: Μέση χρησιμοποίηση συστήματος, 1/λ 2 =15... 75 Πίνακας 3.3: Μέση χρησιμοποίηση συστήματος, 1/λ 2 =20... 75 Πίνακας 4.1: Παράμετροι και μετρικές... 92 Πίνακας 5.1: Παράμετροι και μετρικές... 112 Πίνακας 6.1: Παράμετροι και μετρικές... 137 Πίνακας 6.2: Τιμές παραμέτρων... 138

22

23 Κεφάλαιο 1 Εισαγωγή Η αυξημένη ζήτηση για υπολογιστική ισχύ ώθησε την έρευνα στην εύρεση λύσεων όπου οι υπάρχοντες υπολογιστικοί πόροι θα μπορούν να οργανωθούν και να αξιοποιηθούν ώστε να επιτευχθεί η εξυπηρέτηση όλο και πιο απαιτητικών εφαρμογών. Ένα δίκτυο πλέγματος αποτελείται από ένα σύνολο διαμοιραζόμενων πόρων και είναι ικανό να προσφέρει την απαραίτητη διαφάνεια και αξιοπιστία στο χρήστη για την επίλυση απαιτητικών προβλημάτων [1], [2], [3]. Η διαθεσιμότητα πολλών υπολογιστικών συστημάτων καθιστά τα δίκτυα πλέγματος ως οικονομικότερη λύση έναντι της απόκτησης ενός ενιαίου κεντρικοποιημένου υπερυπολογιστικού συστήματος. Η δυνατότητα κλιμάκωσης [4], [5] είναι ένας ακόμη παράγοντας που έλκει την επένδυση προς μια τέτοια λύση. Άλλα πλεονεκτήματα των συστημάτων πλέγματος είναι ότι η αναβάθμιση ή η επιδιόρθωση ενός τμήματος του συστήματος δεν καθιστά ολόκληρο το σύστημα εκτός λειτουργίας (downtime) [6] και συνεπώς η διακοπή της εξυπηρέτησης των χρηστών συμβαίνει μόνο σε εξαιρετικά σπάνιες περιπτώσεις. Συνεπώς, τα δίκτυα πλέγματος επεκτείνονται συνεχώς με την εξέλιξη της τεχνολογίας

24 Κεφάλαιο 1: Εισαγωγή καθώς έχουν την δυνατότητα να ενσωματώνουν νέους πόρους και καινοτόμες τεχνολογίες. Από τις παραπάνω δυνατότητες και πλεονεκτήματα των συστημάτων πλέγματος συμπεραίνουμε ότι πρόκειται για μία τεχνολογία με αρκετό μέλλον και πρόκειται να απασχολήσει τους ερευνητές για μεγάλο χρονικό διάστημα. 1.1 Υπολογιστικά πλέγματα Ένας από τους πρώτους ορισμούς που δόθηκε για το τι είναι υπολογιστικό πλέγμα (grid computing) είναι ο εξής [7]: Ένα υπολογιστικό grid είναι μία υλική και λογισμική υποδομή που παρέχει αξιόπιστη, συνεπή, διαφανή και φτηνή πρόσβαση σε υψηλής ποιότητας υπολογιστικές δυνατότητες. Αργότερα αυτός ο ορισμός βελτιώθηκε έτσι ώστε να διευθετήσει κοινωνικά ζητήματα καθώς και πολιτικές χρησιμοποίησης που θα έπρεπε να ληφθούν υπόψη για να οριστεί ένα σύστημα ως πλέγμα. Έτσι ορίστηκε στο [8] ότι το υπολογιστικό πλέγμα αφορά συντονισμένο διαμοιρασμό πόρων και επίλυση προβλημάτων σε δυναμικούς, εικονικούς οργανισμούς. Δηλαδή το βασικό στοιχείο ενός πλέγματος είναι η δυνατότητα να γίνουν διαπραγματεύσεις μεταξύ αυτών που συμμετέχουν στο πλέγμα για να δημιουργηθεί ένα σύνολο κανόνων διαμοιρασμού των πόρων και έπειτα να χρησιμοποιήσουν αυτούς τους κοινόχρηστους πόρους για κάποιο σκοπό. Με τον όρο διαμοιρασμό των πόρων δεν εννοούμε την ανταλλαγή αρχείων, αλλά κυρίως την άμεση πρόσβαση σε υπολογιστές, λογισμικό, δεδομένα και άλλους πόρους. Αυτός ο διαμοιρασμός είναι απαραίτητα ελεγχόμενος και συνεπώς πρέπει να είναι σαφώς προκαθορισμένο το τι μοιράζεται, ποιος επιτρέπεται να μοιράζει και με ποιες προϋποθέσεις γίνεται ο διαμοιρασμός. Ένα σύνολο οντοτήτων και οργανισμών που διέπονται από τέτοιους κανόνες διαμοιρασμού σχηματίζει ένα εικονικό οργανισμό όπως τον αναφέραμε παραπάνω. Θεωρείται κοινώς αποδεκτό ότι ένα σύστημα αποτελεί υπολογιστικό πλέγμα όταν πληροί τις ακόλουθες προϋποθέσεις [9]: 1) Ένα σύστημα πλέγματος αναλαμβάνει να διαχειρίζεται πόρους που δεν υπόκεινται σε κάποιο κεντρικό έλεγχο. Το πλέγμα ενσωματώνει και διαχειρίζεται τους

Κεφάλαιο 1: Εισαγωγή 25 πόρους και τους χρήστες που βρίσκονται σε διαφορετικά πεδία (domain) ελέγχου, για παράδειγμα έναν υπολογιστή κάποιου χρήστη σε σχέση με έναν κεντρικό υπολογιστή. 2) Το σύστημα πλέγματος χρησιμοποιεί καθορισμένα, ανοικτά, γενικού-σκοπού πρωτοκόλλα και διεπαφές. Ένα πλέγμα αποτελείται από γενικού σκοπού πρωτόκολλα και διεπαφές που χρησιμοποιούνται για να διευθετήσουν ζητήματα όπως πιστοποίηση, εξουσιοδότηση, ανεύρεση πόρων και πρόσβαση σε αυτούς. Είναι αναγκαίο αυτά τα πρωτόκολλα και οι διεπαφές να είναι καθορισμένα και ανοικτά, αλλιώς πρόκειται για σύστημα ειδικού σκοπού. 3) Να έχει την ικανότητα να προσφέρει σημαντικές υπηρεσίες. Το σύστημα πλέγματος επιτρέπει στο σύνολο των πόρων του να χρησιμοποιηθούν με συντονισμένο τρόπο για να επιτύχει διάφορα επίπεδα υπηρεσιών που σχετίζονται για παράδειγμα με το χρόνο απόκρισης, τη ρυθμοαπόδοση (throughput), τη διαθεσιμότητα, την ασφάλεια [10], [11], [12] την κατανομή πολλαπλών πόρων στους χρήστες έτσι ώστε να ικανοποιήσει τις σύνθετες ανάγκες τους, με τέτοιο τρόπο ώστε το κέρδος που θα προκύπτει από τη χρήση του συνολικού συστήματος να είναι μεγαλύτερο από το απλό άθροισμα των επιμέρους συστατικών μερών του. 1.2 Τύποι παράλληλων εργασιών Σε ένα κατανεμημένο σύστημα οι εργασίες (jobs) που εκτελούνται συχνά αποτελούνται από πολλές διεργασίες (tasks) ο αριθμός των οποίων καθορίζει το βαθμό παραλληλισμού της αρχικής εργασίας. Η επιλογή του αλγορίθμου χρονοδρομολόγησης των παράλληλων εργασιών για ένα κατανεμημένο σύστημα είναι καθοριστική για την απόδοσή του και επηρεάζει βασικά χαρακτηριστικά του όπως τη δυνατότητα κλιμάκωσης, την επεκτασιμότητα και την αξιοπιστία του. Ειδικότερα, με την εξέλιξη σε επίπεδο αρχιτεκτονικής και την έλευση νέων τεχνολογιών που προωθούν την παράλληλη επεξεργασία, όπως οι επεξεργαστές πολλαπλών πυρήνων, διαμορφώνονται νέες απαιτήσεις για τα συστήματα χρονοδρομολόγησης. Γίνεται πλέον επιτακτική η ανάγκη για αλγορίθμους χρονοδρομολόγησης προσαρμοσμένους στις απαιτήσεις των παράλληλων εργασιών (parallel-aware scheduling) [13], [14]. Ωστόσο πολλά από τα

26 Κεφάλαιο 1: Εισαγωγή τρέχοντα λειτουργικά συστήματα και ενδιάμεσο λογισμικό (middleware) βασίζεται σε αλγορίθμους που οι σχεδιαστικές τους αρχές είναι ξεπερασμένες και ανήκουν στο παρελθόν [15] με αποτέλεσμα οι επιδόσεις τους να υστερούν καθώς δεν ανταποκρίνονται πλήρως στις ανάγκες των σύγχρονων προγραμμάτων. Η χρονοδρομολόγηση παράλληλων εργασιών πρέπει λοιπόν να λαμβάνει υπόψη της τα χαρακτηριστικά των διεργασιών για να επιτύχει τη μέγιστη απόδοση και να αυξήσει την αποτελεσματικότητα του συστήματος. Για τον λόγο αυτό οι παράλληλες εργασίες διακρίνονται σε διαφορετικούς τύπους με βάση τη συχνότητα που οι υποδιεργασίες επικοινωνούν ή συγχρονίζονται μεταξύ τους. Οι παράλληλες εργασίες κατατάσσονται σε λεπτής υφής (fine-grain), αδρής υφής (coarse-grain) και εκ φύσεως παράλληλες (embarrassingly parallel) εάν οι διεργασίες που ανήκουν σε αυτές συγχρονίζονται ή επικοινωνούν μεταξύ τους συχνά, σπάνια ή έως και καθόλου αντίστοιχα. Η περίπτωση των εκ φύσεως παράλληλων εργασιών θέτει τους λιγότερους περιορισμούς στη δρομολόγησή τους, ενώ οι παράλληλες εργασίες λεπτής υφής απαιτούν συνήθως κάποια τεχνική ταυτόχρονης χρονοδρομολόγησης (coscheduling) προκειμένου να μην υστερούν υπερβολικά σε απόδοση [16], [17], [13]. Η χρονοδρομολόγηση κατά ομάδες (gang scheduling) είναι μία τεχνική κατάλληλη για τη δρομολόγηση παράλληλων εργασιών λεπτής υφής [16],[18]. Στην παρούσα διατριβή χρησιμοποιούμε εναλλακτικά τους όρους παράλληλη εργασία τύπου ομάδας και gang. 1.3 Παράλληλες εργασίες τύπου ομάδας Η χρονοδρομολόγηση τύπου ομάδας αποτελεί μία τεχνική δρομολόγησης παράλληλων εργασιών που συναντάται συχνά σε κατανεμημένα συστήματα. Η τεχνική αυτή εφαρμόζεται όταν υπάρχει ανάγκη οι συγγενικές διεργασίες, που ανήκουν σε κάποια παράλληλη εργασία, να επικοινωνούνε συχνά μεταξύ τους μέσω ανταλλαγής μηνυμάτων. Η βασική ιδέα είναι ότι ένα σύνολο από διεργασίες δρομολογείται έτσι ώστε να ξεκινήσει ταυτόχρονα η επεξεργασία τους από ένα αντίστοιχο σύνολο επεξεργαστών. Με αυτό τον τρόπο οι διεργασίες αλληλεπιδρούν αποτελεσματικά, γιατί διασφαλίζεται ότι δεν υπάρχουν διεργασίες που είναι απασχολημένες περιμένοντας

Κεφάλαιο 1: Εισαγωγή 27 (busy waiting) να πάρουν ένα μήνυμα από κάποια άλλη συγγενική διεργασία η οποία εκείνη τη στιγμή δεν βρίσκεται υπό εκτέλεση. Στην περίπτωση της χρονοδρομολόγησης εργασιών τύπου ομάδας είναι φυσικό να υπάρχουν επεξεργαστές οι οποίοι είναι αδρανείς (idle) παρόλο που στην ουρά τους υπάρχουν διεργασίες για εκτέλεση. Αυτές οι διεργασίες δεν πρόκειται να εκτελεστούν εάν οι συγγενικές διεργασίες δεν είναι έτοιμες να εκτελεστούν. Συνεπώς, όταν δρομολογούμε εργασίες τύπου ομάδας, υπάρχει μία αναλογία ένα προς ένα μεταξύ των συγγενικών διεργασιών και των επεξεργαστών. Επίσης, ο αριθμός των συγγενικών διεργασιών δεν μπορεί να ξεπερνά το συνολικό αριθμό των επεξεργαστών του συστήματος. Σε μια εργασία τύπου ομάδας υποθέτουμε ότι όλες οι διεργασίες έχουν τον ίδιο χρόνο εκτέλεσης, δηλαδή οι διεργασίες σημειώνουν πρόοδο στην εξυπηρέτησή τους με τον ίδιο ρυθμό [19]. Οι αλγόριθμοι χρονοδρομολόγησης των εργασιών τύπου ομάδας διαφέρουν μεταξύ τους ως προς τον τρόπο με τον οποίο μοιράζονται οι διαθέσιμοι πόροι στις εργασίες. 1.4 Μετανάστευση διεργασιών Ως μετανάστευση διεργασιών μιας παράλληλης εργασίας ορίζουμε την δυναμική μετακίνηση των διεργασιών από ένα κόμβο του συστήματος σε κάποιον άλλο. Η μετανάστευση μας επιτρέπει να κάνουμε ευέλικτο το χρονοπρογραμματισμό των διεργασιών περιορίζοντας δυναμικά την κατάτμηση (fragmentation) που υπάρχει στις ήδη δρομολογημένες διεργασίες [20]. Η διαδικασία της μετανάστευσης μιας διεργασίας μπορεί να σχεδιαστεί και να υλοποιηθεί με διάφορους τρόπους η πλειοψηφία των οποίων αποτελείται από διαφορετικές εκδοχές της τεχνικής σημείου ελέγχου/επανεκκίνησης (checkpoint/restart operation) [21], [22]. Η μετανάστευση μιας διεργασίας περιγράφεται από τα ακόλουθα συνήθη βήματα [23]: 1. Ένα αίτημα μετανάστευσης στέλνεται σε ένα επιλεγμένο κόμβο. Ο κόμβος κάνει δεκτό το αίτημα μετά από διαπραγμάτευση.

28 Κεφάλαιο 1: Εισαγωγή 2. Εάν η διεργασία που πρόκειται να μεταναστεύσει βρίσκεται σε στάδιο εκτέλεσης από τον κόμβο, τότε η εκτέλεση αναστέλλεται και η διεργασία αποσυνδέεται από τον κόμβο θέτοντας τον κόμβο σε μία προσωρινή κατάσταση μετανάστευσης. 3. Τα εισερχόμενα μηνύματα που αφορούν την διεργασία συλλέγονται σε μια ουρά και αποστέλλονται στο νέο κόμβο όπου θα μεταναστεύσει η διεργασία. Το κανάλι επικοινωνίας εκτρέπεται προς τον νέο κόμβο όταν τελειώσει η μετανάστευση και η επικοινωνία αποκαθίσταται. 4. Συλλέγονται όλα τα δεδομένα που αφορούν την διεργασία πριν τερματιστεί η εκτέλεσή της. Τα δεδομένα αυτά συνήθως αφορούν τα περιεχόμενα της μνήμης και των καταχωρητών καθώς και μηνύματα που φθάνουν στο κόμβο μέσω δικτύου επικοινωνίας. Σε περίπτωση ετερογενούς συστήματος πρέπει να γίνουν κατάλληλες μετατροπές στα δεδομένα έτσι ώστε να υπάρχει συμβατότητα κατά τη μεταφορά τους στο νέο κόμβο. 5. Δημιουργείται ένα στιγμιότυπο της διεργασίας με βάση τα δεδομένα που συλλέχθηκαν. 6. Το στιγμιότυπο μεταφέρεται στο νέο κόμβο. Κάποια από τα δεδομένα που αφορούν την κατάσταση της διεργασίας μπορούν να σταλούν αργότερα αφού ολοκληρωθεί η μετανάστευση της διεργασίας. 7. Η επικοινωνία αποκαθίσταται μόνιμα στον νέο κόμβο. 8. Η διεργασία επαναφέρεται βάσει του στιγμιότυπου και ξεκινά ξανά την εκτέλεσή της. Εφόσον όλα τα δεδομένα που αφορούν την κατάσταση της διεργασίας έχουν μεταφερθεί στον νέο κόμβο, η διεργασία διαγράφεται από τον αρχικό κόμβο. Σημειώνουμε ότι συνήθως κάποιες πληροφορίες που αφορούν την εκτελούμενη διεργασία στον αρχικό κόμβο δεν είναι πάντα μεταφέρσιμες. Συνήθως αυτές οι πληροφορίες αφορούν την τρέχουσα κατάσταση του λειτουργικού συστήματος. Για το λόγο αυτό η επαναφορά διεργασιών που βρίσκονταν υπό εκτέλεση δεν είναι εφικτό να γίνει ακριβώς από το σημείο της προεκχώρησής τους.

Κεφάλαιο 1: Εισαγωγή 29 1.5 Συνεισφορά της διατριβής Η απόδοση ενός συστήματος πλέγματος εξαρτάται σε μεγάλο βαθμό από τις πολιτικές χρονοδρομολόγησης που χρησιμοποιούνται. Επίσης, τα σύγχρονα υπολογιστικά πλέγματα καλούνται να εξυπηρετήσουν σύνθετες περιπτώσεις φόρτου εργασίας με τον ταχύτερο δυνατό τρόπο. Στην παρούσα διατριβή προτείνουμε νέες πολιτικές εξυπηρέτησης παράλληλων εργασιών, ασχολούμαστε με την εξισορρόπηση φόρτου στο σύστημα και κάνουμε αποτίμηση της απόδοσης με τη χρήση μοντέλων προσομοίωσης. Τα μοντέλα προσομοίωσης που εξετάζουμε υλοποιούν διάφορες τεχνικές όπως αλγορίθμους με περιοδική ανάδραση από το σύστημα, τεχνικές μεταναστεύσεων διεργασιών, καθώς και περίπλοκες περιπτώσεις φόρτου όπως δέσμες παράλληλων εργασιών τύπου ομάδας, εργασίες με περιορισμούς εξαρτήσεων προτεραιότητας και κρίσιμες εργασίες. Επιπρόσθετα, η εξέλιξη της τεχνολογίας έχει ως αποτέλεσμα την εμφάνιση νέων συστημάτων όπως είναι η αρχιτεκτονική των πολυπύρηνων επεξεργαστών. Στην διατριβή προτείναμε νέους αλγορίθμους χρονοδρομολόγησης που κάνουν ομαλότερη τη μετάβαση σε συστήματα συστοιχιών πολυπύρηνων επεξεργαστών. Τα κυριότερα σημεία της συνεισφορά της διατριβής συνοψίζονται παρακάτω: Προτείνεται ένα σχήμα μεταναστεύσεων που είναι κατάλληλο για τη μείωση της κατάτμησης των διεργασιών που προκαλείται από τις παράλληλες εργασίες τύπου ομάδας. Η πολιτική των μεταναστεύσεων επιτρέπει την εξισορρόπηση φόρτου στο σύστημα μεταξύ πόρων που ανήκουν στην ίδια συστοιχία, αλλά και μεταξύ διαφορετικών συστοιχιών. Το κέρδος που αποκομίζουμε στην απόδοση είναι πολύ μεγαλύτερο από την επιβάρυνση (overhead) του συστήματος. Επίσης, η τεχνική αυτή αποδείχθηκε ικανή να μειώνει τη συμφόρηση που μπορεί να προκαλέσει στο σύστημα η άφιξη κρίσιμων σποραδικών εργασιών που χρειάζονται άμεση εξυπηρέτηση. Εξετάσαμε και καταγράψαμε την επίδραση που έχει στην απόδοση η αύξηση της μεταβλητότητας του χρόνου εκτέλεσης των παράλληλων εργασιών τύπου ομάδας. Ο αλγόριθμος των μεταναστεύσεων των συγγενικών διεργασιών τύπου ομάδας σημειώνει βελτίωση στην απόδοση για όλες τις τιμές της μεταβλητότητας, αλλά σε διαφορετικό βαθμό για κάθε περίπτωση.

30 Κεφάλαιο 1: Εισαγωγή Περιγράψαμε ένα νέο μοντέλο φόρτου εργασίας που αποτελείται από δέσμες παράλληλων εργασιών τύπου ομάδας (Bags of Gangs) και εξετάσαμε την απόδοση διαφορετικών πολιτικών χρονοδρομολόγησης για την περίπτωση του νέου μοντέλου. Από την ανάλυση των αποτελεσμάτων προσομοίωσης εξάγαμε χρήσιμα συμπεράσματα που αφορούν την εξυπηρέτηση των BoGs σε ετερογενή συστήματα, την αλληλεπίδραση των BoGs με κρίσιμες εργασίες καθώς και την απόδοση των τεχνικών μεταναστεύσεων και των πολιτικών χρονοδρομολόγησης τύπου ομάδας για την περίπτωση των BoGs. Αναπτύξαμε ένα μοντέλο κεντρικού δρομολογητή εργασιών τύπου ομάδος με περιοδική ανάδραση από το σύστημα. Η απόδοση του κεντρικού δρομολογητή εξετάστηκε σε συνδυασμό με τις τοπικές πολιτικές χρονοδρομολόγησης που χρησιμοποιούνται στις συστοιχίες. Η χρήση περιοδικής ανάδρασης από τον κεντρικό δρομολογητή επιτυγχάνει καλύτερη εξισορρόπηση του φόρτου στο σύστημα. Αποτιμήσαμε την απόδοση ενός συστήματος πλέγματος στην περίπτωση που έχουμε παράλληλες εργασίες τύπου ομάδας με περιορισμούς προτεραιοτήτων. Στην περίπτωση αυτή παράλληλες εργασίες τύπου ομάδας μπορούν να δημιουργηθούν δυναμικά βάσει συσχετιζόμενου περιεχομένου της λανθάνουσας μνήμης (cache) από προηγούμενες εκτελεσθείσες εργασίες. Μελετήσαμε την απόδοση διαφορετικών πολιτικών χρονοδρομολόγησης κάτω από το νέο μοντέλο και προτείναμε αποδοτικούς τρόπους εξυπηρέτησης του φόρτου. Μελετήσαμε την απόδοση αλγορίθμων χρονοδρομολόγησης παράλληλων εργασιών τύπου ομάδας για συστοιχίες πολυπύρηνων επεξεργαστών. Η μελέτη αυτή προτείνει λύσεις και νέους αλγορίθμους έτσι ώστε να υπάρχει ομαλή μετάβαση σε συστήματα πλέγματος που διαθέτουν συστοιχίες πολυπύρηνων επεξεργαστών. Επίσης, η ανάλυση της απόδοσης των προτεινόμενων αλγορίθμων για πολυπύρηνες συστοιχίες αποτελεί κίνητρο είτε για την πλήρη μετάβαση των συστημάτων πλέγματος από μονοπύρηνες συνθέσεις σε πολυπύρηνες είτε για την επέκταση των υπαρχόντων συστημάτων πλέγματος με πολυπύρηνες συστοιχίες.

Κεφάλαιο 1: Εισαγωγή 31 1.6 Δομή της διατριβής Η παρούσα διδακτορική διατριβή έχει την εξής δομή: στο κεφάλαιο 2 παρουσιάζεται η μελέτη της απόδοσης της χρονοδρομολόγησης δεσμών εργασιών τύπου ομάδας (BoGs) σε ετερογενή συστήματα πλέγματος. Η εξυπηρέτηση των BoGs εξετάζεται για διαφορετικούς φόρτους εργασίας χρησιμοποιώντας τις πολιτικές χρονοδρομολόγησης AFCFS, AFCFSwM, LGFS και LGFSwM. Στόχος είναι η καλύτερη εξυπηρέτηση τους η οποία γίνεται δυσκολότερη από την επίδραση αφίξεων εργασιών υψηλής προτεραιότητας. Στο κεφάλαιο 3 εξετάζουμε την επίδραση της μεταβλητότητας του χρόνου εκτέλεσης παράλληλων εργασιών τύπου ομάδας υπό την επίδραση κρίσιμων εργασιών που καταφθάνουν με σποραδικό τρόπο στο σύστημα. Το σύστημα αποτελείται από πολλαπλές συστοιχίες και χρησιμοποιείται μία τεχνική μετανάστευσης διεργασιών για την βελτίωση της απόδοσης και για την εξισορρόπηση φόρτου στο σύστημα. Σε κάθε συστοιχία χρησιμοποιείται ξεχωριστά ένας αλγόριθμος χρονοδρομολόγησης τύπου ομάδας. Τα αποτελέσματα μας δείχνουν την επίδραση της μεταβλητότητας στην απόδοση της χρονοδρομολόγησης των παράλληλων εργασιών. Σε ένα σύστημα πλέγματος οι εργασίες διανέμονται προς εξυπηρέτηση σε διαφορετικές συστοιχίες που η γεωγραφική τους τοποθέτηση μπορεί να είναι σε διαφορετικά σημεία. Στο κεφάλαιο 4 προτείνουμε και εξετάζουμε ένα αλγόριθμο δρομολόγησης εργασιών ο οποίος δέχεται ανάδραση από τις συστοιχίες με περιοδικό τρόπο. Ο κεντρικός δρομολογητής δεν μπορεί να έχει ενημέρωση σε πραγματικό χρόνο για όλες τις παραμέτρους μιας συστοιχίας γιατί κάτι τέτοιο θα προκαλούσε δικτυακή συμφόρηση. Συνεπώς, εξετάζουμε μια νέα πολιτική η οποία εξισορροπεί το φόρτο στο σύστημα χρησιμοποιώντας κάποιες μεμονωμένες παραμέτρους οι οποίες συλλέγονται από τις συστοιχίες ανά περιοδικά χρονικά διαστήματα. Σε ένα σύστημα μπορούν να υπάρχουν διαφορετικοί τύποι ροής εργασιών (workflows). Στη περίπτωση των κατανεμημένων συστημάτων εμφανίζονται μοντέλα ροών που αφορούν παράλληλες εργασίες. Στο κεφάλαιο 5 εξετάζουμε την περίπτωση παράλληλων εργασιών τύπου ομάδας οι οποίες δημιουργούνται δυναμικά από το σύστημα βάσει συσχετιζόμενου περιεχομένου της λανθάνουσας μνήμης (cache) από

32 Κεφάλαιο 1: Εισαγωγή προηγούμενες εκτελεσθείσες εργασίες. Εξετάζουμε επίσης πώς η μεταβολή του ποσοστού εμφάνισης τέτοιων εργασιών επηρεάζει την απόδοση του συστήματος. Το κεφάλαιο 6 αφορά τη μετεξέλιξη πολιτικών χρονοδρομολόγησης τύπου ομάδας για συστοιχίες με πολυπύρηνους επεξεργαστές. Επίσης, τροποποιούμε κατάλληλα την τεχνική των μεταναστεύσεων ώστε αυτή να χρησιμοποιηθεί αποτελεσματικά σε πολυπύρηνες συστοιχίες. Γίνεται ανάλυση των αποτελεσμάτων και συγκριτική παράθεση με αποτελέσματα που αφορούν αντίστοιχους αλγόριθμους για μονοπύρηνα συστήματα. Τέλος, στο κεφάλαιο 7 συνοψίζουμε τα αποτελέσματα της έρευνας και παραθέτουμε νέες ιδέες για περαιτέρω επέκταση του ερευνητικού πεδίου.

33 Κεφάλαιο 2 Χρονοδρομολόγηση δεσμών παράλληλων εργασιών τύπου ομάδας 2.1 Εισαγωγή Η απόδοση ενός κατανεμημένου συστήματος είναι στενά συνδεδεμένη με τον αλγόριθμο χρονοδρομολόγησης που εφαρμόζεται σε αυτό. Η αποτελεσματικότητα ενός αλγορίθμου χρονοδρομολόγησης σχετίζεται με τα χαρακτηριστικά του δικτύου όπως η τοπολογία των κόμβων, η ετερογένεια μεταξύ των διαθέσιμων συστοιχιών, καθώς και με τα χαρακτηριστικά του φόρτου εργασίας που έχει να αντιμετωπίσει το σύστημα [24]. Ο κύριος στόχος των αλγορίθμων χρονοδρομολόγησης είναι η μεγιστοποίηση της αποτελεσματικότητας του συστήματος ενώ πρέπει ταυτόχρονα να διασφαλίζεται η ποιότητα εξυπηρέτησης των εργασιών (Quality-of-Service) ανάλογα με τις ανάγκες τους και τα απαραίτητα κριτήρια εξυπηρέτησης που έχουν τεθεί για αυτές. Οι κρίσιμες εργασίες χαρακτηρίζονται από την επιτακτική ανάγκη για άμεση εξυπηρέτηση από το σύστημα. Ένας αποτελεσματικός αλγόριθμος εξυπηρέτησης επιτρέπει στις κρίσιμες

34 Κεφάλαιο 2: Χρονοδρομολόγηση δεσμών παράλληλων εργασιών τύπου ομάδας εργασίες να εκτελούνται άμεσα χωρίς να πλήγεται η ποιότητα εξυπηρέτησης προς τις υπόλοιπες εργασίες. 2.2 Σύστημα δέσμης παράλληλων εργασιών τύπου ομάδας Σε ένα πραγματικό υπολογιστικό σύστημα οι εργασίες που καταφθάνουν σε αυτό έχουν σύνθετη δομή και συνήθως αποτελούν μέρος μιας ευρύτερης ροής εργασίας (workflow) [25]. Η άφιξη των εργασιών είναι δυνατό να συμβαίνει μαζικά με τη μορφή δέσμης ανεξάρτητων μεταξύ τους παράλληλων εργασιών (Bag of Jobs). Σε αυτό το κεφάλαιο εξετάζουμε την απόδοση των αλγορίθμων χρονοδρομολόγησης τύπου ομάδας AFCFS και LGFS σε διαφορετικές συνθήκες φόρτου εργασίας στις οποίες εμπεριέχονται δέσμες παράλληλων εργασιών τύπου ομάδας (Bags of Gangs) [26]. Η άφιξη κρίσιμων εργασιών στο σύστημα είναι μία σημαντική παράμετρος που επηρεάζει το σύστημα και την απόδοσή του και για αυτό το λόγο συμπεριλαμβάνεται στα πειράματα. Οι κρίσιμες εργασίες δεσμεύουν με άμεσο τρόπο πόρους του συστήματος που είτε έχουν ανατεθεί σε εργασίες που βρίσκονται στο στάδιο της εκτέλεσης είτε είναι απαραίτητοι σε εργασίες εν αναμονή. Για την αντιμετώπιση του φαινομένου της κατάτμησης των παράλληλων εργασιών τύπου ομάδας καθώς και των καθυστερήσεων που εισάγει στο σύστημα η άφιξη των κρίσιμων διεργασιών εφαρμόζουμε την τεχνική των μεταναστεύσεων [27]. Η τεχνική των μεταναστεύσεων έχει ως επιπρόσθετο στόχο την εξισορρόπηση του φόρτου εργασίας [28] στο σύστημα αναδιανέμοντας τις υπάρχουσες διεργασίες και αλλάζοντας κατά αυτό τον τρόπο την αρχική τοποθέτηση των διεργασιών και ανάθεση των πόρων του συστήματος από την πολιτική δρομολόγησης που εφαρμόστηκε. Η τεχνική των μεταναστεύσεων έχει δυναμικό χαρακτήρα και επιτρέπει στο σύστημα να αλλάζει άμεσα την ανάθεση των πόρων προς τις διεργασίες διορθώνοντας με αυτόν τον τρόπο τον αρχικό σχεδιασμό που έγινε από τον αλγόριθμο δρομολόγησης ο οποίος δεν είναι πάντα σε θέση να προβλέπει τη μελλοντική εξέλιξη των εργασιών που δρομολογήθηκαν.

Κεφάλαιο 2: Χρονοδρομολόγηση δεσμών παράλληλων εργασιών τύπου ομάδας 35 Η μετανάστευση των διεργασιών είναι περίπλοκη διαδικασία που χρειάζεται επιπρόσθετο χρόνο (overhead) για την εκτέλεσή της και για αυτό το λόγο πρέπει να εφαρμόζεται με προσοχή προκειμένου η επιβάρυνση του συστήματος να μην ξεπερνά τα οφέλη που αποκομίζουμε από αυτή. Τα σημαντικότερα οφέλη της μετανάστευσης διεργασιών είναι η εξισορρόπηση του φόρτου στο σύστημα και η μείωση της κατάτμησης των διεργασιών (fragmentation) [29], [30], [31]. Ως κατάτμηση παράλληλων διεργασιών ορίζουμε την εμφάνιση αδρανών (idle) επεξεργαστών που έχουν όμως στις ουρές τους διεργασίες σε αναμονή. Αυτό συμβαίνει στην περίπτωση παράλληλων εργασιών που απαιτούν κάποια μορφή συν-ανάθεσης (co-scheduling) και ταυτόχρονης εξυπηρέτησης όπως στην περίπτωση της δρομολόγησης εργασιών τύπου ομάδας που αποτελεί μια τεχνική χρονικού-χωρικού καταμερισμού (time-space sharing). Οι εργασίες τύπου ομάδας λόγω της συχνής επικοινωνίας μεταξύ των διεργασιών απαιτούν ταυτόχρονη εξυπηρέτηση όλων των επιμέρους διεργασιών για ταχύτερη εξυπηρέτηση και αποφυγή του φαινομένου απόφραξης (blocking) που συμβαίνει όταν μια διεργασία περιμένει κάποιο μήνυμα από άλλη συγγενική διεργασία (sibling task) που όμως αυτή βρίσκεται σε αναμονή σε κάποια ουρά. Συνεπώς, οι εργασίες τύπου ομάδας είναι επιρρεπείς στην εμφάνιση του φαινομένου της κατάτμησης λόγω των αυστηρών περιορισμών που θέτει ο τρόπος εξυπηρέτησής τους. 2.3 Μοντελοποίηση συστήματος και φόρτου με δέσμες παράλληλων εργασιών τύπου ομάδας Για την αποτίμηση της απόδοσης χρησιμοποιούμε ένα μοντέλο προσομοίωσης ενός συστήματος πλέγματος. Το δίκτυο αποτελείται από δύο συστοιχίες (clusters) επεξεργαστών όπως φαίνεται στο σχήμα 2.1. Η πρώτη συστοιχία αποτελείται από P 1 =16 επεξεργαστές, ενώ η δεύτερη συστοιχία αποτελείται από P 2 =32 επεξεργαστές. Η χρησιμότητα αυτού του μοντέλου έγκειται στην ανάδειξη των διαφορών που υπάρχουν μεταξύ των αλγορίθμων χρονοδρομολόγησης για την περίπτωση φόρτου με δέσμες εργασιών τύπου ομάδας καθώς και στην αποτελεσματικότητα της εξισορρόπησης του φόρτου από το προτεινόμενο μοντέλο μεταναστεύσεων για το συγκεκριμένο μοντέλο φόρτου εργασίας.

36 Κεφάλαιο 2: Χρονοδρομολόγηση δεσμών παράλληλων εργασιών τύπου ομάδας Σχήμα 2.1: Μοντέλο συστήματος ουρών. 2.3.1 Ετερογένεια συστήματος πλέγματος Το μοντέλο προσομοίωσης που εξετάζουμε αφορά ένα ετερογενές σύστημα πλέγματος. Η ετερογένεια σε ένα σύστημα πλέγματος με πολλαπλές συστοιχίες μπορεί να μελετηθεί ξεχωριστά από διαφορετικές πλευρές για τα διάφορα χαρακτηριστικά του δικτύου. Τα χαρακτηριστικά αυτά μπορεί να αφορούν είτε το υλικό είτε το λογισμικό μέρος του συστήματος [32], [33]. Οι συστοιχίες μπορεί να διαφέρουν μεταξύ τους ως προς το λειτουργικό τους σύστημα, την αρχιτεκτονική τους, την επεξεργαστική τους ικανότητα και τη χωρητικότητα. Σε εργασία σχετική με την ετερογένεια συστημάτων πλέγματος [34] ορίζονται δύο μορφές ετερογένειας που μπορούν να εμφανιστούν στο σύστημα και εξετάζεται ένας ευρετικός (heuristic) αλγόριθμος εξισορρόπησης φόρτου που λαμβάνει υπόψη του αυτές τις μορφές ετερογένειας. Οι τύποι της ετερογένειας που εξετάζονται διακρίνονται σε χωρική (spatial) και χρονική (temporal). Η χρονική ετερογένεια καθορίζεται από τη διακύμανση που παρουσιάζει η διαθεσιμότητα των πόρων και του εύρους ζώνης ως προς τον άξονα του χρόνου, ενώ η χωρική ετερογένεια αφορά κυρίως τη διακύμανση ως προς την υπολογιστική ισχύ μεταξύ των διαφορετικών κόμβων του δικτύου.

Κεφάλαιο 2: Χρονοδρομολόγηση δεσμών παράλληλων εργασιών τύπου ομάδας 37 Μια διαφορετική προσέγγιση της ετερογένειας σε συστήματα πλέγματος εξετάζεται στην εργασία [35] όπου μελετάται η περίπτωση ενός δικτύου πλέγματος αποτελούμενο από πολλαπλές συστοιχίες πανομοιότυπων επεξεργαστών με την προϋπόθεση όμως ότι κάθε συστοιχία σε σχέση με τις υπόλοιπες μπορεί να φέρει επεξεργαστές διαφορετικής ταχύτητας. Με αυτό τον τρόπο οι συστοιχίες του πλέγματος μπορεί να διαφέρουν ως προς την υπολογιστική τους ικανότητα. Αυτή η εκδοχή βασίζεται στον τρόπο που κλιμακώνονται συνήθως τα συστήματα πλέγματος ενσωματώνοντας με την πάροδο του χρόνου νέες συστοιχίες οι οποίες κατά κανόνα είναι σύμφωνες με την τεχνολογία της εποχής. Σε αυτό το μοντέλο εξετάζουμε την εκδοχή κατά την οποία οι συστοιχίες ενός πλέγματος μπορεί να φέρουν πανομοιότυπους επεξεργαστές, αλλά να διαφέρουν ως προς τον αριθμό τους. Η προσέγγιση αυτή είναι περισσότερο αντιπροσωπευτική για νεότερα συστήματα στα οποία οι επεξεργαστές δεν διαφέρουν τόσο στην ταχύτητα όσο στον αριθμό των πυρήνων που ενσωματώνουν [36] καθώς και στην ενσωμάτωση άλλων τεχνολογικών χαρακτηριστικών όπως εικονοποίηση (virtualization), υπερνηματισμό (hyperthreading) και αρχιτεκτονικές που βοηθούν στην εξοικονόμησης ενέργειας. 2.3.2 Μοντέλο φόρτου εργασίας με δέσμες παράλληλων εργασιών τύπου ομάδας Το εξεταζόμενο μοντέλο διαχειρίζεται δύο ρεύματα αφίξεων εργασιών όπως φαίνεται στο σχήμα 2.1. Το ένα ρεύμα αφίξεων αφορά κρίσιμες εργασίες που καταφθάνουν στο σύστημα και το άλλο ρεύμα αφορά δέσμες παράλληλων εργασιών τύπου ομάδας (Bags of Gangs - BoGs). Οι μεταξύ των αφίξεων χρόνοι για τις εργασίες ακολουθούν την εκθετική κατανομή. Μία δέσμη παράλληλων εργασιών τύπου ομάδας (BoG) αποτελείται από ανεξάρτητα gangs που καταφθάνουν ομαδικά στο σύστημα με τη μορφή μιας ενιαίας δέσμης. Ένα BoG ολοκληρώνει την εκτέλεσή του όταν όλες οι υπο-εργασίες που ανήκουν σε αυτό εκτελεσθούν και αναχωρήσουν από το σύστημα: δηλαδή ισχύει

38 Κεφάλαιο 2: Χρονοδρομολόγηση δεσμών παράλληλων εργασιών τύπου ομάδας όπου t end of BoG είναι ο χρόνος τερματισμού του BoG και t max t,, t end of BoG end 1 end n t end x, x:1 n είναι ο χρόνος τερματισμού της x υπο-εργασίας. Ο αριθμός των υποεργασιών από τα οποία μπορεί να αποτελείται ένα BoG είναι ομοιόμορφα κατανεμημένος στο διάστημα [1...4]. Στο σχήμα 2.2 απεικονίζεται μία ανεξάρτητη εργασία τύπου ομάδας, ενώ στο σχήμα 2.3 απεικονίζεται το μοντέλο ενός BoG. Οι υποεργασίες από τις οποίες απαρτίζεται ένα BoG έχουν κοινό χρόνο άφιξης (ίδιο με αυτό του BoG), αλλά ο χρόνος έναρξης της εκτέλεσης καθώς και η διάρκεια εκτέλεσης μπορεί να διαφέρει σε κάθε gang. Επίσης, ο αριθμός των παράλληλων διεργασιών (tasks) από τις οποίες αποτελείται η κάθε υπο-εργασία είναι ανεξάρτητος. Ο αριθμός των παράλληλων διεργασιών της κάθε υπο-εργασίας είναι ομοιόμορφα κατανεμημένος στο διάστημα [1...8]. Ο χρόνος απόκρισης ενός BoG επηρεάζεται επίσης από την τεχνική των μεταναστεύσεων που υλοποιείται στο σύστημα καθώς και από την άφιξη κρίσιμων εργασιών οι οποίες μπορούν να διακόψουν την εκτέλεση ενός gang προκειμένου να ξεκινήσει άμεσα η εκτέλεσή τους. Συνεπώς, η εκτίμηση της απόδοσης των αλγορίθμων χρονοδρομολόγησης στην περίπτωση που εμπεριέχονται BoGs στο φόρτο εργασίας είναι εξαιρετικά πολύπλοκη για να επιτευχθεί με αναλυτικές μεθόδους. Με τη χρήση ενός μοντέλου προσομοίωσης διακεκριμένων γεγονότων [37] μας δίνεται η δυνατότητα να εκτιμήσουμε την απόδοση διαφόρων πολιτικών χρονοδρομολόγησης για αυτό το είδος του φόρτου εργασίας. gang t start t arrival of a gang t task dispatching 1 2 t end N Σχήμα 2.2: Μοντέλο παράλληλης εργασίας τύπου ομάδας με N διεργασίες.