«ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ

Σχετικά έγγραφα
Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση

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

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 5: Εισαγωγή στην Προσομοίωση

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

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

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

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

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

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

3. Προσομοίωση ενός Συστήματος Αναμονής.

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

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

ΠΡΟΣΟΜΟΙΩΣΗ. Προσομοίωση είναι η μίμηση της λειτουργίας ενός πραγματικού συστήματος και η παρακολούθηση της εξέλιξης του μέσα στο χρόνο.

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

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

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

Πλεονεκτήματα και μειονεκτήματα της προσομοίωσης

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

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

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

Υπάρχουν τρεις εναλλακτικές τεχνικές για την ανάλυση της απόδοσης ενός συστήµατος:

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

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

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Προσομοίωση ενός συστήματος αναμονής

Μοντελοποίηση, Ανάλυση και Σχεδιασμός Στοχαστικών Συστημάτων

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

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

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

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

Προσομοίωση Βιομηχανικής Παραγωγής & Επιχειρήσεων

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

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ 1

Κεφάλαιο 10 ο Υποπρογράµµατα

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

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

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Παράμετροι Συστημάτων Αναμονής Τύπος Little

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND. 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή

Δίκτυα Κινητών και Προσωπικών Επικοινωνιών

Ανάλυση Δεδοµένων µε χρήση του Στατιστικού Πακέτου R

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

ιπλωµατική Εργασία Επιµέλεια Συγγραφή: ΗΜΗΤΡΙΑ ΟΥ ΣΟΦΙΑ 891 Υπεύθυνη Καθηγήτρια Καρατζά Ελένη

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

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

Σχεδιασµός βασισµένος σε συνιστώσες

ΜΟΝΤΕΛΑ ΙΑΚΡΙΤΩΝΣΥΣΤΗΜΑΤΩΝ

Προσομοίωση Συστημάτων

Περίληψη ιπλωµατικής Εργασίας

Αρχιτεκτονική Λογισμικού

Προσομοίωση Μοντέλων Επιχειρησιακών Διαδικασιών

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

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

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

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

Υπολογιστικό Πρόβληµα

Μεταπτυχιακή ιατριβή ΗΜΗΤΡΙΑ ΟΥ ΣΟΦΙΑ. Πτυχιούχος Πληροφορικής ΑΠΘ. Επιβλέπουσα Καθηγήτρια Καρατζά Ελένη

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

ΑΕΠΠ Ερωτήσεις θεωρίας

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

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

Οι περιπτώσεις χρήσης

Τεχνο-οικονοµικά Συστήµατα ιοίκηση Παραγωγής & Συστηµάτων Υπηρεσιών

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

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

Search and Replication in Unstructured Peer-to-Peer Networks

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Μάιος 02. Αναγνωστόπουλος - Παν. Αθηνών 1

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

Προσομοίωση ΚΕΦΑΛΑΙΟ 7

5.1. Χωροταξικός Σχεδιασμός Κριτήρια αξιολόγησης Χωροταξικού Σχεδιασμού Δραστηριότητες Χωροταξικού Σχεδιασμού...

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ

Ονοματεπώνυμο: Ερώτημα: Σύνολο Μονάδες: Βαθμός:

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

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

Περιεχόμενα. Γιατί Ένας Manager Πρέπει να Ξέρει Στατιστική. Περιεχόμενα. Η Ανάπτυξη και Εξέλιξη της Σύγχρονης Στατιστικής

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

Θεωρία Τηλεπικοινωνιακής Κίνησης Ενότητα 2: Θεμελιώδεις σχέσεις

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΑΡΑ ΕΙΓΜΑ ΠΡΟΣΟΜΕΙΩΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΑΡΑΓΩΓΗΣ. Καθηγητής Γ: Χρυσολούρης και ρ.. Μούρτζης ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ & ΑΕΡΟΝΑΥΠΗΓΩΝ ΜΗΧΑΝΙΚΩΝ

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

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ανάλυση Χρόνου, Πόρων & Κόστους

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

ΤΕΙ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. Διοίκηση Εργοταξίου

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

ΚΕΦΑΛΑΙΟ 8 ΣΥΜΠΕΡΑΣΜΑΤΑ. 8.1 Εισαγωγή

ΛΟΓΙΣΜΙΚΟ (software)

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Κατανεμημένα Συστήματα Ι

Transcript:

Α ΡΙΣΤΟΤΕΛΕΙΟ Π ΑΝΕΠΙΣΤΗΜΙΟ Θ ΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΑΤΡΙΒΗ «ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΕΚΤΙΜΗΣΗ ΤΗΣ ΑΠΟΔΟΣΗΣ» Job Scheduling in Distributed Systems Simulation and Performance Analysis «ΣΠΑΝΟΣ ΜΙΧΑΗΛ» ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΡΑΤΖΑ ΕΛΕΝΗ, ΚΑΘΗΓΗΤΡΙΑ ΘΕΣΣΑΛΟΝΙΚΗ 2014

ΠΕΡΙΛΗΨΗ Π ΕΡΙΛΗΨΗ Η παρούσα εργασία αποτελεί τµήµα του Μεταπτυχιακού Προγράµµατος Σπουδών του Αριστοτέλειου Πανεπιστηµίου Θεσσαλονίκης. Η ανάθεσή της έγινε από την καθηγήτρια Κα Ελένη Καρατζά, και το αντικείµενο µελέτης της είναι η Χρονοδροµολόγηση εργασιών σε κατανεµηµένα συστήµατα προσοµοίωση και εκτίµηση της απόδοσης. Αντικείµενο της παρούσας εργασίας είναι η χρονοδροµολόγηση εργασιών σε κατανεµηµένα συστήµατα όπως προαναφέρθηκε. Υλοποιήθηκαν έξι σενάρια χρονοδροµολόγησης εργασιών, σε κατανεµηµένα συστήµατα. Πιο αναλυτικά, εξετάστηκαν περιπτώσεις παράλληλης εκτέλεσης των tasks που απαρτίζουν την εκάστοτε διεργασία που βρισκόταν υπό εξυπηρέτηση καθώς και συνδυασµός σειριακής-παράλληλης εκτέλεσης µε πιθανότητα 20% και 30%. Τα βασικά σενάρια ήταν: Minimum Load Probabilities Ως Minimum Load (ελάχιστος φόρτος), ορίζουµε των µικρότερο αριθµό task που βρίσκονται τόσο στους πυρήνες όσο και στις ουρές των server (αθροιστικά). Στην δεύτερη περίπτωση, αυτή των πιθανοτήτων, κάθε job έχει ίση πιθανότητα να δροµολογηθεί σε οποιονδήποτε server του εκάστοτε site. Η εργασία δοµείται σε κεφάλαια ως εξής: Στο Κεφάλαιο 1, γίνεται µία αναφορά στην ανάγκη για εύρεση κατάλληλων αλγορίθµων χρονοδροµολόγησης και µοντελοποίησης των συστηµάτων. Στο Κεφάλαιο 2, γίνεται αναφορά στον όρο της προσοµοίωσης καθώς και σε βασικά χαρακτηριστικά της. Στο Κεφάλαιο 3, γίνεται µία αναφορά στα συστήµατα Grid. Στο Κεφάλαιο 4, αναφερόµαστε σε βασικά στοιχεία ανάλυσης απόδοσης, σε παράγοντες που χαρακτηρίζουν ένα σύστηµα καθώς και σε µετρικές απόδοσης. Στο Κεφάλαιο 5, γίνεται ανάλυση του συστήµατος καθώς και µία σύντοµη παρουσίαση της υλοποίησης του. Τέλος, στο τελευταίο κεφάλαιο παρουσιάζονται τα αποτελέσµατα των πειραµάτων εκτέλεσης µε τις διάφορες παραµέτρους που χρησιµοποιήθηκαν πλαισιωµένα από ραβδογράµµατα, πίνακες και γραφήµατα µε τις τιµές από τα εξαγόµενα αρχεία. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ V

ABSTRACT A BSTRACT This project is part of the Postgraduate Program of the Aristotle University of Thessaloniki. It was assigned by Dr. Helen Karatza and its subject is Job scheduling in distributed systems- Simulation and Performance Analysis. Main subject of this project is Job Scheduling in distributed systems as mentioned above. Six scenarios were implemented based mainly on two of them: Minimum Load is the first scenario Probabilities is the second one. There were two variation on the above scenarios based on the service of the tasks that composed each job. At first, we examined only the parallel service of the tasks and as a variation of the scenarios we used a fixed probability (20%, 30%) of both parallel and serial service. The project is structured into chapters as follows: In Chapter 1, we present the necessity of efficient job scheduling algorithms in order to perform better simulation strategies in distributed systems. In Chapter 2, we refer to the basic elements of Simulation. In Chapter 3, there is a brief presentation of Grid systems. In Chapter 4, we refer to key elements of performance analysis, factors that characterize a system as well as performance metrics. In Chapter 5, we have an analysis of the system as well as brief analysis of the system implementation. Finally, the last chapter presents the results of experiments with various parameters used along with bar charts, tables and graphs with the analytical values of the extracts files. ΔΙΚΤΥΑΚΑ ΕΙΚΟΝΙΚΑ ΕΚΠΑΙΔΕΥΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ: Η ΠΛΑΤΦΟΡΜΑ EVE VI

ΕΥΧΑΡΙΣΤΙΕΣ Ε ΥΧΑΡΙΣΤΙΕΣ Πριν την παρουσίαση των αποτελεσµάτων της παρούσας µεταπτυχιακής διατριβής, αισθάνοµαι την υποχρέωση να ευχαριστήσω την επιβλέπουσα καθηγήτρια, Κα Ελένη Καρατζά για την βοήθεια που µου προσέφερε, την εµπιστοσύνη που µου έδειξε για την ανάθεσή της και τον χρόνο που αφιέρωσε σε όλο το διάστηµα εκπόνησης της εργασίας. Αφιερώνω επίσης την εργασία αυτή στους γονείς µου, που τόσα χρόνια µε στήριξαν οικονοµικά και ψυχολογικά. Τέλος, αφιερώνω την εργασία αυτή σε όλους τους φίλους µου, που µου στάθηκαν όλο αυτό τον καιρό ο καθένας µε τον δικό του τρόπο. Ιούνιος 2014 Θεσσαλονίκη, Σπανός Μιχαήλ ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ VII

ΠΕΡΙΕΧΟΜΕΝΑ Π ΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΛΗΨΗ... V! ABSTRACT... VI! ΕΥΧΑΡΙΣΤΙΕΣ... VII! ΠΕΡΙΕΧΟΜΕΝΑ... IX! ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ... XI! ΛΙΣΤΑ ΠΙΝΑΚΩΝ... 13! ΛΙΣΤΑ ΓΡΑΦΗΜΑΤΩΝ... 14! ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ... 15! ΚΕΦΑΛΑΙΟ 2: ΠΡΟΣΟΜΟΙΩΣΗ... 19! 2.1 ΣΥΣΤΗΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ... 20! 2.2 ΟΡΓΑΝΩΣΗ ΜΟΝΤΕΛΟΥ ΠΡΟΣΟΜΟΙΩΣΗΣ... 21! 2.3 ΤΑ ΒΗΜΑΤΑ ΜΙΑΣ ΜΕΛΕΤΗΣ ΜΕ ΠΡΟΣΟΜΟΙΩΣΗ... 22! 2.4 ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΚΑΙ ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΤΗΣ ΠΡΟΣΟΜΟΙΩΣΗΣ... 23! ΚΕΦΑΛΑΙΟ 3: ΣΥΣΤΗΜΑΤΑ GRID... 25! 3.1 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΟΥ GRID... 26! 3.2 ΔΙΑΜΟΙΡΑΣΜΟΣ ΠΟΡΩΝ... 26! 3.3 ΣΧΕΔΙΑΣΜΟΣ ΜΟΝΤΕΛΟΥ ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗΣ ΣΤΟ GRID... 27! 3.4 ΑΡΧΙΤΕΚΤΟΝΙΚΗ GRID... 28! 3.5 ΤΥΠΟΙ GRID... 29! 3.6 ΠΡΟΫΠΟΘΕΣΕΙΣ GRID... 29! 3.7 ΛΕΙΤΟΥΡΓΙΕΣ GRID... 30! ΚΕΦΑΛΑΙΟ 4: ΑΝΑΛΥΣΗ ΑΠΟΔΟΣΗΣ: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ... 31! 4.1 ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΣΥΣΤΗΜΑΤΩΝ ΟΥΡΩΝ... 32! 4.2 ΠΑΡΑΓΟΝΤΕΣ ΠΟΥ ΧΑΡΑΚΤΗΡΙΖΟΥΝ ΕΝΑ ΣΥΣΤΗΜΑ... 32! 4.3 ΠΑΡΑΜΕΤΡΟΙ ΑΠΟΔΟΣΗΣ... 33! 4.3.1 ΠΟΣΟΤΙΚΕΣ ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ... 33! ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ IX

ΠΕΡΙΕΧΟΜΕΝΑ 4.3.2 ΜΕΤΡΙΚΕΣ ΑΠΟΔΟΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 33! 4.3.3 ΚΑΝΟΝΑΣ ΤΟΥ LITTLE... 35! ΚΕΦΑΛΑΙΟ 5: ΑΝΑΛΥΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 36! 5.1 ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 37! 5.2 ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 37! 5.3 ΓΡΑΦΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΤΟΥ ΜΟΝΤΕΛΟΥ... 38! 5.3.1 ΔΙΑΔΙΚΑΣΙΑ ΑΦΙΞΕΩΝ... 38! 5.3.2 ΔΙΑΔΙΚΑΣΙΑ ΕΞΥΠΗΡΕΤΗΣΕΩΝ... 39! 5.4 SERIAL PARALLEL... 40! 5.5 ΥΛΟΠΟΙΗΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 40! 5.6 ΠΕΡΙΠΤΩΣΗ ΕΠΙΛΟΓΗΣ SERVER ΜΕ ΤΟΝ ΕΛΑΧΙΣΤΟ ΦΟΡΤΟ... 41! ΠΕΡΙΠΤΩΣΗ ΕΠΙΛΟΓΗΣ SERVER ΜΕ ΤΟΝ ΕΛΑΧΙΣΤΟ ΦΟΡΤΟ ΣΕΙΡΙΑΚΗ ΠΑΡΑΛΛΗΛΗ ΕΚΤΕΛΕΣΗ... 41! 5.7 ΠΕΡΙΠΤΩΣΗ ΕΠΙΛΟΓΗΣ SERVER ΜΕ ΙΣΗ ΠΙΘΑΝΟΤΗΤΑ... 42! ΠΕΡΙΠΤΩΣΗ ΕΠΙΛΟΓΗΣ SERVER ΜΕ ΙΣΗ ΠΙΘΑΝΟΤΗΤΑ ΣΕΙΡΙΑΚΗ ΠΑΡΑΛΛΗΛΗ ΕΚΤΕΛΕΣΗ... 42! 5.8 ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ... 43! 5.8.1 ΠΕΡΙΠΤΩΣΗ ΕΠΙΛΟΓΗΣ SERVER ΜΕ ΕΛΑΧΙΣΤΟ ΦΟΡΤΟ... 43! 5.8.2 ΠΕΡΙΠΤΩΣΗ ΕΠΙΛΟΓΗΣ SERVER ΜΕ ΙΣΗ ΠΙΘΑΝΟΤΗΤΑ... 44! ΚΕΦΑΛΑΙΟ 6: ΑΝΑΛΥΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ... 45! 6.1 ΠΕΡΙΠΤΩΣΗ ΕΠΙΛΟΓΗΣ SERVER ΜΕ ΤΟΝ ΕΛΑΧΙΣΤΟ ΦΟΡΤΟ... 46! 6.1.1 1 Η ΣΕΙΡΑ ΠΕΙΡΑΜΑΤΩΝ ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΟΣ... 46! 6.1.2 2 Η ΣΕΙΡΑ ΠΕΙΡΑΜΑΤΩΝ ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΓΙΑ ΤΑ ΔΥΟ ΥΠΟΣΥΣΤΗΜΑΤΑ... 47! 6.1.3 3 Η ΣΕΙΡΑ ΠΕΙΡΑΜΑΤΩΝ ΜΕΣΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΑ ΔΥΟ ΥΠΟΣΥΣΤΗΜΑΤΑ... 49! 6.1.4 4 Η ΣΕΙΡΑ ΠΕΙΡΑΜΑΤΩΝ ΜΕΓΙΣΤΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ... 51! 6.1.5 5 Η ΣΕΙΡΑ ΠΕΙΡΑΜΑΤΩΝ ΜΕΣΟ ΠΛΗΘΟΣ ΕΡΓΑΣΙΩΝ ΣΤΟ ΣΥΣΤΗΜΑ... 53! 6.2 ΠΕΡΙΠΤΩΣΗ ΕΠΙΛΟΓΗΣ SERVER ΜΕ ΙΣΗ ΠΙΘΑΝΟΤΗΤΑ... 55! 6.2.1 1 Η ΣΕΙΡΑ ΠΕΙΡΑΜΑΤΩΝ ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΟΣ... 55! 6.2.2 2 Η ΣΕΙΡΑ ΠΕΙΡΑΜΑΤΩΝ ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΓΙΑ ΤΑ ΔΥΟ ΥΠΟΣΥΣΤΗΜΑΤΑ... 56! 6.2.3 3 Η ΣΕΙΡΑ ΠΕΙΡΑΜΑΤΩΝ ΜΕΣΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΑ ΔΥΟ ΥΠΟΣΥΣΤΗΜΑΤΑ... 58! 6.2.4 4 Η ΣΕΙΡΑ ΠΕΙΡΑΜΑΤΩΝ ΜΕΓΙΣΤΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ... 60! 6.2.5 5 Η ΣΕΙΡΑ ΠΕΙΡΑΜΑΤΩΝ ΜΕΣΟ ΠΛΗΘΟΣ ΕΡΓΑΣΙΩΝ ΣΤΟ ΣΥΣΤΗΜΑ... 62! 6.3 ΣΥΓΚΡΙΣΕΙΣ ΤΩΝ ΔΥΟ ΜΕΘΟΔΩΝ... 64! 6.3.1 ΣΥΓΚΡΙΣΗ ΣΥΝΟΛΙΚΩΝ ΧΡΟΝΩΝ ΠΡΟΣΟΜΟΙΩΣΗΣ... 64! 6.3.2 ΣΥΓΚΡΙΣΗ ΜΕΣΗΣ ΧΡΗΣΙΜΟΠΟΙΗΣΗΣ ΣΥΣΤΗΜΑΤΟΣ... 65! 6.3.3 ΣΥΓΚΡΙΣΗ ΜΕΣΟΥ ΧΡΟΝΟΥ ΑΠΟΚΡΙΣΗΣ ΤΩΝ ΥΠΟΣΥΣΤΗΜΑΤΩΝ... 66! 6.3.4 ΣΥΓΚΡΙΣΗ ΜΕΣΟΥ ΠΛΗΘΟΥΣ ΕΡΓΑΣΙΩΝ ΣΤΟ ΚΑΘΕ ΥΠΟΣΥΣΤΗΜΑ... 68! ΚΕΦΑΛΑΙΟ 7: ΣΥΜΠΕΡΑΣΜΑΤΑ... 70! ΠΑΡΑΡΤΗΜΑ I:! ΑΝΑΦΟΡΕΣ... 73! X

Λ ΙΣΤΑ Σ ΧΗΜΑΤΩΝ ΕΙΚΟΝΑ 1 ΤΡΟΠΟΙ ΜΕΛΕΤΗΣ ΕΝΟΣ ΣΥΣΤΗΜΑΤΟΣ... 20! ΕΙΚΟΝΑ 2 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ GRID [31]... 28! ΕΙΚΟΝΑ 3 ΓΡΑΦΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΤΟΥ ΜΟΝΤΕΛΟΥ... 38! ΕΙΚΟΝΑ 4 ROUND ROBIN ΕΠΙΛΟΓΗ SERVER... 39! ΕΙΚΟΝΑ 5 ΥΛΟΠΟΙΗΣΗ ΣΥΝΑΡΤΗΣΗΣ ΓΙΑ ΤΗΝ ΠΕΡΙΠΤΩΣΗ ΕΛΑΧΙΣΤΟΥ ΦΟΡΤΟΥ... 41! ΕΙΚΟΝΑ 6 ΟΡΙΣΜΟΣ ΠΙΘΑΝΟΤΗΤΑΣ ΣΕΙΡΙΑΚΗΣ-ΠΑΡΑΛΛΗΛΗΣ ΕΚΤΕΛΕΣΗΣ ΓΙΑ ΤΟΝ SERVER ΜΕ ΤΟΝ ΕΛΑΧΙΣΤΟ ΦΟΡΤΟ... 41! ΕΙΚΟΝΑ 7 ΥΛΟΠΟΙΗΣΗ ΣΥΝΑΡΤΗΣΗΣ ΓΙΑ ΤΗΝ ΠΕΡΙΠΤΩΣΗ ΙΣΗΣ ΠΙΘΑΝΟΤΗΤΑΣ... 42! ΕΙΚΟΝΑ 8 ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΓΙΑ ΤΗΝ ΠΕΡΙΠΤΩΣΗ ΕΠΙΛΟΓΗΣ SERVER ΜΕ ΤΟΝ ΕΛΑΧΙΣΤΟ ΦΟΡΤΟ... 43! ΕΙΚΟΝΑ 9 ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΓΙΑ ΤΗΝ ΠΕΡΙΠΤΩΣΗ ΕΠΙΛΟΓΗΣ SERVER ΜΕ ΙΣΗ ΠΙΘΑΝΟΤΗΤΑ... 44! ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ XI

Λ ΙΣΤΑ Π ΙΝΑΚΩΝ ΠΙΝΑΚΑΣ 1 ΚΑΤΑΝΟΜΕΣ... 32! ΠΙΝΑΚΑΣ 2 ΠΟΣΟΤΗΤΕΣ ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ... 33! ΠΙΝΑΚΑΣ 3 ΜΕΤΡΙΚΕΣ ΑΠΟΔΟΣΗΣ... 33! ΠΙΝΑΚΑΣ 4 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΟΣ... 47! ΠΙΝΑΚΑΣ 5 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΤΟΥ ΠΡΩΤΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 48! ΠΙΝΑΚΑΣ 6 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΤΟΥ ΔΕΥΤΕΡΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 48! ΠΙΝΑΚΑΣ 7 ΜΕΣΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΤΟΥ ΠΡΩΤΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 49! ΠΙΝΑΚΑΣ 8 ΜΕΣΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΤΟΥ ΔΕΥΤΕΡΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 50! ΠΙΝΑΚΑΣ 9 ΜΕΓΙΣΤΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΟ ΠΡΩΤΟ ΥΠΟΣΥΣΤΗΜΑ... 51! ΠΙΝΑΚΑΣ 10 ΜΕΓΙΣΤΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΟ ΔΕΥΤΕΡΟ ΥΠΟΣΥΣΤΗΜΑ... 52! ΠΙΝΑΚΑΣ 11 ΜΕΣΟ ΠΛΗΘΟΣ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΠΡΩΤΟ ΥΠΟΣΥΣΤΗΜΑ... 53! ΠΙΝΑΚΑΣ 12 ΜΕΣΟ ΠΛΗΘΟΣ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΔΕΥΤΕΡΟ ΥΠΟΣΥΣΤΗΜΑ... 54! ΠΙΝΑΚΑΣ 13 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 55! ΠΙΝΑΚΑΣ 14 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΤΟΥ ΠΡΩΤΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 56! ΠΙΝΑΚΑΣ 15 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΤΟΥ ΔΕΥΤΕΡΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 57! ΠΙΝΑΚΑΣ 16 ΜΕΣΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΤΟΥ ΠΡΩΤΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 58! ΠΙΝΑΚΑΣ 17 ΜΕΣΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΤΟΥ ΔΕΥΤΕΡΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 59! ΠΙΝΑΚΑΣ 18 ΜΕΓΙΣΤΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΟ ΠΡΩΤΟ ΥΠΟΣΥΣΤΗΜΑ... 60! ΠΙΝΑΚΑΣ 19 ΜΕΓΙΣΤΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΟ ΔΕΥΤΕΡΟ ΥΠΟΣΥΣΤΗΜΑ... 61! ΠΙΝΑΚΑΣ 20 ΜΕΣΟ ΠΛΗΘΟΣ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΠΡΩΤΟ ΥΠΟΣΥΣΤΗΜΑ... 62! ΠΙΝΑΚΑΣ 21 ΜΕΣΟ ΠΛΗΘΟΣ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΔΕΥΤΕΡΟ ΥΠΟΣΥΣΤΗΜΑ... 63! ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 13

Λ ΙΣΤΑ ΓΡΑΦΗΜΑΤΩΝ ΓΡΑΦΗΜΑ 1 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΕΡΙΠΤΩΣΗ MINIMUM LOAD... 46! ΓΡΑΦΗΜΑ 2 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΤΟΥ ΠΡΩΤΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 47! ΓΡΑΦΗΜΑ 3 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΤΟΥ ΔΕΥΤΕΡΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 48! ΓΡΑΦΗΜΑ 4 ΜΕΣΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΤΟΥ ΠΡΩΤΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 49! ΓΡΑΦΗΜΑ 5 ΜΕΣΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΤΟΥ ΔΕΥΤΕΡΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 50! ΓΡΑΦΗΜΑ 6 ΜΕΓΙΣΤΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΟ ΠΡΩΤΟ ΥΠΟΣΥΣΤΗΜΑ... 51! ΓΡΑΦΗΜΑ 7 ΜΕΓΙΣΤΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΟ ΔΕΥΤΕΡΟ ΥΠΟΣΥΣΤΗΜΑ... 52! ΓΡΑΦΗΜΑ 8 ΜΕΣΟ ΠΛΗΘΟΣ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΠΡΩΤΟ ΥΠΟΣΥΣΤΗΜΑ... 53! ΓΡΑΦΗΜΑ 9 ΜΕΣΟ ΠΛΗΘΟΣ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΔΕΥΤΕΡΟ ΥΠΟΣΥΣΤΗΜΑ... 54! ΓΡΑΦΗΜΑ 10 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 55! ΓΡΑΦΗΜΑ 11 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΤΟΥ ΠΡΩΤΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 56! ΓΡΑΦΗΜΑ 12 ΜΕΣΗ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΤΟΥ ΔΕΥΤΕΡΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 57! ΓΡΑΦΗΜΑ 13 ΜΕΣΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΤΟΥ ΠΡΩΤΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 58! ΓΡΑΦΗΜΑ 14 ΜΕΣΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΤΟΥ ΔΕΥΤΕΡΟΥ ΥΠΟΣΥΣΤΗΜΑΤΟΣ... 59! ΓΡΑΦΗΜΑ 15 ΜΕΓΙΣΤΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΟ ΠΡΩΤΟ ΥΠΟΣΥΣΤΗΜΑ... 60! ΓΡΑΦΗΜΑ 16 ΜΕΓΙΣΤΟΣ ΧΡΟΝΟΣ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΟ ΔΕΥΤΕΡΟ ΥΠΟΣΥΣΤΗΜΑ... 61! ΓΡΑΦΗΜΑ 17 ΜΕΣΟ ΠΛΗΘΟΣ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΠΡΩΤΟ ΥΠΟΣΥΣΤΗΜΑ... 62! ΓΡΑΦΗΜΑ 18 ΜΕΣΟ ΠΛΗΘΟΣ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΔΕΥΤΕΡΟ ΥΠΟΣΥΣΤΗΜΑ... 63! ΓΡΑΦΗΜΑ 19 ΣΥΓΚΡΙΣΗ ΣΥΝΟΛΙΚΟΥ ΧΡΟΝΟΥ ΠΡΟΣΟΜΟΙΩΣΗΣ... 64! ΓΡΑΦΗΜΑ 20 ΣΥΓΚΡΙΣΗ ΜΕΣΗΣ ΧΡΗΣΙΜΟΠΟΙΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 65! ΓΡΑΦΗΜΑ 21 ΣΥΓΚΡΙΣΗ ΜΕΣΟΥ ΧΡΟΝΟΥ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΟ ΠΡΩΤΟ ΥΠΟΣΥΣΤΗΜΑ... 66! ΓΡΑΦΗΜΑ 22 ΣΥΓΚΡΙΣΗ ΜΕΣΟΥ ΧΡΟΝΟΥ ΑΠΟΚΡΙΣΗΣ ΓΙΑ ΤΟ ΔΕΥΤΕΡΟ ΥΠΟΣΥΣΤΗΜΑ... 67! ΓΡΑΦΗΜΑ 23 ΣΥΓΚΡΙΣΗ ΜΕΣΟΥ ΠΛΗΘΟΥΣ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΠΡΩΤΟ ΥΠΟΣΥΣΤΗΜΑ... 68! ΓΡΑΦΗΜΑ 24 ΣΥΓΚΡΙΣΗ ΜΕΣΟΥ ΠΛΗΘΟΥΣ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΔΕΥΤΕΡΟ ΥΠΟΣΥΣΤΗΜΑ... 69! ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 14

ΚΕΦΑΛΑΙΟ 1: Ε ΙΣΑΓΩΓΗ ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 15

ΕΙΣΑΓΩΓΗ Με την πάροδο του χρόνου και µε την ανάπτυξη της τεχνολογίας οδηγηθήκαµε σε µεγαλύτερη ζήτηση για ταχύτερη και αποδοτικότερη εξυπηρέτηση υπηρεσιών. Όµως, η ανάγκη αυτή είχε ως αποτέλεσµα στην µεγάλη κατανάλωση και σπατάλη ενέργειας. Παράλληλα µε την ανάπτυξη της τεχνολογίας Grid παρατηρήθηκε και µεγαλύτερη ζήτηση για απεριόριστη υπολογιστική ισχύ, απεριόριστο αποθηκευτικό χώρο καθώς και πρόσβαση σε αποµακρυσµένους πόρους. Οδηγούµαστε λοιπόν σε αναζήτηση τεχνικών ώστε να ελαχιστοποιήσουµε όσο το δυνατόν γίνεται την κατανάλωση ενέργειας χωρίς όµως να µειώσουµε την ποιότητα εξυπηρέτησης καθώς και την αποδοτικότητα των συστηµάτων. Έχοντας, λοιπόν, ως δεδοµένο τους παραπάνω παράγοντες, πρέπει να λαµβάνουµε υπόψη και τον βαθµό της ποιότητας της εξυπηρέτησης [1], όπου και είναι βασικός παράγοντας για την αποδοτικότερη λειτουργία των υπολογιστικών συστηµάτων. Επιπλέον, σηµαντικός παράγοντας για την βελτιστοποίηση της απόδοσης είναι και η καλύτερη αξιοποίηση των υπολογιστικών πόρων. Κάτι τέτοιο επιτυγχάνεται µε την σωστή υλοποίηση τεχνικών χρονοπρογραµµατισµού των διεργασιών ρυθµίζοντας έτσι την χρονοδροµολόγησή τους στους καταλληλότερους πόρους µέσα στο σύστηµα. Συγκρίνοντας τα κατανεµηµένα συστήµατα µε τα κεντρικοποιηµένα παρατηρούµε ότι τα συστήµατα αυτά υπερτερούν σε σχέση µε τα αντίστοιχα κεντρικοποιηµένα συστήµατα, επειδή έχουν καλύτερο λόγο (Κόστους)/(Απόδοσης). Επίσης, έχουν συνολικά περισσότερη υπολογιστική ισχύ από ένα κεντρικό υπολογιστικό σύστηµα και σε περίπτωση βλάβης ή κατάρρευσης µιας µηχανής, το σύστηµα µπορεί να συνεχίσει να λειτουργεί. Το σύστηµα υλοποιείται µέσω ενός δικτύου επικοινωνίας και ενός ενδιάµεσου λογισµικού το οποίο συντονίζει τις ενέργειες και διαµοιράζει τους πόρους και φαίνεται σαν ένα αυτόνοµο σύστηµα στον τελικό χρήστη. Τέλος, υπάρχουν πολλά είδη κατανεµηµένων συστηµάτων τα οποία κατηγοριοποιούνται βάση τον τρόπο που συνεργάζονται οι πόροι για να πετύχουν το τελικό αποτέλεσµα, την ιεραρχία των πόρων και τέλος του ενδιάµεσου λογισµικού που χρησιµοποιούν. Πέραν λοιπόν του υλικού εξοπλισµού που απαιτείται για την υλοποίηση τέτοιων συστηµάτων, είναι αναγκαίο να γίνει και ο σωστός σχεδιασµός τους ώστε να είναι αποδοτικά. Έτσι, οδηγούµαστε στην προσοµοίωση των υπολογιστικών συστηµάτων πριν φτάσουµε στο σηµείο του υλικού εξοπλισµού τους. Για την προσοµοίωση κάθε συστήµατος πρέπει να γραφεί κάποιο συγκεκριµένο πρόγραµµα. Επειδή όµως τα περισσότερα συστήµατα είναι πολύπλοκα, τα προγράµµατα που πρέπει να γραφτούν είναι µεγάλα και δύσκολα σε συγγραφή. Ως προσοµοίωση ορίζουµε την «µίµηση» της λειτουργίας συστηµάτων ή της εξέλιξης διαδικασιών µέσα στον χρόνο µε την βοήθεια υπολογιστή. Είναι πειραµατική µέθοδος µε σκοπό την βελτιστοποίηση ενός συστήµατος, την µελέτη λειτουργίας του και τέλος, την ανάλυση των οριακών συνθηκών λειτουργίας του. Η ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 16

διαδικασία προς µελέτη ονοµάζεται συνήθως σύστηµα όπου για την µελέτη του γίνονται κάποιες απλοποιήσεις ή υποθέσεις σχετικά µε τον τρόπο λειτουργίας του. Οι υποθέσεις αυτές είναι συνήθως µαθηµατικές και λογικές σχέσεις όπου αυτές συνθέτουν ένα µοντέλο, η χρησιµοποίηση του οποίου βοηθάει στην καλύτερη κατανόηση της συµπεριφοράς ενός πραγµατικού συστήµατος. Όσον αφορά τις σχέσεις που περιγράφουν την εξέλιξη του συστήµατος, µπορούν να είναι ή απλές ή σύνθετες. Στις απλές, χρησιµοποιούνται µαθηµατικές µέθοδοι και λέµε ότι επιλύεται αναλυτικά. Ωστόσο, τα περισσότερα συστήµατα είναι σύνθετα και τα µοντέλα τους δεν µπορούν να επιλυθούν αναλυτικά, αλλά µόνο µε προσοµοίωση όπου το µοντέλο υπολογίζεται αριθµητικά και µπορούµε να κάνουµε µία εκτίµηση των πραγµατικών χαρακτηριστικών του µοντέλου. Έχοντας κάνει µία αναφορά στον ορισµό της προσοµοίωσης πρέπει να υπολογίσουµε και άλλους παράγοντες σύµφωνα µε τους οποίους τα συστήµατα που θα υλοποιούνται να έχουν την µέγιστη δυνατή απόδοση µε το µικρότερο κόστος. Αξίζει να σηµειωθεί ότι µε την πάροδο του χρόνου περισσότεροι παράµετροι εµφανίστηκαν στο προσκήνιο µε κυριότερο αυτόν της εξοικονόµησης ενέργειας. Όπως και σε όλους τους τοµείς, έτσι και στον τοµέα της πληροφορικής, η εύρεση τρόπων µείωσης της ενεργειακής σπατάλης αποτελεί καίριο ζήτηµα. Ο τρόπος που εξετάζουµε εµείς είναι αυτός της σωστής υλοποίησης των συστηµάτων ώστε να αποφεύγονται περιττές ενέργειες στο πρόγραµµα, οι οποίες εν τέλει θα οδηγήσουν σε αστάθεια. Ένας σηµαντικός παράγοντας για την επίτευξη της βέλτιστης απόδοσης ενός τέτοιου συστήµατος είναι η καλύτερη αξιοποίηση των υπαρχόντων υπολογιστικών πόρων. Μέρος της λύσης αυτού του προβλήµατος είναι οι τεχνικές χρονοπρογραµµατισµού εργασιών που ρυθµίζουν την χρονοδροµολόγηση των εργασιών του χρήστη σε κατάλληλους πόρους µέσα στο περιβάλλον του Grid. Όταν, µάλιστα η διαδικασία περιλαµβάνει παράλληλα tasks µιας εργασίας πρόκειται για ένα σύνθετο πρόβληµα που καθορίζει τόσο για το πότε θα εκτελεστεί µια διεργασία αλλά και πού θα εκτελεστεί. Όπως προαναφέραµε τα υπολογιστικά συστήµατα µοντελοποιούνται µε τέτοιον τρόπο ώστε να έχουµε το καλύτερο δυνατό αποτέλεσµα. Για να γίνει αυτό νέοι µέθοδοι χρονοπρογραµµατισµού εργασιών ήρθαν στο προσκήνιο. Ο παραλληλισµός των εργασιών άρχισε να εφαρµόζεται ολοένα και περισσότερο δίνοντας έτσι µεγαλύτερες δυνατότητες. Επίσης, οι διεργασίες µπορούν να χωριστούν σε block δεδοµένων τα οποία είτε εξυπηρετούνται από το σύστηµα όπου έφθασε η διεργασία είτε από κάποιο άλλο (job migration), δίνοντας µας έτσι µεγαλύτερη ποιότητα εξυπηρέτησης. Κατά τη διαδικασία του χρονοπρογραµµατισµού πρέπει να λαµβάνονται υπόψιν οι διάφοροι περιορισµοί της εργασίας και του Grid. Για να ληφθούν αποφάσεις χρονοπρογραµµατισµού χρησιµοποιούνται κάποια κριτήρια βελτιστοποίησης, που εκφράζονται από τις τιµές µιας αντικειµενικής συνάρτησης που µας επιτρέπει να µετρήσουµε την ποιότητα των πρακτικών. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 17

Εκτός από το κοµµάτι της υλοποίησης, η απόδοση των συστηµάτων επηρεάζεται και από διάφορους παράγοντες που σχετίζονται µε τον χώρο. Πιο συγκεκριµένα, τα data centers χωροθετούνται ως τεχνολογικές εγκαταστάσεις σε τοποθεσίες όπου υπάρχει πιο ψυχρό κλίµα, έτσι ώστε η απόδοση των µηχανών να είναι καλύτερη και οι φθορές ελάχιστες. Εισάγεται λοιπόν η έννοια του Green Computing ή αλλιώς Green Technology όπου παρουσιάζονται µερικοί απλοί τρόποι οι οποίοι µπορούν να φέρουν µεγάλες αλλαγές στην εξοικονόµηση ενέργειας. Τέτοιοι είναι: η αναστολή λειτουργίας των µονάδων κατά την περίοδο όπου βρίσκονται αδρανείς ώστε να αποφεύγεται το e-waste. Μπορούµε επίσης να προγραµµατίσουµε τα µηχανήµατα να εκτελούν τις περισσότερες διεργασίες µαζικά σε εκτενή time blocks ώστε να έχουµε µεγάλη περίοδο αδράνειας και αναστολής λειτουργίας των µηχανηµάτων. Σε κάποια τµήµατα των συστηµάτων όπου δεν απαιτούνται πολλές και κρίσιµες στην εξυπηρέτηση διεργασίες µπορούµε να αντικαταστήσουµε τις µονάδες εξυπηρέτησης µε άλλες λιγότερο ενεργειακά απαιτητικές (πχ laptops). Συνοψίζοντας, παρατηρούµε ότι µε την πάροδο του χρόνου οδηγούµαστε σε ολοένα και πιο πλήρη και αυτόνοµα υπολογιστικά συστήµατα από πλευράς hardware αφήνοντας περιθώριο βελτίωσης στον σωστό σχεδιασµό και υλοποίηση των προγραµµάτων χρονοδροµογόγησης των διεργασιών. Ως αποτέλεσµα, πάντοτε θα αναζητούµε τον καλύτερο συνδυασµό σε hardware software έτσι ώστε να καταλήγουµε τελικά στην βέλτιστη δυνατή εκµετάλλευση πόρων και ποιότητα εξυπηρέτησης. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 18

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

2.1 ΣΥΣΤΗΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ Αρχικά, ως σύστηµα ορίζεται µία συλλογή οντοτήτων, τα οποία λειτουργούν και συνεργάζονται για την παραγωγή έργου. Τα συστήµατα χωρίζονται σε διακεκριµένα και συνεχή. Στα συστήµατα διακριτού χρόνου, η κατάσταση µεταβάλλεται βηµατικά σε διακριτές χρονικές στιγµές, ενώ στα συνεχή η κατάσταση είναι συνεχής συνάρτηση του χρόνου. Λίγα από τα συστήµατα είναι διακριτά ή συνεχή, απλά επειδή µία από τις δύο ιδιότητες υπερισχύει, χαρακτηρίζεται το σύστηµα διακριτό ή συνεχές [5]. Εικόνα 1 Τρόποι µελέτης ενός συστήµατος Πειραµατισµοί µε το πραγµατικό σύστηµα και Πειραµατισµοί µε ένα µοντέλο του συστήµατος: κατασκευάζουµε ένα µοντέλο του συστήµατος που να παριστάνει το σύστηµα καθώς δεν µπορούµε να τροποποιήσουµε το ίδιο το σύστηµα. Αυτό γίνεται επειδή δεν είναι δυνατόν και οικονοµικά εύκολο να έχουµε φυσική πρόσβαση στο σύστηµα, κάτι που θα µας επέτρεπε να έχουµε την µέγιστη ακρίβεια στην µελέτη µας. Τέλος, όταν βρισκόµαστε στην φάση σχεδιασµού το σύστηµά µας δεν υπάρχει και οτιδήποτε θέλουµε να µελετήσουµε πρέπει να αναπαρασταθεί από ένα µοντέλο. Φυσικό Μοντέλο και Μαθηµατικό Μοντέλο: Φυσικό θεωρείται το µοντέλο που έχει κατασκευαστεί µε τέτοιο τρόπο ώστε να αναπαριστά το σύστηµα και να είναι µία σµίκρυνσή του. Τα περισσότερα όµως µοντέλα είναι µαθηµατικά και αναπαριστούν το σύστηµα µε λογικές και ποσοτικές σχέσεις οι οποίες µεταβάλλονται και µας ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 20

επιτρέπει να δούµε πως αντιδρά το µοντέλο και κατά συνέπεια πως θα αντιδρούσε το σύστηµα εάν το µαθηµατικό µοντέλο ήταν έγκυρο. Ένα παράδειγµα τέτοιου µαθηµατικού µοντέλου είναι ο υπολογισµός της απόστασης που έχει διανυθεί και αναπαρίσταται από τον τύπο, x= u* t Με x την απόσταση που έχει διανυθεί, u την ταχύτητα και t τον χρόνο. Με αυτόν τον τρόπο µπορούµε να εξετάσουµε τυχόν µεταβολές σε κάθε µεταβλητή του µοντέλου. Αναλυτική λύση και Προσοµοίωση: Εφόσον κατασκευαστεί ένα valid µαθηµατικό µοντέλο, πρέπει στην συνέχεια να εξεταστεί για να δούµε πως µπορεί να χρησιµοποιηθεί στην µελέτη ενός συστήµατος. Είναι χρήσιµη σε περιπτώσεις σύνθετων µαθηµατικών µοντέλων στα οποία µπορούµε να πάρουµε µόνο µία προσεγγιστική αναλυτική λύση. 2.2 ΟΡΓΑΝΩΣΗ ΜΟΝΤΕΛΟΥ ΠΡΟΣΟΜΟΙΩΣΗΣ Τα περισσότερα µοντέλα προσοµοίωσης διακριτών γεγονότων που βασίζονται στη µέθοδο εξέλιξης µε βάση τον χρόνο του επόµενου γεγονότος, χρησιµοποιούν κάποιους παράγοντες οι οποίοι οργανώνονται µε κάποια λογική [5]. Οι παράγοντες αυτοί είναι : Κατάσταση Συστήµατος (System state): Πρόκειται για µία συλλογή µεταβλητών κατάστασης του συστήµατος οι οποίες είναι απαραίτητες για την περιγραφή του σε κάποια χρονική στιγµή. Ρολόι Προσοµοίωσης (Simulation clock) : Πρόκειται για µία µεταβλητή η οποία δίνει την τρέχουσα τιµή του χρόνου προσοµοίωσης. Λίστα γεγονότων (Event list) : Είναι µία λίστα στην οποία περιέχεται ο επόµενος χρόνος που θα συµβεί ο κάθε τύπος γεγονότος. Στατιστικοί µετρητές (Statistical counters) : Μεταβλητές που χρησιµοποιούνται για την αποθήκευση στατιστικών πληροφοριών σχετικά µε την απόδοση του συστήµατος. Ρουτίνα έναρξης (Initialization routine): Υποπρόγραµµα το οποίο αρχικοποιεί το µοντέλο προσοµοίωσης τη χρονική στιγµή µηδέν. Ρουτίνα χρόνου (Timing routine): Υποπρόγραµµα που αναγνωρίζει το επόµενο γεγονός από την λίστα γεγονότων και έπειτα αυξάνει το ρολόι προσοµοίωσης στη χρονική στιγµή εµφάνισης του γεγονότος. Ρουτίνα γεγονότος (Event routine): Υποπρόγραµµα που ενηµερώνει την κατάσταση του συστήµατος για το πότε θα συµβεί ένα γεγονός κάποιου συγκεκριµένου τύπου. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 21

Ρουτίνες βιβλιοθηκών (Library routines): Σύνολο υποπρογραµµάτων που δηµιουργούν τυχαίες εµφανίσεις τιµών από πιθανοτικές κατανοµές, οι οποίες έχουν ορισθεί ως µέρος του µοντέλου προσοµοίωσης. Ρουτίνα αποτελεσµάτων (Report generator): Υποπρόγραµµα το οποίο υπολογίζει εκτιµήτριες των παραµέτρων της απόδοσης που επιθυµούµε και παράγει ένα σύνολο αποτελεσµάτων όταν τελειώσει η προσοµοίωση. Κυρίως πρόγραµµα (Main program): Είναι το πρόγραµµα που καλεί την ρουτίνα χρονισµού προκειµένου να καθοριστεί το επόµενο γεγονός. Έπειτα, µεταφέρει τον έλεγχο στην αντίστοιχη ρουτίνα γεγονότος για να ενηµερωθεί κατάλληλα η κατάσταση του συστήµατος. Τέλος, ελέγχει αν πρέπει να τερµατισθεί η προσοµοίωση και τότε καλεί τη γεννήτρια αναφορών. 2.3 ΤΑ ΒΗΜΑΤΑ ΜΙΑΣ ΜΕΛΕΤΗΣ ΜΕ ΠΡΟΣΟΜΟΙΩΣΗ Ας δούµε αναλυτικά το κάθε βήµα [5] : 1. Διατύπωση του προβλήµατος και σχεδιασµός µελέτης: Το πρόγραµµα υφίσταται µορφοποίηση ώστε να γίνει κατανοητό από τον αναλυτή. 2. Συλλογή των δεδοµένων και καθορισµός του µοντέλου: Συλλέγονται και αξιολογούνται όλα τα δεδοµένα και οι πληροφορίες για το µοντέλο που θα µας απασχολήσει. Είναι καλύτερο να ξεκινάµε από ένα απλό µοντέλο και στην συνέχεια να το προσθέτουµε τις λεπτοµέρειες που θα χρειαστούµε. 3. Έλεγχος εγκυρότητας µοντέλου: Σε αυτό το βήµα γίνεται ο έλεγχος για την εγκυρότητα του µοντέλου. Βέβαια θα ήταν προτιµότερο να κάναµε επαλήθευση σε κάθε βήµα της προσοµοίωσης, υπάρχουν όµως κάποια σηµεία όπου κάτι τέτοιο είναι επιτακτικό(βήµα 3 του παραπάνω γραφήµατος). Για να αυξήσουµε περαιτέρω την εγκυρότητα, ο σχεδιαστής µπορεί να επικοινωνήσει µε ανθρώπους που γνωρίζουν καλύτερα το αντικείµενο σχεδίασης. 4. Ανάπτυξη προγράµµατος και έλεγχος ορθότητας: Σε αυτό το βήµα εισάγουµε το µοντέλο στον υπολογιστή µε την µορφή προγράµµατος. Τα προγράµµατα µπορεί να είναι σε γλώσσες όπως C,C++,JAVA αλλά και σε ειδικές γλώσσες προσοµοίωσης όπως GPSS, SIMAN κ.ά. 5. Πιλοτικές εκτελέσεις του προσοµοιωτή: Οι εκτελέσεις αυτές γίνονται για το επόµενο βήµα που είναι η εγκυρότητα του προγράµµατος. 6. Έλεγχος της εγκυρότητας του προγράµµατος: Οι πιλοτικές εκτελέσεις χρησιµοποιούνται για να ελέγξουµε την µεταβολή της εξόδου του προγράµµατος µε τις ανάλογες µεταβολές των παραµέτρων εισόδου. Ανάλογα µε την µεταβολή στην έξοδο, µπορούµε να βρούµε µία καλύτερη εκτίµηση των παραµέτρων εισόδου. Σε περίπτωση που υπάρχει κάποιο ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 22

πραγµατικό σύστηµα το οποίο παρουσιάζει κάποιες οµοιότητες µε το δικό µας µοντέλο, µπορούµε να συγκρίνουµε τα αποτελέσµατα εξόδου του µοντέλου µας. 7. Σχεδιασµός πειραµάτων: Εδώ καθορίζονται οι διαφορετικές λύσεις που πρόκειται να προσοµοιωθούν. 8. Παραγωγικές εκτελέσεις του προσοµοιωτή: Μέσω αυτών των εκτελέσεων παίρνουµε τις απαραίτητες πληροφορίες σχετικά µε την εκτίµηση της απόδοσης. 9. Ανάλυση δεδοµένων εξόδου: Αναφερόµαστε σε διάφορες τεχνικές που χρησιµοποιούνται για να αναλυθούν τα αποτελέσµατα της εκτέλεσης. 10. Τεκµηρίωση, παρουσίαση και εφαρµογή των αποτελεσµάτων: Τα αποτελέσµατα τεκµηριώνονται και παρουσιάζονται για να ακολουθήσει η υλοποίηση 2.4 ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΚΑΙ ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΤΗΣ ΠΡΟΣΟΜΟΙΩΣΗΣ Πλεονεκτήµατα της προσοµοίωσης [5]: Τα περισσότερα σύνθετα συστήµατα του πραγµατικού κόσµου µε "τυχαίες" παραµέτρους, δεν µπορούν να περιγραφούν ικανοποιητικά µε κάποιο µαθηµατικό µοντέλο που µπορεί να λυθεί αναλυτικά. Έτσι, η προσοµοίωση είναι συχνά η µόνη διαθέσιµη µέθοδος µελέτης. Η προσοµοίωση επιτρέπει την εκτίµηση της απόδοσης ενός υπάρχοντος συστήµατος, κάτω από κάποιο προβλεπόµενο σύνολο λειτουργικών συνθηκών. Μπορούν να συγκριθούν µέσω της προσοµοίωσης, εναλλακτικές προτεινόµενες σχεδιάσεις ή εναλλακτικές πολιτικές λειτουργίας του συστήµατος, ώστε να προσδιορισθεί η βέλτιστη λύση που ικανοποιεί τις προδιαγραφές που έχουν ορισθεί. Σε ένα µοντέλο προσοµοίωσης µπορούµε να έχουµε καλύτερο έλεγχο στις συνθήκες των πειραµάτων, σε σχέση µε πιθανό πειραµατισµό µε το πραγµατικό σύστηµα. Η προσοµοίωση επιτρέπει τη µελέτη ενός συστήµατος που έχει µακρόχρονη εξέλιξη (π.χ. ένα οικονοµικό σύστηµα), σε πολύ µικρότερο χρόνο, ή τη µελέτη της λεπτοµέρειάς του σε περισσότερο χρόνο. Η προσοµοίωση µπορεί να υλοποιηθεί από µηχανικούς που δεν είναι απαραίτητο να έχουν εκτεταµένες µαθηµατικές γνώσεις, παρά µόνο τη δυνατότητα να κατανοούν βασικές έννοιες στατιστικής και να µπορούν να εφαρµόζουν ήδη έτοιµα µαθηµατικά εργαλεία. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 23

Μειονεκτήµατα της προσοµοίωσης είναι τα παρακάτω [5]: Κάθε εκτέλεση ενός µοντέλου προσοµοίωσης διακριτών γεγονότων παράγει µόνο εκτιµήσεις των πραγµατικών χαρακτηριστικών του µοντέλου, για ένα συγκεκριµένο σύνολο παραµέτρων εισόδου. Έτσι, είναι πιθανό να χρειασθούν πολλές διαφορετικές ανεξάρτητες εκτελέσεις του µοντέλου για κάθε σύνολο παραµέτρων εισόδου που θα µελετηθεί. Για το λόγο αυτό, η προσοµοίωση δεν είναι γενικά τόσο καλή µέθοδος για βελτιστοποίηση, όσο είναι για τη σύγκριση εναλλακτικών σχεδιαστικών λύσεων του συστήµατος. Τα µοντέλα προσοµοίωσης συχνά απαιτούν πολύ χρόνο και πόρους για να αναπτυχθούν. Ο µεγάλος όγκος αριθµών που παράγονται από µία µελέτη προσοµοίωσης ή η εντύπωση που δηµιουργούν οι τυχόν γραφικές αναπαραστάσεις των αποτελεσµάτων της, συχνά ενισχύουν µία τάση να δίνεται µεγαλύτερη εµπιστοσύνη στα αποτελέσµατα αυτά από όσο πρέπει. Αν το µοντέλο δεν είναι µία αρκετά έγκυρη αναπαράσταση του συστήµατος, τα αποτελέσµατα της προσοµοίωσης, ανεξάρτητα του πόσο εντυπωσιακά είναι, θα προσθέσουν λίγη χρήσιµη πληροφορία για το πραγµατικό σύστηµα. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 24

ΚΕΦΑΛΑΙΟ 3: ΣΥΣΤΗΜΑΤΑ GRID ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 25

ΣΥΣΤΗΜΑΤΑ GRID 3.1 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΟΥ GRID Υπάρχουν πολλοί ορισµοί που έχουν δοθεί για τα συστήµατα Grid. Ένας αρχικός ορισµός είναι ο εξής [1] : Ένα υπολογιστικό σύστηµα Grid είναι µία υλική και λογισµική πλατφόρµα που παρέχει αξιόπιστη, συνεπή, διαφανή και φτηνή πρόσβαση σε υψηλής ποιότητας υπολογιστικές δυνατότητες. Όµως, ο ορισµός διαφοροποιήθηκε προκειµένου να διευθετήσει κοινωνικά ζητήµατα και πολιτικές χρησιµοποίησης που θα έπρεπε να ληφθούν υπόψη και ένα σύστηµα να χαρακτηριστεί ως Grid. Ορίστηκε έτσι πως το Grid Computing αφορά τον συντονισµένο διαµοιρασµό πόρων και την επίλυση προβληµάτων σε εικονικούς και δυναµικούς οργανισµούς, µε βασικό στοιχείο την δυνατότητα διεξαγωγών διαπραγµατεύσεων όσων συµµετέχουν στο Grid ώστε να δηµιουργηθεί ένα σύνολο κανόνων διαµοιρασµού των πόρων µε µετέπειτα χρησιµοποίησή τους για κάποιο σκοπό. 3.2 ΔΙΑΜΟΙΡΑΣΜΟΣ ΠΟΡΩΝ Πόρος είναι το αντικείµενο του Grid το οποίο εκτελεί εργασίες ή επιτρέπει και υποστηρίζει την εκτέλεση εργασίας. Οι πόροι στο Grid µπορεί να είναι διάφορων ειδών. Ένας υπολογιστικός πόρος είναι µια µηχανή µε µια ή περισσότερες CPUs η οποία εκτελεί εργασίες. Οι λειτουργίες κάποιας κατηγορίας πόρων σχετίζονται µε την επικοινωνία και την ανταλλαγή δεδοµένων µεταξύ κόµβων του Grid, των χρηστών ή των διεργασιών. Τέλος, ένας άλλος τύπος πόρου είναι αυτός που σχετίζεται µε το λογισµικό και τις άδειες χρήσης καθώς τα συστήµατα Grid δίνουν τη δυνατότητα σε ένα πόρο να τρέξει ένα πρόγραµµα χωρίς να το έχει εγκατεστηµένο ο ίδιος. Οι πόροι σε ένα περιβάλλον όπως το grid, είναι πάντα περιορισµένοι και έχουν κάποια ιδιαίτερα χαρακτηριστικά όπως : Αυτονοµία: Οι προσφερόµενοι πόροι ανήκουν σε διαφορετικούς ανθρώπους και η χρήση τους υπόκειται σε διαφορετικές πολιτικές και περιορισµούς. τους. Ετερογένεια : Διαφορετικοί πόροι ως προς τον αριθµό και τα χαρακτηριστικά Διαθεσιµότητα που µεταβάλλεται: Ο αριθµός των διαθέσιµων πόρων µεταβάλλεται µε το χρόνο. Ένα παράδειγµα είναι, η βλάβη µίας λειτουργιάς, χωρίς να επηρεαστεί η λειτουργικότητα του µοντέλου. Τέλος, πολλοί συγχαίουν τον όρο διαµοιρασµός πόρων µε την ανταλλαγή αρχείων. Αυτό είναι λάθος όµως γιατί όταν αναφερόµαστε στον διαµοιρασµό πόρων ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 26

εννοούµε την άµεση πρόσβαση σε υπολογιστές, δεδοµένα, λογισµικό και γενικότερα άλλους πόρους και όχι σε απλή πρόσβαση απλών αρχείων (εικόνα, ήχος, κλπ). 3.3 ΣΧΕΔΙΑΣΜΟΣ ΜΟΝΤΕΛΟΥ ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗΣ ΣΤΟ GRID O σχεδιασµός ενός µοντέλου χρονοδροµολόγησης είναι µία αρκετά δύσκολη διαδικασία κυρίως επειδή τόσο το λογισµικό όσο και το υλικό ενός τέτοιου συστήµατος είναι διαφορετικά µεταξύ τους. Σχετικά µε την εκτίµηση της απόδοσης ενός τέτοιου συστήµατος, θα πρέπει τα µοντέλα που αναπτύσσονται γύρω από αυτό να ενσωµατώνουν τα χαρακτηριστικά του Grid που επηρεάζουν την απόδοση των υποστηριζόµενων εφαρµογών [6] [7]. Γι αυτό τον λόγο το µοντέλο που θα σχεδιαστεί πρέπει να ακολουθεί ορισµένες συνιστώσες : Αρχικά, να µπορεί να προβλέψει την εκτιµώµενη απόδοση για οποιοδήποτε στιγµιότυπο του χρόνου αφού η απόδοση και οι απαιτήσεις σε πόρους διαφέρουν για κάθε χρονική στιγµή. Έπειτα, να µπορεί να προσαρµοστεί σε πιθανά υπολογιστικά περιβάλλοντα καθώς οι εφαρµογές µπορούν να εκτελούνται σε περισσότερα από ένα υπολογιστικά περιβάλλοντα τα οποία µπορεί να διαφέρουν µεταξύ τους. Τέλος, θα πρέπει να µπορεί να χρησιµοποιήσει όλες τις πληροφορίες που είναι απαραίτητες για την εκτίµηση της απόδοσης καθώς η απόδοση µπορεί να διαφέρει σηµαντικά ανάλογα µε τον χρόνο και για κάθε στιγµιότυπο του συστήµατος. Μοντέλα χρονοδροµολόγησης Αναφερόµαστε σε επίπεδο local schedulers. Δρουν σε τοπικό επίπεδο και καθορίζουν σε ποια τοπική ουρά αναµονής θα δροµολογηθεί η εργασία ώστε να εξυπηρετηθεί από τον εκάστοτε server. Ανάλογα µε τον τρόπο λειτουργίας των grid και local schedulers το µοντέλο χρονοδροµολόγησης που συνθέτουν µπορεί να οριστεί ως κεντρικοποιηµένο και µηκεντρικοποιηµένο. Στην πρώτη περίπτωση οι grid schedulers επιλέγουν για κάθε εργασία το κατάλληλο σύστηµα χωρίς να συνεργάζονται µε άλλους grid schedulers. Στην περίπτωση του µη-κεντρικοποιηµένου, οι grid schedulers συνεργάζονται µεταξύ τους για να βρεθεί το κατάλληλο σύστηµα για µια εργασία [11][12]. Η χρονοδροµολόγηση εργασιών στο Grid γίνεται σε τρία στάδια και το κάθε στάδιο περιλαµβάνει ένα σύνολο λειτουργιών. Στο πρώτο στάδιο, γίνεται η εύρεση του συνόλου των πόρων οι οποίοι ικανοποιούν τις απαιτήσεις των εργασιών (resource discovery). Στο δεύτερο στάδιο, γίνεται η επιλογή ενός πόρου από το σύνολο του πρώτου σταδίου (resource selection) και τέλος πραγµατοποιείται η εκτέλεση της διεργασίας (job execution). ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 27

3.4 ΑΡΧΙΤΕΚΤΟΝΙΚΗ GRID Fabric Εικόνα 2 Η αρχιτεκτονική του Grid [31] Το στρώµα αυτό του Grid παρέχει τους πόρους, που µπορούν να διαµοιραστούν µεταξύ των χρηστών του Grid µέσω των πρωτοκόλλων που παρέχει στους χρήστες του. Όσο πιο πλούσιο είναι το δοµικό στρώµα, τόσο πολυπλοκότερες διαδικασίες διανοµής µπορούν να λάβουν χώρα. Resource and connectivity Protocols Το επίπεδο της συνδεσιµότητας είναι υπεύθυνο για την ποιότητα υπηρεσίας (QoS) και για την ασφάλεια της πρόσβασης. Ορίζει τα θεµελιώδη πρωτόκολλα επικοινωνίας και πιστοποίησης, που είναι απαραίτητα για την δικτυακές συνδιαλλαγές του Grid και επιτρέπουν την συνδιαλλαγή δεδοµένων µεταξύ των πόρων του στρώµατος δοµής και τα πρωτόκολλα πιστοποίησης που είναι ενσωµατωµένα στις υπηρεσίες επικοινωνίας παρέχουν κρυπτογραφηµένους µηχανισµούς πιστοποίησης της ταυτότητας των χρηστών και πόρων. Collective Services Παρέχει τα εργαλεία που ενοποιούν τα διάφορα στοιχεία που συµµετέχουν σε ένα περιβάλλον grid. Ουσιαστικά, πρόκειται για το κεντρικό επίπεδο ενός grid. User Applications Είναι το υψηλότερο επίπεδο όπου εκτελούνται η εφαρµογές των χρηστών. Οι εφαρµογές κατασκευάζονται µε βάση τις υπηρεσίες που υπάρχουν σε κατώτερα επίπεδα και τους παρέχουν ένα περιβάλλον εκτέλεσης και περιλαµβάνει τις ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 28

εφαρµογές των χρηστών καθώς και τα αντίστοιχα υποστηρικτικά εργαλεία. Πρόκειται λοιπόν για το κοµµάτι του grid το οποίο είναι ορατό προς τους χρήστες. 3.5 ΤΥΠΟΙ GRID Ακολουθεί µία σύντοµη περιγραφή των τύπων Grid [3] που συναντώνται. 1. Υπολογιστικά Grid (Computation Grids) : επικεντρώνονται κυρίως σε υπολογιστικά απαιτητικές λειτουργίες και χρησιµοποιούν τους πόρους του δικτύου για την επίλυση προβληµάτων σε real-time π.χ. SETI@Home 2. Grids δεδοµένων (Data Grids)[32]: αναλαµβάνουν την διαχείριση και τον διαµοιρασµό µεγάλου όγκου κατανεµηµένων δεδοµένων µε µεγάλο πλεονέκτηµα αυτό του µικρού κόστους. 3. Grids εξοπλισµού (Equipment Grids): έλεγχος κάποιου εξοπλισµού π.χ. ανάλυση δεδοµένων από ένα τηλεσκόπιο και αυτό σε real-time. 4. Grids αλληλεπίδρασης (Interaction Grids): προσφορά υπηρεσιών π.χ. e- Learning. 5. Grids γνώσης (Knowledge Grids): προσφορά υπηρεσιών ανάκτησης και εξόρυξης δεδοµένων τα οποία χρησιµοποιούνται κυρίως σε υπερυπολογιστές. 3.6 ΠΡΟΫΠΟΘΕΣΕΙΣ GRID Ένα σύστηµα για να αποτελεί κάποιο Grid πρέπει να τηρεί καλύπτει κάποιες προϋποθέσεις : Ένα σύστηµα Grid αναλαµβάνει την διαχείριση πόρων οι οποίοι δεν τελούν υπό κάποιο κεντρικό έλεγχο. Διαχειρίζεται τους πόρους και τους χρήστες που βρίσκονται σε διαφορετικά πεδία ελέγχου. Χρησιµοποιεί συγκεκριµένα πρωτόκολλα και διεπαφές, καθώς όλα αυτά χρησιµοποιούνται για την επίλυση προβληµάτων όπως πιστοποίηση και ανεύρεση πόρων. Τέλος, ένα σύστηµα Grid πρέπει να µπορεί να προσφέρει πολλές και σηµαντικές υπηρεσίες. Οι πόροι χρησιµοποιούνται µε συγκεκριµένο τρόπο ώστε να επιτευχθούν διάφορα επίπεδα υπηρεσιών που σχετίζονται µε : Χρόνο απόκρισης (Response Time) Ρυθµοαπόδοση (Throughput) Διαθεσιµότητα, ασφάλεια, κατανοµή πόρων(availability, Security,Distribution) προκειµένου να ικανοποιηθούν οι σύνθετες ανάγκες τους. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 29

3.7 ΛΕΙΤΟΥΡΓΙΕΣ GRID Οι λειτουργίες ενός Grid συστήµατος περιγράφονται από τα εξής [13]: Συντονίζει πόρους που δεν υπόκεινται σε κεντρικό έλεγχο, δηλαδή διαχειρίζεται πόρους και χρήστες που υπάρχουν σε διαφορετικά πεδία ελέγχου. Υλοποιεί θεµελιώδεις λειτουργίες όπως: o πιστοποίηση (authentication), µηχανισµός που εξακριβώνει ποια είναι η ταυτότητα των χρηστών και των πόρων. o εξουσιοδότηση (authorization), καθορίζει τις εργασίες που επιτρέπονται σε κάθε χρήστη µε βάση τους κανόνες που ισχύουν. o πρόσβαση σε πόρους (resource access), καθορίζει µε σαφήνεια την πρόσβαση σε πόρους και υπό ποιες προϋποθέσεις. o εύρεση πόρων (resource discovery). Για να τα επιτύχει χρησιµοποιεί τυποποιηµένα, ανοικτά και γενικού σκοπού πρωτόκολλα και διεπαφές. Τα πρωτόκολλα πρέπει να είναι τυποποιηµένα και ανοικτά για να µην είναι το σύστηµα συγκεκριµένης εφαρµογής. Ένα σύστηµα Grid µπορεί να προσφέρει σηµαντική ποιότητα υπηρεσίας (Quality of Service) ώστε να ικανοποιήσει τις πολύπλοκες απαιτήσεις των χρηστών. Η διαχείριση των πόρων και η χρονοδροµολόγηση γίνεται µε τέτοιους τρόπους ώστε επιτυγχάνεται ποιότητα υπηρεσίας που αντικατοπτρίζεται σε διάφορα επίπεδα όπως [14] [15] [16]: χρόνος απόκρισης, και µείωση αυτού µε χρήση της κατάλληλης πρακτικής ρυθµοαπόδοση, και προσπάθεια βελτιστοποίησης αυτής διαθεσιµότητα, ώστε να µην υπάρχει πιθανότητα µη λειτουργίας του συστήµατος ασφάλεια, περιλαµβάνει τις θεµελιώδεις λειτουργίες που περιγράφηκαν παραπάνω κατανοµή πόρων και καλύτερη αξιοποίηση των υπαρχόντων υπολογιστικών πόρων. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 30

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

ΑΝΑΛΥΣΗ ΑΠΟΔΟΣΗΣ 4.1 ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΣΥΣΤΗΜΑΤΩΝ ΟΥΡΩΝ Ένα σύστηµα ουρών αποτελείται από έναν ή περισσότερους εξυπηρέτες οι οποίοι παρέχουν εξυπηρέτηση στις εκάστοτε διεργασίες. Όταν ένα job φτάσει σε έναν εξυπηρέτη και αυτός είναι απασχοληµένος τότε η διεργασία µπαίνει σε µία από τις διαθέσιµες ουρές. Σε διαφορετική περίπτωση η διεργασία εξυπηρετείται από τον άµεσα διαθέσιµο server. 4.2 ΠΑΡΑΓΟΝΤΕΣ ΠΟΥ ΧΑΡΑΚΤΗΡΙΖΟΥΝ ΕΝΑ ΣΥΣΤΗΜΑ Διαδικασία άφιξης: H διαδικασία άφιξης περιγράφει τον τρόπο µε τον οποίο οι εργασίες φθάνουν στο σύστηµα. Η πιο γνωστή διαδικασία άφιξης είναι γνωστή ως αφίξεις Poisson (Poisson Arrivals) και σηµαίνει ότι οι µεταξύ των αφίξεων χρόνοι είναι IID και είναι εκθετικά κατανεµηµένοι. Στον παρακάτω πίνακα (Πίνακας 1) παρατίθενται και άλλοι τύποι κατανοµών[4] [5]. Πίνακας 1 Κατανοµές Μ Ε κ Η κ D G Εκθετική Erlang-k Υπερεκθετική µε παράµετρο κ Ντετερµινιστική Γενική Κατανοµή του χρόνου Εξυπηρέτησης: Ο χρόνος όπου κάθε εργασία εξυπηρετείται από τη CPU ονοµάζεται χρόνος εξυπηρέτησης. Οι χρόνοι εξυπηρέτησης είναι εκθετικά κατανεµηµένοι συνήθως, είναι τυχαίες µεταβλητές και IID και µπορεί να χρησιµοποιηθεί οποιοδήποτε είδος κατανοµής. Αριθµός εξυπηρετών: Ο αριθµός των εξυπηρετών σε µία CPU µπορεί να διαφέρει και κάθε εξυπηρέτης µπορεί να απαρτίζεται από µεταβαλλόµενο αριθµό πυρήνων και µπορεί επίσης να εξυπηρετήσει οποιαδήποτε εργασία εισέρχεται στο σύστηµα. Χωρητικότητα του συστήµατος: Καθορίζει τον µέγιστο αριθµό προγραµµάτων που µπορούν να περιµένουν σε µία ουρά. Μέγεθος πληθυσµού: Ορίζεται ως ο συνολικός αριθµός των πιθανών εργασιών που πρόκειται να έρθουν στο σύστηµα και είναι συνήθως πεπερασµένο. Πειθαρχία εξυπηρέτησης: Ορίζουµε ως πειθαρχία ουράς, τον κανόνα µε τον οποίο ο εξυπηρέτης αποφασίζει ποια θα είναι η επόµενη προς εξυπηρέτηση εργασία από την ουρά. Η πιο κοινή πειθαρχία είναι η FCFS ( First Come First Served). ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 32

Υπάρχουν και άλλες πειθαρχίες ουρών όπως : LCFS (Last Come First Served) LCFS-PR (Preemptive Resume) προεκχώρηση µε επανάληψη RR (Round Robin) εκ περιτροπής 4.3 ΠΑΡΑΜΕΤΡΟΙ ΑΠΟΔΟΣΗΣ 4.3.1 Ποσοτικές λειτουργικότητας Για να µπορέσουµε να κατανοήσουµε το περιεχόµενο της εργασίας πρέπει να γίνει αναφορά στις παραµέτρους απόδοσης [4][5][9]. Πίνακας 2 Ποσότητες Λειτουργικότητας Συµβολισµός Α C T B Επεξήγηση Συµβολισµού Συνολικός αριθµός αφίξεων Αριθµός εργασιών των οποίων η εξυπηρέτηση έληξε Χρονική διάρκεια προσοµοίωσης Χρόνος απασχόλησης σε σχέση µε τον χρόνο Τ Πίνακας 3 Μετρικές Απόδοσης Ρυθµός Άφιξης Ρυθµοαπόδοση Χρησιµοποίηση Μέσος χρόνος Εξυπηρέτησης λ = i X i U i S i = = = Ai T C T B T B C i i i i 4.3.2 Μετρικές απόδοσης του συστήµατος Για την αποδοτικότερη ανάλυση των αποτελεσµάτων από τα διεξαγόµενα πειράµατα, είναι αναγκαία και η αναφορά στις µετρικές απόδοσης του συστήµατος [4][5]. Αρχικά, ως µέσο χρόνο απόκρισης (mean response time) ορίζουµε τον χρόνο που κάνει η διεργασία από την στιγµή που µπαίνει στο σύστηµα µέχρι την έξοδο της από αυτό. Υπολογίζεται ως το άθροισµα του χρόνου αναµονής στην ουρά και του χρόνου εξυπηρέτησης στον server. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 33

r = w+ s Σχ.(1) µε r = response time, w= waiting time και s=service time, σχ.(1). Λόγω ότι η µέση τιµή δεν είναι πάντα αντιπροσωπευτική για να βγάλουµε σαφή συµπεράσµατα για το σύστηµά µας, υπολογίζουµε τόσο τον µέγιστο χρόνο απόκρισης (max response time)-δηλαδή τον µεγαλύτερο χρόνο που καθυστέρησε ένα job στο σύστηµα, όσο και τον µικρότερο χρόνο απόκρισης (min response time)- δηλαδή τον µικρότερο χρόνο που καθυστέρησε ένα job στο σύστηµα. Μέση καθυστέρηση στην ουρά (Average delay in queue): Υπολογίζεται για όλο το σύστηµα και εκφράζει το µέσο χρόνο αναµονής των διεργασιών στην ουρά πριν απασχολήσουν κάποιον επεξεργαστή σχ.(2). AverageDelayInQueue = Numof Progs i= 1 QueueDelay Numof Pr ogs i Σχ.(2) Μέσος αριθµός προγραµµάτων στο σύστηµα (Average jobs in system): Σύµφωνα µε τον κανόνα του Little ο µέσος αριθµός των προγραµµάτων στο σύστηµα ισούται µε λ*w, όπου W o µέσος χρόνος παραµονής µιας διεργασίας στο σύστηµα και λ ο ρυθµός άφιξης των διεργασιών. Μέσο µήκος ουράς (Mean queue length): εκφράζει τον αριθµό των προγραµµάτων που περιµένουν εξυπηρέτηση στην ουρά και υπολογίζεται τόσο για µία σχ.(3) όσο και για όλες τις ουρές του συστήµατος σχ.(4). Έστω Τ(j) ο συνολικός χρόνος για τον οποίο υπήρχαν στην ουρά j προγράµµατα. Για κάθε ουρά έχουµε : MeanQueueLength i ( j) j T j = TotalTime Σχ.(3) Ενώ συνολικά : MeanQueueLength = NumberOfQueues i= 1 MeanQueueLength NumberOfQueues Σχ.(4) Ο συνολικός χρόνος προσοµοίωσης (Total simulation time) είναι ο χρόνος από την είσοδο του πρώτου job στο σύστηµα, µέχρι να ικανοποιηθεί η συνθήκη τέλους. Η µέση χρησιµοποίηση του συστήµατος (Mean system utilization) αναφέρεται στο πόσο είναι απασχοληµένοι οι επεξεργαστές του συστήµατος και υπολογίζουµε πρώτα την µέση χρησιµοποίηση για κάθε επεξεργαστή ξεχωριστά-καθώς και για κάθε πυρήνα εάν έχουµε- και µετά την συνολική χρησιµοποίηση. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 34

Τέλος, µε την συνθήκη σταθερότητας εξετάζουµε εάν ο µέσος ρυθµός άφιξης (λ) είναι µικρότερος από τον µέσο ρυθµό εξυπηρέτησης (mµ) σχ.(5). Εάν δεν ισχύει αυτό, τότε οι εργασίες συσσωρεύονται στην ουρά και το µέγεθος γίνεται άπειρο. λ < mµ Σχ.(5) 4.3.3 Κανόνας του Little Αποτελεί έναν από τους βασικότερους κανόνες και χρησιµοποιείται πολύ συχνά σε θέµατα ανάλυσης απόδοσης. Απαραίτητη προϋπόθεση είναι το σύστηµα να είναι εξισορροπηµένο δηλαδή ο ρυθµός άφιξης ισούται µε την ρυθµοαπόδοση (λ=χ)- και ορίζει ότι ο µέσος αριθµός εργασιών στο σύστηµα (L) είναι ίσος µε τον µέσο ρυθµό άφιξης (λ) επί τον µέσο χρόνο παραµονής στο σύστηµα (w) [5]. L= λ * w Πρέπει να σηµειωθεί πως ο κανόνας του Little µπορεί να χρησιµοποιηθεί και για κάθε τµήµα του συστήµατος. Έτσι εφαρµόζοντας τον στο χώρο αναµονής του κέντρου εξυπηρέτησης έχουµε : Μέσος αριθµός στην ουρά = ρυθµός άφιξης Χ µέσος χρόνος αναµονής. Ενώ για το κέντρο εξυπηρέτησης έχουµε : Μέσος αριθµός σε εξυπηρέτηση = ρυθµός άφιξης Χ µέσος χρόνος εξυπηρέτησης. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 35

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

ΑΝΑΛΥΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ 5.1 ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Η παρούσα εργασία ασχολείται µε την χρονοδροµολόγηση παράλληλων εργασιών σε ένα κατανεµηµένο σύστηµα µε 6 εξυπηρέτες όπου ο κάθε ένας έχει την δική του ουρά αναµονής. Εφαρµόζουµε διαφορετικούς αλγορίθµους για την επιλογή της ουράς όπως προαναφέρθηκε και στην εισαγωγή της εργασίας, ενώ η πειθαρχία είναι FCFS (First Come First Served). Στόχος είναι η εύρεση του πιο αποδοτικού για το σύστηµα αλγόριθµου. 5.2 ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Το σύστηµα έχει 6 εξυπηρέτες οι οποίοι είναι µοιρασµένοι σε δύο sites.! 4 στο πρώτο site.! 2 στο δεύτερο site. Κάθε εξυπηρέτης έχει την δική του ουρά αναµονής. Κάθε εξυπηρέτης αποτελείται από πυρήνες.! 4 πυρήνες για το πρώτο site.! 8 πυρήνες για το δεύτερο site. Τα jobs φτάνουν στο σύστηµα µε ρυθµό άφιξης λ και εξετάζονται οι εξής τιµές! λ 1 =5,5 λ 2 =3,06 και! λ 1 =6 λ 2 =3,33. Ο µέσος χρόνος εξυπηρέτησης είναι µ=1. Τα jobs αποτελούνται από tasks και ο αριθµός από τα οποία αποτελούνται είναι :! [1...4] για τα jobs που ανήκουν στο πρώτο site.! [1...8] για τα jobs που ανήκουν στο δεύτερο site. Ο αριθµός τους δεν είναι σταθερός αλλά δηµιουργείται τυχαία κάθε φορά. Οι αφίξεις των jobs είναι εκθετικά κατανεµηµένες. Κατά την έναρξη του προγράµµατος όλοι οι επεξεργαστές και οι ουρές είναι idle και άδειες αντίστοιχα. Η πρώτη διεργασία φτάνει την χρονική στιγµή µηδέν. Ως συνθήκη τέλους ορίζεται η χρονική στιγµή που το Ν οστό job ολοκληρώσει την επεξεργασία του. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 37

5.3 ΓΡΑΦΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΤΟΥ ΜΟΝΤΕΛΟΥ 5.3.1 Διαδικασία Αφίξεων Εικόνα 3 Γραφική αναπαράσταση του µοντέλου Όπως προαναφέραµε, οι µεταξύ των αφίξεων χρόνοι είναι εκθετικά κατανεµηµένοι. Κατά την άφιξη µιας διεργασίας, προγραµµατίζεται η άφιξη της επόµενης διεργασίας βάση της εκθετικής κατανοµής που ακολουθείται. Στο πρόγραµµα που υλοποιήθηκε εξετάζονται 6 περιπτώσεις : Minimum Load Probabilities Serial-Parallel(20%) - Minimum Load Serial-Parallel(30%) - Minimum Load Serial-Parallel(20%) Probabilities Serial-Parallel(30%) Probabilities Τα δύο βασικά σενάρια που υλοποιήθηκαν είναι τα παρακάτω: 1. Οι διεργασίες δροµολογούνται στον server µε τον µικρότερο φόρτο. Ως µικρότερο φόρτο υπολογίζουµε των αριθµό των task που βρίσκονται στο σύστηµά µας κάθε χρονική στιγµή. Πιο συγκεκριµένα, υπολογίζουµε τον αριθµό των task που βρίσκονται σε κατάσταση εξυπηρέτησης καθώς και τον αριθµό που περιµένουν για εξυπηρέτηση στις ουρές από τους server του συστήµατος. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 38

2. Οι διεργασίες δροµολογούνται στον εκάστοτε server µε ίση πιθανότητα. Σε αυτή την περίπτωση κάθε server έχει ίση πιθανότητα να επιλεγεί από την εκάστοτε διεργασία. Πιο συγκεκριµένα, για το πρώτο υποσύστηµα η πιθανότητα είναι 25% αφού υπάρχουν τέσσερις όµοιοι server, ενώ για το δεύτερο υποσύστηµα η πιθανότητα είναι 50% 5.3.2 Διαδικασία Εξυπηρετήσεων Οι αφίξεις των jobs είναι εκθετικά κατανεµηµένες και τα jobs φτάνουν στο σύστηµα µε ρυθµό άφιξης λ. Στην περίπτωση που κάποια διεργασία δεν µπορεί να εξυπηρετηθεί εκείνη την στιγµή, εισάγεται στην ουρά του εκάστοτε server και η εξυπηρέτηση µετατίθεται για κάποια επόµενη χρονική στιγµή. Ο έλεγχος των εργασιών που περιµένουν στις ουρές γίνεται µετά από κάθε διαδικασία αναχώρησης, αφού τότε ελευθερώνονται κάποιοι εξυπηρέτες. Έστω λοιπόν ότι βρισκόµαστε στην περίπτωση της παράλληλης εκτέλεσης των task δηλαδή των δύο πρώτων σεναρίων (Minimum Load, Probabilities). Μία διεργασία επιλέγει τον server ανάλογα µε το εκάστοτε σενάριο. Έπειτα, κάθε διεργασία χωρίζεται σε task τα οποία διαφέρουν για κάθε site και τα οποία δεν είναι καθορισµένα αλλά παράγονται τυχαία. Όταν λοιπόν φτάσει η στιγµή της εξυπηρέτησης τότε γίνεται έλεγχος σε όλους τους πυρήνες του server και όποιοι είναι ελεύθεροι µπορούν να εξυπηρετήσουν τα task. Αν ο αριθµός των task είναι µικρότερος ή ίσος µε τον αριθµό των ελεύθερων πυρήνων τότε εισέρχονται όλα για εξυπηρέτηση. Σε διαφορετική περίπτωση, όσα task δεν µπορέσουν να εξυπηρετηθούν άµεσα εισέρχονται στην ουρά και περιµένουν διαθέσιµο πυρήνα. Στην άλλη περίπτωση, όπου έχουµε συνδυασµό σειριακής - παράλληλης εκτέλεσης, όταν µία διεργασία φτάσει για εξυπηρέτηση τότε γίνεται έλεγχος Round Robin σε όλους τους πυρήνες και τα task δεσµεύονται προς εξυπηρέτηση µόνο από τον πυρήνα εκείνο που βρέθηκε πρώτος διαθέσιµος (Εικόνα 4). Εικόνα 4 Round Robin επιλογή server ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 39

5.4 SERIAL PARALLEL Στην παρούσα εργασία όπως προαναφέρθηκε εξετάζουµε 6 περιπτώσεις σχετικά µε την διαδικασία αφίξεων. Οι τέσσερις από αυτές τις µεθόδους έχουν την εξής ιδιοµορφία : Τα task από κάθε job δεν εκτελούνται παράλληλα όπως στις προηγούµενες δύο (Minimum Load, Probabilities) αλλά τώρα κάθε job έχει πιθανότητα 20% ή 30%, ανάλογα µε το σενάριο που ακολουθείται ώστε τα task από τα οποία θα αποτελείται να µπορούν να εκτελεστούν και σειριακά. Πιο συγκεκριµένα, µαρκάρουµε ένα job µε µία πιθανότητα 20% ή 30% ώστε να δούµε εάν τα task που το απαρτίζουν θα εκτελεστούν σε συνδυασµό σειριακού - παράλληλου. Η λειτουργία έχει ως εξής : εάν ανήκει στο πεδίο των αριθµών που έχουµε ορίσει µε την πιθανότητα σειριακής παράλληλης εκτέλεσης, τότε τα task που απαρτίζουν το job δροµολογούνται σε έναν µόνο πυρήνα και περιµένουν στην ουρά του server ώστε να εξυπηρετηθούν. Τα υπόλοιπα ακολουθούν την διαδικασία των αρχικών πειραµάτων. Δηλαδή, γίνεται έλεγχος Round Robin στους πυρήνες του εκάστοτε επεξεργαστή και εάν είναι διαθέσιµοι τότε δροµολογούνται στους idle πυρήνες, ειδάλλως περιµένουν τα task που δεν µπήκαν σε κάποιο πυρήνα - έως ότου ελευθερωθεί κάποιος. 5.5 ΥΛΟΠΟΙΗΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Σε αυτή την υποενότητα θα γίνει µία σύντοµη περιγραφή των συναρτήσεων που υλοποιήθηκαν. Κάθε source file εξάγει ένα text file µε τις εκτυπώσεις των αποτελεσµάτων του εκάστοτε σεναρίου που χρησιµοποιήθηκε. Κατά την έναρξη της προσοµοίωσης, γίνεται αρχικοποίηση των µεταβλητών του προγράµµατος µε την χρήση της initializze(void). Επίσης, ορίζουµε και το mean interarrival time καθώς εξετάζουµε δύο σετ διαφορετικών τιµών στα πειράµατά µας! λ 1 =5,5 λ 2 =3,06 και! λ 1 =6 λ 2 =3,33. Σχετικά τώρα µε την πολιτική επιλογής του server σε κάθε σενάριο έχουµε τις εξής παραλλαγές. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 40

5.6 ΠΕΡΙΠΤΩΣΗ ΕΠΙΛΟΓΗΣ SERVER ΜΕ ΤΟΝ ΕΛΑΧΙΣΤΟ ΦΟΡΤΟ Εικόνα 5 Υλοποίηση συνάρτησης για την περίπτωση ελάχιστου φόρτου Περίπτωση επιλογής server µε τον ελάχιστο φόρτο Σειριακή Παράλληλη εκτέλεση Εικόνα 6 Ορισµός πιθανότητας σειριακής-παράλληλης εκτέλεσης για τον server µε τον ελάχιστο φόρτο Με αυτό τον ελέγχουµε µε µία πιθανότητα 20% ή 30% ώστε να δούµε εάν τα task που το απαρτίζουν θα εκτελεστούν σε συνδυασµό σειριακού- παράλληλου. ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ 41