Μεταπτυχιακή ιατριβή ΗΜΗΤΡΙΑ ΟΥ ΣΟΦΙΑ. Πτυχιούχος Πληροφορικής ΑΠΘ. Επιβλέπουσα Καθηγήτρια Καρατζά Ελένη
|
|
- Αλκιππη Ζαΐμης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Μοντελοποίηση και προσοµοίωση µεθόδων συνανάθεσης εργασιών σε πολλαπλά sites στο Grid - Αποτίµηση της απόδοσης Μεταπτυχιακή ιατριβή ΗΜΗΤΡΙΑ ΟΥ ΣΟΦΙΑ Πτυχιούχος Πληροφορικής ΑΠΘ Επιβλέπουσα Καθηγήτρια Καρατζά Ελένη ΙΑΝΟΥΑΡΙΟΣ 2009
2 Πρόλογος Η εργασία αυτή εκπονήθηκε στα πλαίσια του µεταπτυχιακού προγράµµατος του Τµήµατος Πληροφορικής του Αριστοτελείου Πανεπιστηµίου Θεσσαλονίκης. Θα ήθελα να ευχαριστήσω θερµά την επιβλέπουσα καθηγήτρια κα Ελένη Καρατζά για τη βοήθεια και υποστήριξη που µου προσέφερε, την υποµονή και την καθοδήγηση της. Αφιερώνω την παρούσα εργασία στους γονείς µου, που µου παραστέκονται όλα αυτά τα χρόνια και µε βοηθούν σε όλες τις επιλογές µου µε την πολύτιµη συµβουλή τους. ηµητριάδου Σοφία 1
3 Περιεχόµενα Πρόλογος 1 Περιεχόµενα.. 2 Περίληψη 4 Abstract.. 5 Α Μέρος. 6 Κεφάλαιο 1 ο Εισαγωγή στην Προσοµοίωση Γενικά για την Προσοµοίωση Τα Είδη Μοντέλων Προσοµοίωσης Ο Μηχανισµός Εξέλιξης του Χρόνου Οργάνωση ενός Μοντέλου Προσοµοίωσης Τα Βήµατα µιας Μελέτης µε Προσοµοίωση Πλεονεκτήµατα και Μειονεκτήµατα Προβλήµατα / υσκολίες της Προσοµοίωσης. 16 Κεφάλαιο 2 ο Συστήµατα Grid Εισαγωγή στα συστήµατα Grid Χαρακτηριστικά του Grid Μοντελοποίηση ενός συστήµατος Grid.. 22 Κεφάλαιο 3 ο Θεωρία Ουρών Ουρές Αναµονής Βασικές Έννοιες Ο νόµος του Little Συµβολισµός. 25 2
4 Β Μέρος. 27 Κεφάλαιο 4 ο Ανάλυση του Συστήµατος Περιγραφή του Συστήµατος Χαρακτηριστικά/Παραδοχές του Συστήµατος Η διαδικασία των αφίξεων ροµολόγηση των Gangs ροµολόγηση χωρίς µετανάστευση ροµολόγηση µε µετανάστευση ροµολόγηση µε µετανάστευση Χρονοδροµολόγηση των τοπικών εργασιών ροµολόγηση τοπικών εργασιών - Επιλογή ουράς Πειθαρχία ουράς του Grid Scheduler Στόχος του µοντέλου 46 Κεφάλαιο 5 ο Υλοποίηση του Συστήµατος ιαχείριση των γεγονότων Ο µηχανισµός εξέλιξης του χρόνου ηµιουργία τυχαίων παρατηρήσεων Μετρικές απόδοσης του συστήµατος Καθορισµός των κλάσεων του συστήµατος Είσοδος / Έξοδος του συστήµατος Κεφάλαιο 6 ο Ανάλυση του Συστήµατος η σειρά πειραµάτων Εξυπηρέτηση των Gangs Εξυπηρέτηση τοπικών εργασιών Χρησιµοποίηση του συστήµατος η σειρά πειραµάτων Συγκριτικά αποτελέσµατα για Migration Συγκριτικά αποτελέσµατα για Migration η σειρά πειραµάτων Συµπεράσµατα Προοπτικές της έρευνας Σύνοψη 77 Παράρτηµα 78 Βιβλιογραφικές Πηγές
5 Περίληψη Στην παρούσα εργασία µελετάται η εφαρµογή διαφορετικών µεθόδων δροµολόγησης σε ένα σύστηµα grid, το οποίο αποτελείται από δύο οµοιογενή sites. Στόχος της µοντελοποίησης και προσοµοίωσης του συστήµατος αυτού είναι η µελέτη της αποτελεσµατικότητας κάθε µεθόδου δροµολόγησης συναρτήσει του φόρτου εργασίας για την επίτευξη µέγιστης απόδοσης. Κάθε site αποτελείται από δεκαέξι εξυπηρετητές και από έναν τοπικό δροµολογητή (local scheduler). Έχουµε δύο ειδών εργασίες στο σύστηµα: τοπικές διεργασίες που εξυπηρετούνται από τα sites και εργασίες grid (gangs) που δροµολογούνται από τον grid scheduler, ο οποίος διαθέτει τη δική του ουρά αναµονής. Οι τοπικές διεργασίες και τα gangs συναγωνίζονται µεταξύ τους για τους ίδιους πόρους του συστήµατος. Ωστόσο, οι τοπικές διεργασίες θεωρούνται µεγαλύτερης σπουδαιότητας και είναι σηµαντικό ο χρόνος αναµονής τους να είναι όσο το δυνατόν µικρότερος. Σκοπός είναι η µελέτη τριών διαφορετικών πολιτικών δροµολόγησης όσον αφορά τα gangs (από τις οποίες οι δύο υποστηρίζουν µετανάστευση και η µία όχι) και η ανάδειξη της αποδοτικότερης εκ των τριών. Η εργασία χωρίζεται σε δύο µέρη. Στο πρώτο µέρος παρουσιάζεται η έννοια της προσοµοίωσης και τα χαρακτηριστικά της (Κεφάλαιο 1), γίνεται µια εισαγωγή στο grid (Κεφάλαιο 2) και αναλύονται τα κύρια σηµεία της θεωρίας ουρών (Κεφάλαιο 3). Στο δεύτερο µέρος γίνεται µια περιγραφή του µοντέλου (Κεφάλαιο 4), παρουσιάζεται ο τρόπος υλοποίησης του (Κεφάλαιο 5), πραγµατοποιείται µια σειρά πειραµάτων και εξαγωγή συµπερασµάτων (Κεφάλαιο 6). 4
6 Abstract This work studies the application of various scheduling techniques on a grid system consisting of two homogeneous sites. The goal of modelling and simulating this system is to study the efficiency of each scheduling technique as a function of workload, in order to maximize performance. Each site consists of sixteen processors and a local scheduler, while the whole is governed by a grid scheduler that has its own waiting queue. There are two different job types in the system competing for the same resources: local jobs and grid jobs (gangs). The local jobs have priority over the gangs and it is imperative that their waiting time be minimized. Three different gang scheduling approaches are studied (two of which support migration and one that does not) and the most effective of the three is determined. This paper is organised in two parts. The first part introduces the idea of simulation, its importance and its characteristics (Chapter 1), it presents the meanings of grid computing (Chapter 2), and analyzes the main points of queuing theory (Chapter 3). The second part gives a description of the model (Chapter 4), explains the way it has been implemented (chapter 5), and studies the results of a series of experiments (Chapter 6). 5
7 Α ΜΕΡΟΣ 6
8 Κεφάλαιο 1 ο Εισαγωγή στην Προσομοίωση 1.1 Γενικά για την Προσομοίωση Προσοµοίωση (simulation) είναι η µίµηση της λειτουργίας συστηµάτων ή της εξέλιξης διαδικασιών µέσα στο χρόνο µε τη βοήθεια υπολογιστή. Αποτελεί πειραµατική µέθοδο που έχει σα σκοπό τη βελτιστοποίηση ενός συστήµατος, τη µελέτη της λειτουργίας του και την ανάλυση της ευαισθησίας του. Ως πειραµατική µέθοδος όµως, εξαρτάται πολύ από την πιστότητα του µοντέλου που χρησιµοποιείται (καθορισµός παραµέτρων Μοντελοποίηση) ιαδικασία ή σύστηµα ονοµάζεται ένα σύνολο στοιχείων τα οποία εξελίσσονται και αλληλεπιδρούν σύµφωνα µε κάποιους κανόνες. Οι κανόνες αυτοί εκφράζονται µε µαθηµατικές ή λογικές σχέσεις, και αποτελούν το µοντέλο του συστήµατος. Κατάσταση είναι το σύνολο των µεταβλητών οι οποίες δίνουν την απαραίτητη πληροφορία για την περιγραφή του συστήµατος. Αν οι σχέσεις που περιγράφουν την εξέλιξη του συστήµατος είναι απλές, τότε είναι δυνατή η εύρεση λύσεων κλειστής µορφής (closed form), οπότε λέµε ότι το µοντέλο επιλύεται αναλυτικά. Ωστόσο τα περισσότερα συστήµατα έχουν διάνυσµα κατάστασης µεγάλων διαστάσεων και περιγράφονται από πολύπλοκα µοντέλα των οποίων η αναλυτική επίλυση είναι αδύνατη. Για τη µελέτη τους εφαρµόζονται οι λεγόµενες αριθµητικές µέθοδοι. Τέτοιες είναι η αριθµητική ανάλυση και η προσοµοίωση. Η προσοµοίωση συνίσταται στην ανάπτυξη ενός µοντέλου του υπό εξέταση συστήµατος µε τη µορφή προγράµµατος σε υπολογιστή και στην εκτέλεση ενός (ή περισσοτέρων) πειράµατος το οποίο καταγράφει την κατάσταση του συστήµατος σε διαδοχικές χρονικές στιγµές αποτυπώνοντας ένα πιθανό σενάριο εξέλιξης του συστήµατος στο χρόνο. Η προσοµοίωση βρίσκει εφαρµογές: στην ανάλυση και σχεδίαση συστηµάτων παραγωγής (βιοµηχανία) στον έλεγχο αποθεµάτων (βιοµηχανία, εµπορικές επιχειρήσεις) στη µελέτη κυκλοφοριακών συστηµάτων (οδικό δίκτυο, αεροδρόµια) στη µελέτη συστηµάτων εξυπηρετήσεως πελατών (τράπεζες, νοσοκοµεία, τηλεπικοινωνίες) στην αξιολόγηση αποφάσεων υπό αβεβαιότητα (χρηµατιστήριο, επενδύσεις, marketing). Με την µοντελοποίηση και προσοµοίωση µπορεί κανείς να αξιολογήσει την αποτελεσµατικότητα ή απόδοση ενός συστήµατος πριν αυτό κατασκευασθεί µε σκοπό τη βέλτιστη σχεδίασή του. 7
9 1.2 Τα Είδη Μοντέλων Προσομοίωσης Έχοντας ένα µαθηµατικό µοντέλο που πρέπει να µελετήσουµε µε προσοµοίωση (δηλαδή ένα Μοντέλο Προσοµοίωσης), θα πρέπει να αναζητήσουµε κατάλληλα εργαλεία για το σκοπό αυτό. Στην προσπάθεια αυτή, είναι χρήσιµο να ταξινοµήσουµε τα Μοντέλα Προσοµοίωσης µε βάση τέσσερις διαφορετικές έννοιες: Στατικά ή Δυναμικά Μοντέλα Προσομοίωσης Ένα στατικό µοντέλο προσοµοίωσης, αναπαριστά ένα σύστηµα σε µία συγκεκριµένη χρονική στιγµή, ή αναπαριστά ένα σύστηµα στο οποίο ο χρόνος δεν έχει σηµασία. Αντίθετα, ένα δυναµικό µοντέλο προσοµοίωσης αναπαριστά ένα σύστηµα, όπως αυτό εξελίσσεται µε την πάροδο του χρόνου. Ντετερμινιστικά ή Στοχαστικά Μοντέλα Προσομοίωσης Αν ένα µοντέλο προσοµοίωσης δεν περιλαµβάνει πιθανοτικά (δηλαδή "τυχαία") τµήµατα, ονοµάζεται ντετερµινιστικό. Για παράδειγµα, ένα πολύπλοκο σύστηµα διαφορικών εξισώσεων που περιγράφει µία χηµική αντίδραση, µπορεί να είναι ένα τέτοιο µοντέλο. Στα ντετερµινιστικά µοντέλα, η έξοδος είναι καθορισµένη, µε δεδοµένο το σύνολο των ποσοτήτων και σχέσεων εισόδου του µοντέλου. Όµως, πολλά συστήµατα πρέπει να χρησιµοποιήσουν στοχαστικά µοντέλα προσοµοίωσης, δηλαδή µοντέλα που θα έχουν τουλάχιστον ορισµένα τµήµατα µε "τυχαία" είσοδο. Τα περισσότερα υπολογιστικά συστήµατα, που βασίζονται στα συστήµατα αναµονής (queueing systems), χρησιµοποιούν στοχαστικά µοντέλα προσοµοίωσης. Αυτο-οδηγούμενα ή Ιχνο-οδηγούμενα Μοντέλα Προσομοίωσης Σε ένα αυτο-οδηγούµενο (self-driven) µοντέλο, υπάρχει µία εσωτερική πηγή τυχαίων αριθµών. Οι τυχαίοι αριθµοί οδηγούν τα τµήµατα του µοντέλου, δηλαδή χρησιµοποιούνται για τον προσδιορισµό των στιγµών εµφανίσεων των γεγονότων του συστήµατος. Το βασικό χαρακτηριστικό του αυτο-οδηγούµενου µοντέλου είναι ότι αποτελεί ένα αυτάρκες µοντέλο το οποίο δεν χρειάζεται εξωτερικές εισόδους (inputs) για να λειτουργήσει. Αντίθετα, ένα ιχνο-οδηγούµενο (trace-driven) µοντέλο καθοδηγείται από ακολουθίες εισόδου που προέρχονται από δεδοµένα (trace data) που έχουν δηµιουργηθεί από τη λειτουργία ενός πραγµατικού συστήµατος. Τέτοια δεδοµένα µπορούν να παραχθούν στα περισσότερα υπολογιστικά συστήµατα που διαθέτουν ενσωµατωµένα προγράµµατα ιχνηλάτησης (tracing programs) που παρακολουθούν και καταγράφουν τις δραστηριότητες του συστήµατος. Τα ιχνο-οδηγούµενα µοντέλα έχουν ορισµένα πλεονεκτήµατα, όπως το γεγονός ότι αποφεύγονται οι δυσκολίες της πιθανοτικής ανάλυσης που χρειάζεται για τη χρήση κατανοµών στην 8
10 περιγραφή των εισόδων του µοντέλου και επίσης το γεγονός ότι τα µοντέλα αυτά είναι εύκολο να επιβεβαιωθούν. Το πρόβληµα µε τα ιχνο-οδηγούµενα µοντέλα είναι το µικρό εύρος εφαρµογών που µπορούν να αντιµετωπίσουν. Οι εφαρµογές αυτές πρακτικά περιορίζονται σε υπολογιστικά συστήµατα και µάλιστα µόνο για τη µελέτη µετατροπών σε ένα σύστηµα που ήδη λειτουργεί. Συνεχή ή Διακριτά Μοντέλα Προσομοίωσης: Τα µοντέλα προσοµοίωσης διακρίνονται σε διακριτού χρόνου (discretetime) και συνεχούς χρόνου (continuous-time). Στα µοντέλα διακριτού χρόνου η κατάσταση µεταβάλλεται βηµατικά σε διακριτές χρονικές στιγµές t1, t2, t3,..., ενώ παραµένει σταθερή στα διαστήµατα [t1,t2),[t2, t3),... Συνεχές είναι το σύστηµα του οποίου η κατάσταση είναι συνεχής συνάρτηση του χρόνου. Η διαχρονική συµπεριφορά συνεχών συστηµάτων περιγράφεται συνήθως από διαφορικές εξισώσεις. Πάντως, πρέπει να σηµειωθεί ότι ένα διακριτό µοντέλο δεν χρησιµοποιείται µόνο για την αναπαράσταση ενός διακριτού συστήµατος και ένα διακριτό σύστηµα δεν αναπαριστάται µόνο από ένα διακριτό µοντέλο προσοµοίωσης. Η απόφαση για τη χρήση ενός διακριτού ή ενός συνεχούς µοντέλου για ένα συγκεκριµένο σύστηµα, εξαρτάται από τους ιδιαίτερους στόχους της µελέτης. Για παράδειγµα, ένα µοντέλο της ροής πακέτων δεδοµένων σε ένα WAN, θα είναι διακριτό εάν µας ενδιαφέρουν τα χαρακτηριστικά και η κίνηση των επιµέρους πακέτων και κατά συνέπεια των επιµέρους χρηστών. Αντίθετα, αν µας ενδιαφέρει µόνο η συνολική κίνηση, η ροή των πακέτων θα µπορούσε ίσως να περιγραφεί µε διαφορικές εξισώσεις σε ένα συνεχές µοντέλο. Το µοντέλο προσοµοίωσης που θα µας απασχολήσει στη συνέχεια, θα είναι διακριτό, δυναµικό, στοχαστικό και αυτο-οδηγούµενο και θα ονοµάζεται Μοντέλο Προσοµοίωσης ιακριτών Γεγονότων (discrete event simulation models). Μάλιστα, αφού τα ντετερµινιστικά µοντέλα µπορούν να θεωρηθούν ειδικές περιπτώσεις των στοχαστικών µοντέλων, δεν θα έχουµε απώλεια της γενικότητας στη µελέτη των µοντέλων προσοµοίωσης. 9
11 1.3 Ο Μηχανισμός Εξέλιξης του Χρόνου Λόγω του δυναµικού χαρακτήρα των µοντέλων προσοµοίωσης διακριτών γεγονότων, πρέπει να έχουµε τη δυνατότητα αποθήκευσης της τρέχουσας τιµής του προσοµοιωµένου χρόνου, ενώ χρειαζόµαστε και ένα µηχανισµό αύξησής του από µία τιµή σε µία άλλη. Η µεταβλητή του µοντέλου προσοµοίωσης που µας δίνει την τρέχουσα τιµή του χρόνου, ονοµάζεται ρολόι προσοµοίωσης (simulation clock). Η µονάδα χρόνου που χρησιµοποιεί το ρολόι είναι συνήθως η ίδια µε αυτή που χρησιµοποιούν οι παράµετροι εισόδου, ενώ γενικά δεν υπάρχει σχέση του χρόνου που καταγράφει το ρολόι, µε το χρόνο που απαιτείται για την εκτέλεση του προσοµοιωτή στον υπολογιστή. Ιστορικά έχουν επικρατήσει δύο βασικές µέθοδοι για την εξέλιξη του ρολογιού προσοµοίωσης: Η Εξέλιξη µε βάση το Χρόνο του Εποµένου Γεγονότος (nextevent time advance) και η Εξέλιξη Σταθερής Αύξησης του Χρόνου (fixedincrement time advance). Θα χρησιµοποιήσουµε την πρώτη µέθοδο διότι είναι πιο διαδεδοµένη και διότι η δεύτερη µπορεί να θεωρηθεί ειδική περίπτωση της πρώτης. Στη µέθοδο εξέλιξης µε βάση το χρόνο του εποµένου γεγονότος, το ρολόι προσοµοίωσης αρχικοποιείται στο µηδέν και καθορίζονται οι στιγµές εµφάνισης των µελλοντικών γεγονότων. Το ρολόι τότε αυξάνει στο χρόνο εµφάνισης του πιο κοντινού στο µέλλον, από τα γεγονότα αυτά. Τη στιγµή αυτή η κατάσταση του συστήµατος ενηµερώνεται ώστε να πάρει υπ όψη της το γεγονός που εµφανίστηκε, ενώ ενηµερώνεται επίσης η γνώση µας για τις χρονικές στιγµές εµφάνισης των µελλοντικών γεγονότων. Στη συνέχεια, το ρολόι αυξάνει ώστε να δείχνει τη στιγµή εµφάνισης του νέου πιο κοντινού στο µέλλον γεγονότος, η κατάσταση του συστήµατος ενηµερώνεται, καθορίζονται οι χρονικές στιγµές εµφάνισης των µελλοντικών γεγονότων κ.ο.κ. Η διαδικασία αυτή εξέλιξης του ρολογιού προσοµοίωσης από το ένα γεγονός στο άλλο, συνεχίζεται µέχρι να ικανοποιηθεί κάποια προκαθορισµένη συνθήκη τερµατισµού της προσοµοίωσης. Αφού όλες οι αλλαγές κατάστασης γίνονται µόνο στις χρονικές στιγµές εµφάνισης των γεγονότων, οι ενδιάµεσες ανενεργοί περίοδοι δεν λαµβάνονται υπ όψη και το ρολόι µετακινείται αυτόµατα στη στιγµή εµφάνισης του εποµένου γεγονότος. Όσον δε αφορά τη µέθοδο εξέλιξης σταθερής αύξησης του χρόνου, το ρολόι προσοµοίωσης εξελίσσεται µε σταθερές αυξήσεις ακριβώς t µονάδων χρόνου κάθε φορά. Μετά από κάθε ενηµέρωση του ρολογιού, γίνεται ένας έλεγχος για να εξακριβωθεί εάν θα έπρεπε να έχουν εµφανισθεί κάποια γεγονότα κατά το προηγούµενο χρονικό διάστηµα t. Αν εµφανίσθηκαν γεγονότα στο διάστηµα αυτό, θεωρούµε ότι αυτά εµφανίζονται στο τέλος του χρονικού διαστήµατος και η κατάσταση του συστήµατος ενηµερώνεται κατάλληλα. 10
12 1.4 Οργάνωση ενός Μοντέλου Προσομοίωσης Τα περισσότερα µοντέλα προσοµοίωσης διακριτών γεγονότων που χρησιµοποιούν τη µέθοδο εξέλιξης µε βάση το χρόνο του εποµένου γεγονότος, περιλαµβάνουν τα παρακάτω τµήµατα: Κατάσταση Συστήµατος (system state): Η συλλογή των µεταβλητών κατάστασης που είναι απαραίτητες για την περιγραφή του συστήµατος σε µία χρονική στιγµή. Ρολόι Προσοµοίωσης (simulation clock): Μία µεταβλητή που περιέχει την τρέχουσα τιµή του προσοµοιωµένου χρόνου. Λίστα Γεγονότων (event list): Μία λίστα που περιέχει την επόµενη χρονική στιγµή εµφάνισης κάθε τύπου γεγονότος. Στατιστικοί Μετρητές (statistical counters): Μεταβλητές που χρησιµοποιούνται για την αποθήκευση στατιστικών µετρήσεων της απόδοσης του συστήµατος. Ρουτίνα Έναρξης (initialization routine): Ένα υποπρόγραµµα που αρχικοποιεί το µοντέλο προσοµοίωσης τη χρονική στιγµή µηδέν. Ρουτίνα Χρόνου (timing routine): Ένα υποπρόγραµµα που αναγνωρίζει το επόµενο γεγονός από τη λίστα γεγονότων και ακολούθως αυξάνει το ρολόι προσοµοίωσης στη χρονική στιγµή που το γεγονός αυτό θα εµφανισθεί. Ρουτίνες Γεγονότων (event routines): Υποπρογράµµατα που ενηµερώνουν την κατάσταση συστήµατος όταν εµφανίζεται ένα συγκεκριµένο είδος γεγονότος (υπάρχει µία τέτοια ρουτίνα για κάθε είδος γεγονότος). Ρουτίνες Βιβλιοθήκης (library routines): Σύνολο υποπρογραµµάτων που δηµιουργούν τυχαίες εµφανίσεις τιµών από πιθανοτικές κατανοµές, που έχουν ορισθεί ως µέρος του µοντέλου προσοµοίωσης. Ρουτίνα Αποτελεσµάτων (report generator): Υποπρόγραµµα που υπολογίζει εκτιµήσεις των επιθυµητών µέτρων απόδοσης από τους µετρητές στατιστικών και παράγει αναφορές όταν τελειώσει η εκτέλεση του προσοµοιωτή. Κυρίως Πρόγραµµα (main program): Το πρόγραµµα που καλεί τη ρουτίνα χρονισµού για να καθοριστεί το επόµενο γεγονός και µετά µεταφέρει τον έλεγχο στην αντίστοιχη ρουτίνα γεγονότος για να ενηµερωθεί κατάλληλα η κατάσταση του συστήµατος. Ελέγχει επίσης αν πρέπει να τερµατισθεί η προσοµοίωση και καλεί τότε τη γεννήτρια αναφορών. 11
13 Οι λογικές σχέσεις ανάµεσα στα παραπάνω τµήµατα φαίνονται στο παρακάτω σχήµα. Σχήµα 1.1 Μοντέλο προσοµοίωσης διακριτών γεγονότων 12
14 1.5 Τα Βήματα μιας Μελέτης με Προσομοίωση Στο επόµενο σχήµα παρουσιάζονται τα βήµατα που ακολουθεί µία τυπική µελέτη ενός συστήµατος µε χρήση προσοµοίωσης. Σχήµα 1.2 Τα βήµατα µελέτης µε προσοµοίωση 13
15 1.6 Πλεονεκτήματα και Μειονεκτήματα Η προσοµοίωση είναι µια ευρέως χρησιµοποιούµενη και συνεχώς πιο δηµοφιλής µέθοδος για τη µελέτη πολύπλοκων συστηµάτων. Έχει φυσικά τα πλεονεκτήµατα, τα µειονεκτήµατά της, αλλά και υπάρχουν πολλές αιτίες εξ αιτίας των οποίων ορισµένες προσοµοιώσεις δεν καταλήγουν στο επιθυµητό αποτέλεσµα. Πλεονεκτήματα Ορισµένα πιθανά πλεονεκτήµατα της χρήσης της µεθόδου της προσοµοίωσης είναι τα παρακάτω: Τα περισσότερα σύνθετα συστήµατα του πραγµατικού κόσµου µε "τυχαίες" παραµέτρους, δεν µπορούν να περιγραφούν ικανοποιητικά µε κάποιο µαθηµατικό µοντέλο που µπορεί να λυθεί αναλυτικά. Έτσι, η προσοµοίωση είναι συχνά η µόνη διαθέσιµη µέθοδος µελέτης. Η προσοµοίωση επιτρέπει την εκτίµηση της απόδοσης ενός υπάρχοντος συστήµατος, κάτω από κάποιο προβλεπόµενο σύνολο λειτουργικών συνθηκών. Μπορούν να συγκριθούν µέσω της προσοµοίωσης, εναλλακτικές προτεινόµενες σχεδιάσεις ή εναλλακτικές πολιτικές λειτουργίας του συστήµατος, ώστε να προσδιορισθεί η βέλτιστη λύση που ικανοποιεί τις προδιαγραφές που έχουν ορισθεί. Σε ένα µοντέλο προσοµοίωσης µπορούµε να έχουµε καλύτερο έλεγχο στις συνθήκες των πειραµάτων, σε σχέση µε πιθανό πειραµατισµό µε το πραγµατικό σύστηµα. Η προσοµοίωση επιτρέπει τη µελέτη ενός συστήµατος που έχει µακρόχρονη εξέλιξη (π.χ. ένα οικονοµικό σύστηµα), σε πολύ µικρότερο χρόνο, ή τη µελέτη της λεπτοµέρειάς του σε περισσότερο χρόνο. Είναι µια µέθοδος οικονοµική, αφού είναι δυνατό να υλοποιηθεί πλέον σε µικρούς υπολογιστές µε τη χρήση γλωσσών προγραµµατισµού γενικού σκοπού όπως η C, η Pascal και η BASIC. Η προσοµοίωση µπορεί να υλοποιηθεί από µηχανικούς που δεν είναι απαραίτητο να έχουν εκτεταµένες µαθηµατικές γνώσεις, παρά µόνο τη δυνατότητα να κατανοούν βασικές έννοιες στατιστικής και να µπορούν να εφαρµόζουν ήδη έτοιµα µαθηµατικά εργαλεία. 14
16 Μειονεκτήματα Ορισµένα µειονεκτήµατα της προσοµοίωσης είναι τα παρακάτω: Κάθε εκτέλεση ενός µοντέλου προσοµοίωσης διακριτών γεγονότων παράγει µόνο εκτιµήσεις των πραγµατικών χαρακτηριστικών του µοντέλου, για ένα συγκεκριµένο σύνολο παραµέτρων εισόδου. Έτσι, είναι πιθανό να χρειασθούν πολλές διαφορετικές ανεξάρτητες εκτελέσεις του µοντέλου για κάθε σύνολο παραµέτρων εισόδου που θα µελετηθεί. Για το λόγο αυτό, η προσοµοίωση δεν είναι γενικά τόσο καλή µέθοδος για βελτιστοποίηση, όσο είναι για τη σύγκριση εναλλακτικών σχεδιαστικών λύσεων του συστήµατος. Τα µοντέλα προσοµοίωσης συχνά απαιτούν πολύ χρόνο και πόρους για να αναπτυχθούν. Ο µεγάλος όγκος αριθµών που παράγονται από µία µελέτη προσοµοίωσης ή η εντύπωση που δηµιουργούν οι τυχόν γραφικές αναπαραστάσεις των αποτελεσµάτων της, συχνά ενισχύουν µία τάση να δίνεται µεγαλύτερη εµπιστοσύνη στα αποτελέσµατα αυτά από όσο πρέπει. Αν το µοντέλο δεν είναι µία αρκετά έγκυρη αναπαράσταση του συστήµατος, τα αποτελέσµατα της προσοµοίωσης, ανεξάρτητα του πόσο εντυπωσιακά είναι, θα προσθέσουν λίγη χρήσιµη πληροφορία για το πραγµατικό σύστηµα. 15
17 1.7 Προβλήματα / Δυσκολίες της Προσομοίωσης Από τη στιγµή που έχει ληφθεί η απόφαση να χρησιµοποιηθεί προσοµοίωση για τη µελέτη ενός συστήµατος, έχει παρατηρηθεί ότι µπορούν να εµφανισθούν αρκετά προβλήµατα στην πορεία υλοποίησης ενός επιτυχηµένου προσοµοιωτή: Όχι καλά ορισµένοι στόχοι κατά την έναρξη της µελέτης. Ακατάλληλο επίπεδο λεπτοµέρειας του µοντέλου. Χειρισµός της µελέτης µε προσοµοίωση, σαν να ήταν βασικά µία δύσκολη άσκηση προγραµµατισµού. Έλλειψη στοιχειωδών γνώσεων Επιχειρησιακής Έρευνας και Στατιστικής. Χρήση εµπορικών πακέτων προσοµοιωτών που µπορεί να περιέχουν λάθη ή να µην υλοποιούν τη λογική του συστήµατος. Αποτυχία στη σωστή καταγραφή των πηγών τυχαιότητας του συστήµατος. Χρήση αυθαίρετων κατανοµών (π.χ. κανονική ή οµοιόµορφη) για την περιγραφή των εισόδων του προσοµοιωτή. Ανάλυση των δεδοµένων εξόδου από µία εκτέλεση του προσοµοιωτή, µε τη χρήση στατιστικών τύπων που προϋποθέτουν ανεξαρτησία. Χρήση λανθασµένων µέτρων απόδοσης. 16
18 Κεφάλαιο 2 ο Συστήματα Grid 2.1 Εισαγωγή στα συστήματα Grid Τα τελευταία χρόνια, η ραγδαία εξάπλωση του Internet σε συνδυασµό µε τη διαθεσιµότητα δικτύων κορµού (backbone) υψηλών ταχυτήτων και τη τεχνολογική ανάπτυξη των υπολογιστών αλλά και του λογισµικού, έχουν δηµιουργήσει µια νέα δυναµική στην κλασσική έννοια του όρου υπολογιστικό περιβάλλον. Στην παρούσα φάση, σηµαντικός αριθµός υπολογιστικών πόρων, οι οποίοι περιλαµβάνουν υπολογιστική ισχύ, δεδοµένα, υπηρεσίες, εργαλεία λογισµικού, επιστηµονικά όργανα, κλπ, βρίσκονται κατανεµηµένοι σε παγκόσµιο επίπεδο, δηµιουργώντας την ανάγκη για ασφαλή, οµοιόµορφη, αξιόπιστη και αποµακρυσµένη πρόσβαση µέσω δικτύων ώστε να αξιοποιηθούν ικανοποιητικά οι δυνατότητες που αυτοί παρέχουν. Τα Grids είναι µια προσέγγιση της σύστασης δυναµικά δοµηµένων περιβαλλόντων, χρησιµοποιώντας υπολογιστικούς πόρους που είναι διεσπαρµένοι τόσο γεωγραφικά όσο και οργανωτικά. Ο όρος Grid εισήχθη στις αρχές της δεκαετίας του 1990 για να περιγράψει µια προτεινόµενη κατανεµηµένη υπολογιστική υποδοµή για τις προηγµένες επιστήµες και την εφαρµοσµένη µηχανική. Από τότε, πραγµατοποιήθηκαν σηµαντικά βήµατα στη κατεύθυνση αυτή, µε αποτέλεσµα σήµερα να βρισκόµαστε µπροστά στην πρόκληση της δηµιουργίας υποδοµών Grid σε εθνικό επίπεδο, µε τη συµµετοχή ευρέως φάσµατος οµάδων από όλες τις επιστηµονικές κοινότητες. Ουσιαστικά, ένας ερευνητής, που βρίσκεται συνεχώς συνδεδεµένος στο Internet, µε τη χρήση του κατάλληλου λογισµικού µπορεί να µοιράζεται την υπολογιστική ισχύ των υπολογιστών του, τον αποθηκευτικό του χώρο και τους άλλους πόρους του εργαστηρίου του µε χιλιάδες άλλους ερευνητές στον κόσµο. Ο διαµοιρασµός αυτός µπορεί να γίνει µε οµοιόµορφο, ασφαλή και κατανεµηµένο τρόπο σε παγκόσµιο επίπεδο. Οι νέες αυτές µέθοδοι, γνωστές ως τεχνολογίες Grid, αποτελούν σήµερα την τεχνολογία αιχµής σε παγκόσµιο επίπεδο για την ικανοποίηση (µεταξύ άλλων) υψηλών απαιτήσεων σε υπολογιστική ισχύ και χώρους αποθήκευσης δεδοµένων. 17
19 Το ακριβές πρόβληµα το οποίο υποκινεί την ανάπτυξη του Grid είναι ο ελεγχόµενος και συντονισµένος διαµοιρασµός και χρήση πόρων για την επίλυση προβληµάτων στο πλαίσιο δυναµικών πολυ-ιδρυµατικών εικονικών οργανισµών, Ε.Ο. (multi-institutional Virtual Organizations-VOs) [1]. Τέτοιες οµάδες µπορεί να είναι οι επιστήµονες που συµµετέχουν σε πειράµατα Φυσικής Υψηλών Ενεργειών όπως τα πειράµατα του CERN, ή οι οµάδες αστρονόµων που µελετούν κατανεµηµένα τις εικόνες διαφόρων αστεροσκοπείων και τηλεσκοπίων ανά τον κόσµο, πειράµατα Βιοπληροφορικής κλπ. Σηµειωτέον ότι εικονικοί οργανισµοί µπορούν να λειτουργήσουν ανά πείραµα ακόµα και για τις ίδιες κοινότητες χρηστών, π.χ. να υπάρχουν τέσσερεις Ε.Ο. για τα 4 πειράµατα Φυσικής του CERN. Ο διαµοιρασµός αυτός αφορά όχι µόνο στην ανταλλαγή δεδοµένων αλλά επίσης στην άµεση πρόσβαση σε υπολογιστικές µονάδες, υπηρεσίες, λογισµικό, δεδοµένα και άλλους πόρους, όπως αυτό απαιτείται από ένα µεγάλο εύρος συµπράξεων για επίλυση προβληµάτων και διαχείριση κοινών πόρων που προκύπτουν στην επιστήµη, βιοµηχανία και τη δηµόσια διοίκηση. Ο διαµοιρασµός αυτός θα πρέπει να είναι ελεγχόµενος, µε τους παρόχους και τους χρήστες των πόρων να ακολουθούν πρωτόκολλα τα οποία θα καθορίζουν µε σαφήνεια τι θα πρέπει να µοιραστεί, ποιος επιτρέπεται να διαµοιράσει και ποιες είναι οι συνθήκες κάτω από τις οποίες πραγµατοποιείται ο διαµοιρασµός. Υπάρχουν πολλές απαιτήσεις για την επιθυµητή λειτουργία των Ε.Ο. [2], όπως: Ευέλικτες σχέσεις διαμοιρασμού Οι σχέσεις διαµοιρασµού µπορούν να µεταβάλλονται δυναµικά στον χρόνο, υποδεικνύοντας τους διαµοιραζόµενους πόρους, τον τύπο την πρόσβασης που επιτρέπεται, και σε ποιους συµµετέχοντες επιτρέπεται η χρήση κάθε πόρου. Αυτές οι σχέσεις δεν ονοµάζουν απαραίτητα ένα σύνολο συµµετεχόντων πόρων, αλλά τις περισσότερες φορές καθορίζονται εµµέσως από τις πολιτικές πρόσβασης του πόρου. Μηχανισμοί εντοπισμού Η δυναµική φύση των σχέσεων διαµοιρασµού απαιτεί την ύπαρξη µηχανισµών για την ανακάλυψη και τον προσδιορισµό των σχέσεων που υπάρχουν σε µια συγκεκριµένη χρονική στιγµή. Για παράδειγµα ένας νέος συµµετέχων σε µια Ε.Ο. πρέπει να έχει την δυνατότητα να εντοπίσει τους πόρους στους οποίους του επιτρέπεται η πρόσβαση, την ποιότητα υπηρεσίας (QoS) που παρέχουν αυτοί οι πόροι κτλ. 18
20 Επίλυση θεμάτων χρονοπρογραμματισμού και ταυτόχρονης δέσμευσης ενός συνόλου πόρων Πολλά προβλήµατα απαιτούν την ταυτόχρονη χρήση πόρων για να επιλυθούν. Γι' αυτόν τον λόγο οι σχέσεις διαµοιρασµού πρέπει να µπορούν να συνδυαστούν για την συντονισµένη χρήση πολλών πόρων που βρίσκονται σε κάποιους οργανισµούς. Για παράδειγµα µια διαµοιραζόµενη υπολογιστική µονάδα (πόρος 1) που επεξεργάζεται δεδοµένα από µια διαµοιραζόµενη µονάδα αποθήκευσης (πόρος 2). Μηχανισμοί Παροχής Δικαιωμάτων (delegation): Μηχανισµοί µε τους οποίους ο χρήστης εξουσιοδοτεί τον διαµοιραζόµενο πόρο µε τα δικαιώµατά του. Για παράδειγµα µια υπολογιστική µονάδα να εξουσιοδοτηθεί ώστε να έχει δικαίωµα πρόσβασης στα αρχεία της οντότητας που την χρησιµοποιεί. Σχέσεις ομότιμων: Οι σχέσεις διαµοιρασµού πολύ συχνά δεν είναι απλά της µορφής πελάτης εξυπηρετητής αλλά οµότιµων οντοτήτων. Διαφορετική λειτουργία ενός πόρου: Ο ίδιος πόρος µπορεί να χρησιµοποιηθεί µε διαφορετικό τρόπο ανάλογα µε τους περιορισµούς πρόσβασης και τον σκοπό για τον οποίο γίνεται η διαµοίραση. Τα σηµερινά εµπορικά κατανεµηµένα συστήµατα ή δεν παρέχουν τους απαραίτητους µηχανισµούς, ή τους περιορίζουν στα όρια ενός οργανισµού. Για αυτόν τον λόγο ερευνητικές οµάδες ασχολούνται µε την ανάπτυξη κατάλληλων υπηρεσιών, πρωτοκόλλων και άλλων µηχανισµών που αποτελούν κοµµάτια της λύσης του grid προβλήµατος. Για παράδειγµα οι τεχνολογίες αυτές περιλαµβάνουν θέµατα ασφάλειας στην αποστολή δεδοµένων και αποτελεσµάτων, την ασφαλή αποµακρυσµένη πρόσβαση πόρων, πρωτόκολλα που παρέχουν πληροφορίες για την κατάσταση των αποµακρυσµένων πόρων κτλ. Ο όρος Grid περιλαµβάνει το σύνολο της υποδοµής (υλικό και λογισµικό) και των απαραίτητων υπηρεσιών για τη δηµιουργία ενός ενιαίου (γεωγραφικά διεσπαρµένου) υπερ-υπολογιστικού περιβάλλοντος. 19
21 Από τα παραπάνω, γίνεται φανερό ότι ο όρος Grid περιλαµβάνει το σύνολο της υποδοµής, υλικό και λογισµικό, κατάλληλα διασυνδεόµενων µέσω δικτύων υψηλών ταχυτήτων, καθώς και των απαραίτητων υπηρεσιών για τη δηµιουργία ενός ενιαίου υπερ-υπολογιστικού περιβάλλοντος, που αν και είναι γεωγραφικά διεσπαρµένο, εµφανίζεται µε τρόπο διαφανή σε όλους τους χρήστες του. Αποτελεί ένα ενιαίο σύνολο υπολογιστικών πόρων, µια συµπαγή αν και κατανεµηµένη υπολογιστική πλατφόρµα. Το Grid διασυνδέει ετερογενή υπολογιστικά περιβάλλοντα, µε όµοια ή διαφορετική φιλοσοφία και υπηρεσίες, δηµιουργώντας επιπλέον νέα σύνολα υπηρεσιών µε αυξηµένες υπολογιστικές δυνατότητες και νέους τρόπους αξιοποίησης των ποικίλων πόρων τους οποίους διαµοιράζει. 2.2 Χαρακτηριστικά του Grid Τα Grids ενοποιούν µέσω ηλεκτρονικών δικτύων υπολογιστικούς, αποθηκευτικούς και άλλους πόρους (π.χ. αισθητήρες) κατανεµηµένους σε τοπική, εθνική και διεθνή κλίµακα, κλιµακώνοντας τις δυνατότητες της Κοινωνίας της Πληροφορίας / Γνώσης, όπως αντίστοιχα τα Grids ηλεκτρικής ισχύος υπήρξαν καταλυτικοί παράγοντες της Βιοµηχανικής Επανάστασης. Τα Grids διακρίνονται µε τα εξής χαρακτηριστικά: 1. Επιτρέπουν το διαµοιρασµό των πόρων σε πολλαπλούς χρήστες διαφορετικών κοινοτήτων µε ετερογενή πεδία εφαρµογών και γεωγραφική κατανοµή. Ένα Grid µπορεί να στηρίζεται σε ένα τοπικό δίκτυο (campus LAN), µητροπολιτικό δίκτυο MAN, εθνικής εµβέλειας δίκτυο (WAN) ή και διεθνούς κάλυψης δίκτυο όπως το Ευρωπαϊκό Ερευνητικό ίκτυο GEANT και το Αµερικανικό Abilene ανάλογα µε τις απαιτήσεις των εφαρµογών και τις υπάρχουσες δικτυακές υποδοµές. 2. Απαιτούν ασφαλή πρόσβαση µέσω ενδιάµεσου λογισµικού (middleware) µε παγκόσµια έµφαση στο λογισµικό ανοικτού κώδικα open source (π.χ. GLOBUS). Τα Grids επεκτείνουν την φιλοσοφία του ανοικτού λογισµικού σε ανοικτά υπολογιστικά συστήµατα, µε περιορισµούς µόνο όσο αφορά την ασφάλεια και την διαθεσιµότητα πόρων για την κάλυψη συγκεκριµένων αναγκών. 3. Παρουσιάζουν µεγάλη δυνατότητα κλιµάκωσης, µε ιδιαίτερα περιορισµένη αρχική επένδυση. 4. Ενοποιούν µέσω δικτύων Internet / Intranet υπολογιστικές, αποθηκευτικές και άλλες ηλεκτρονικές εγκαταστάσεις µε ετερογενείς τεχνολογικές υλοποιήσεις µε στόχο την παροχή ολοκληρωµένων Ηλεκτρονικών Υπηρεσιών (eservices). H ενοποίηση υλοποιείται µε χρήση ενός επιπρόσθετου στρώµατος ενδιάµεσου λογισµικού (middleware) που αναλαµβάνει το διαµοιρασµό των πόρων πάνω από το δίκτυο µε τα παραπάνω χαρακτηριστικά. 20
22 Είναι προφανές ότι τις Hλεκτρονικές Yποδοµές οδηγούν οι Ερευνητικές και Ακαδηµαϊκές Κοινότητες, οι οποίες θα συνεισφέρουν σηµαντικά στην προτυποποίηση των σχετικών τεχνολογιών αυτών, και θα επιτρέψουν την ευρεία διάδοση τους σε άλλες περιοχές (ebusiness, egovernment, κλπ.). Ανάλογα µε τα χαρακτηριστικά των επί µέρους εφαρµογών, τις ιστορικές ιδιαιτερότητες κοινοτήτων χρηστών και χωρών και τα εκάστοτε ισχύοντα τεχνικο-οικονοµικά κριτήρια συνυπάρχουν Grids που διασυνδέουν: a. Προσωπικούς υπολογιστές, εκµεταλλευόµενα τις µεγάλες σηµερινές τους δυνατότητες, ιδιαίτερα όταν αυτοί υπολειτουργούν (σε αυτή την περίπτωση αναφέρονται και ως desktop ή scanverging grids, µε πρώτη εφαρµογή το b. Πλήρως παράλληλα υπολογιστικά συστήµατα τύπου cluster υπό την προϋπόθεση ότι οι εφαρµογές είναι πρόσφορες και ότι οι χρήστες έχουν την απαιτούµενη τεχνογνωσία. c. Μεγάλα Κέντρα Υπολογιστών, µε συστήµατα κατανεµηµένης µνήµης (distributed memory πχ Beowulf Clusters) και συµµετρικής πολυεπεξεργασίας (symmetric multiprocessing - SMP), τα οποία θα συνυπάρχουν όσο υπάρχουν εφαρµογές που το απαιτούν και Κέντρα Υπολογιστών που θα παρέχουν υπηρεσίες µε τον κατάλληλο εξοπλισµό και υποστήριξη πελατών. Το Grid βασίζεται στη διασύνδεση προσωπικών υπολογιστών σε συστοιχίες (cluster computing), και επεκτείνεται γεωγραφικά µε Εθνικά και ιεθνή δίκτυα υπέρ-υψηλών ταχυτήτων. Χαρακτηριστικό είναι το παράδειγµα συστοιχίας προσωπικών υπολογιστών Macintosh G5 (the Big Mac), που συγκαταλέγεται ως ο τρίτος πιο ισχυρός υπερ-υπολογιστής στον κόσµο. Το Big Mac φτιάχτηκε εύκολα, γρήγορα, µε πολύ χαµηλότερο κόστος από έναν υπερ-υπολογιστή, ενώ οι δυνατότητες επέκτασης είναι θεωρητικά απεριόριστες. 21
23 2.3 Μοντελοποίηση ενός συστήματος Grid Η χρονοδροµολόγηση εργασιών σε συστήµατα Grid είναι µια ευρεία επιστηµονική περιοχή, που έχει αποτελέσει το αντικείµενο µελέτης πολλών ερευνητικών εργασιών [10-31]. Στόχος ενός επιτυχηµένου µοντέλου είναι η εκµετάλλευση των διαθέσιµων πόρων στο µέγιστο των δυνατοτήτων τους. Για να επιτευχθεί αυτό θα πρέπει κατά τη µοντελοποίηση ενός δικτύου grid να ληφθούν υπόψη τα βασικά χαρακτηριστικά του: η ετερογένεια και η επεκτασιµότητα. Ετερογένεια σηµαίνει ότι στο grid µπορούν να συνδεθούν clusters ή υπολογιστικές µονάδες µε διαφορετική επεξεργαστική δύναµη. Μπορεί να έχουµε γρήγορους και αργούς επεξεργαστές, sites µε διαφορετικό αριθµό εξυπηρετών κλπ. Κατά τη δροµολόγηση εργασιών θα πρέπει να λαµβάνεται υπόψη η ετερογένεια του δικτύου για να επιτευχθεί µέγιστη απόδοση. Επεκτασιµότητα σηµαίνει ότι ανά πάσα στιγµή µπορεί να συνδεθεί στο δίκτυο ένας καινούριος πόρος. Το δίκτυο θα πρέπει να είναι σε θέση να αφοµοιώσει και να χρησιµοποιήσει τον πόρο αυτό µε τον καλύτερο δυνατό τρόπο. Στο grid συναντάµε δύο επίπεδα: το επίπεδο του grid και το τοπικό επίπεδο. ιεργασίες (jobs) µπορούν να παράγονται και να εξυπηρετούνται τοπικά σε ένα cluster ή να παράγονται σε ένα cluster και να δροµολογούνται για επεξεργασία σε έναν δεύτερο cluster. Στην πρώτη περίπτωση η δροµολόγηση της διεργασίας γίνεται τοπικά από τον τοπικό δροµολογητή του cluster (local scheduler). Στη δεύτερη περίπτωση η δροµολόγηση θα πρέπει να γίνει αρχικά από τον δροµολογητή του grid (επίπεδο grid). Ο grid scheduler µε βάση κάποια πολιτική επιλέγει το cluster που µπορεί να εξυπηρετήσει τη διεργασία και τη δροµολογεί σε αυτό. Τη διεργασία παραλαµβάνει στη συνέχεια ο local scheduler ο οποίος τη δροµολογεί στην ουρά κάποιου εξυπηρέτη για να δεχτεί επεξεργασία. Για την κατασκευή ενός επιτυχηµένου µοντέλου θα πρέπει να ακολουθηθούν οι βασικές έννοιες της θεωρίας ουρών, οι οποίες περιγράφονται στο επόµενο κεφάλαιο. 22
24 Κεφάλαιο 3 ο Θεωρία Ουρών 3.1 Ουρές αναμονής Μια ουρά αναµονής ή ισοδύναµα ένα σύστηµα εξυπηρέτησης είναι ένα µαθηµατικό πρότυπο για τη µοντελοποίηση ενός πραγµατικού συστήµατος εισόδου - εξόδου µονάδων (πελατών) στο οποίο υπεισέρχεται τυχαιότητα. Η θεωρία ουρών (Queueing theory) εξετάζει τα φαινόµενα που παρατηρούνται στις ουρές αναµονής ενός σταθµού εξυπηρέτησης. Τυπικά παραδείγµατα ουρών αναµονής που παρουσιάζονται στις εφαρµογές είναι τα ταµεία των τραπεζών και γενικότερα διαφόρων οργανισµών, τα τηλεφωνικά κέντρα εξυπηρέτησης πελατών, το τηλεφωνικό δίκτυο, το διαδίκτυο καθώς και τοπικά δίκτυα υπολογιστών, οι γραµµές παραγωγής µιας βιοµηχανικής µονάδας, συγκοινωνιακά δίκτυα κλπ. Στόχος της θεωρία των ουρών αναµονής είναι η ποσοτική περιγραφή τέτοιων συστηµάτων και ο βέλτιστος σχεδιασµός τους. 3.2 Βασικές έννοιες Στο παρακάτω σχήµα παρουσιάζεται ένα γενικό σύστηµα αναµονής µε ρυθµό άφιξης λ και ρυθµό εξυπηρέτησης µ. Σύµφωνα µε αυτό µια ακολουθία πελατών φθάνει σε ένα σταθµό εξυπηρέτησης, ο οποίος περιλαµβάνει µία ή περισσότερες µονάδες εξυπηρέτησης. Αν ένας πελάτης, φθάνοντας στο σύστηµα βρει όλους τους σταθµούς εξυπηρέτησης απασχοληµένους, τότε περιµένει στην ουρά αναµονής µέχρι να επιλεχθεί η κατάλληλη χρονική στιγµή προκειµένου να εξυπηρετηθεί, σύµφωνα µε κάποιο αλγόριθµο χρονοδροµολόγησης (queueing discipline). Τελειώνοντας την εξυπηρέτησή του, ο πελάτης αναχωρεί από το σύστηµα. Σχήµα 3.1 Ουρά αναµονής µε m παράλληλους εξυπηρετητές 23
25 Σηµαντικές ποσότητες που µας ενδιαφέρουν κατά τη µελέτη ενός συστήµατος ουρών αναµονής είναι οι εξής: Χρόνος µεταξύ διαδοχικών αφίξεων (τ): τ = 1/λ (όπου λ ο µέσος ρυθµός άφιξης). Μέσος ρυθµός εξυπηρέτησης ανά εξυπηρέτη: µ Χρόνος εξυπηρέτησης ανά διεργασία: s Αριθµός των εργασιών στο σύστηµα: n = n q + n s (όπου n q ο αριθµός των εργασιών στην ουρά και n s ο αριθµός των εργασιών υπό επεξεργασία) Χρόνος απόκρισης: r = w + s (όπου w ο χρόνος αναµονής στην ουρά και s ο χρόνος εξυπηρέτησης). Πρόκειται λοιπόν για το χρόνο από τη στιγµή που µια εργασία εισέρχεται στο σύστηµα µέχρι τη στιγµή που αναχωρεί από αυτό Η κύρια συνθήκη που θα πρέπει οπωσδήποτε να ισχύει σε ένα τέτοιο σύστηµα εξυπηρέτησης είναι η συνθήκη σταθερότητας: λ<mµ (όπου m ο αριθµός των επεξεργαστών). Αν η σχέση αυτή δεν ικανοποιείται σηµαίνει ότι το σύστηµα δέχεται στη µονάδα του χρόνου περισσότερες εργασίες από όσες µπορεί να εξυπηρετήσει. Έτσι ο αριθµός των εργασιών στο σύστηµα διαρκώς θα αυξάνεται τείνοντας προς το άπειρο µε αποτέλεσµα το σύστηµα να είναι ασταθές. 3.3 Ο νόμος του Little Από τα πιο σηµαντικά θεωρήµατα της θεωρίας ουρών είναι ο νόµος του Little. Το θεώρηµα αυτό συνδέει το µέσο αριθµό των εργασιών στο σύστηµα µε το µέσο χρόνο απόκρισης και µας επιτρέπει να υπολογίσουµε τη µία εκ των δύο ποσοτήτων εφόσον η άλλη είναι γνωστή. Η σχέση που συνδέει τις δύο ποσότητες είναι η εξής: µέσος αριθµός στο σύστηµα = ρυθµός άφιξης x µέσος χρόνος απόκρισης L = λ * RT 24
26 3.4 Συμβολισμός Τα απλά συστήµατα αναµονής (αυτά δηλαδή που χαρακτηρίζονται από µία εξυπηρέτηση ανά πελάτη) παρουσιάζονται µε τον ακόλουθο απλό συµβολισµό: A/B/m/K/M, όπου κάθε ένα από τα γράµµατα έχουν την ακόλουθη σηµασία: A: ιαδικασία αφίξεων. Τα ακόλουθα σύµβολα χρησιµοποιούνται για την περιγραφή των κατανοµών. M (εκθετική), E k (Erlang-k), H k (υπερεκθετική τάξης k), G (γενική). B: Κατανοµή χρόνου εξυπηρέτησης (ισχύουν τα παραπάνω προαναφερθέντα σύµβολα για τις κατανοµές). m: Αριθµός σταθµών εξυπηρέτησης (παράλληλα) K: Χωρητικότητα της ουράς (στην περίπτωση πεπερασµένου χώρου αναµονής) M: Μέγεθος πληθυσµού Για την πλήρη περιγραφή του συστήµατος αναµονής θα πρέπει να γνωρίζει κανείς επίσης τον τρόπο εξυπηρέτησης: FIFO ή FCFS, LIFO ή LCFS, Round Robin (κυκλικά), κλπ. Ο τρόπος εξυπηρέτησης καθορίζει τη σειρά µε την οποία εξυπηρετούνται οι πελάτες που βρίσκονται στο σύστηµα. Ο τρόπος εξυπηρέτησης µπορεί να αναφερθεί στο τέλος του συµβολισµού A/B/m/K/M, που αναφέρθηκε παραπάνω. Στην συνέχεια παραθέτονται µερικοί από τους πιο συνηθισµένους τρόπους εξυπηρέτησης: FIFO (First In First Out) ή FCFS (First Come First Served): Οι πελάτες εξυπηρετούνται σύµφωνα µε την σειρά άφιξής τους. LIFO (Last In First Out) ή LCFS (Last Come First Served): Κάθε φορά εξυπηρετείται ο πελάτης µε τον πιο πρόσφατο χρόνο άφιξης. Χρονοδροµολόγηση µε προτεραιότητες (Priority Scheduling): Οι πελάτες χωρίζονται σε κατηγορίες µε διαφορετικές προτεραιότητες. ιακρίνουµε δύο γενικούς τύπους προτεραιοτήτων: Απλή προτεραιότητα ή προτεραιότητα χωρίς διακοπή (non-preemptive): µετά το τέλος εξυπηρέτησης επιλέγεται για την επόµενη εξυπηρέτηση ο πελάτης µε την υψηλότερη προτεραιότητα (µεταξύ πελατών µε ίση προτεραιότητα ακολουθείται ο κανόνας FCFS). 25
27 (R-R) Round Robin: Είναι ένας από τους πιο διαδεδοµένους αλγόριθµους χρονοδροµολόγησης για συστήµατα καταµερισµού χρόνου (time-sharing). Οι πελάτες εξυπηρετούνται σε διάταξη FCFS εφόσον ο χρόνος εξυπηρέτησής τους δεν ξεπερνά ένα σταθερό χρονικό διάστηµα. Όταν ο χρόνος εξυπηρέτησής τους φθάσει το διάστηµα αυτό, ο πελάτης διακόπτεται και τοποθετείται στο τέλος της ουράς. Η διαδικασία επαναλαµβάνεται για όλους τους πελάτες. 26
28 Β ΜΕΡΟΣ 27
29 Κεφάλαιο 4 ο Ανάλυση του Συστήματος 4.1 Περιγραφή του Συστήματος Η παρούσα εργασία ασχολείται µε την µοντελοποίηση, προσοµοίωση και µελέτη ενός συστήµατος µε δύο sites, αρχιτεκτονικής grid. Το κάθε site διαθέτει έναν τοπικό δροµολογητή (local scheduler) και 16 οµοιογενείς εξυπηρέτες, ο καθένας µε τη δική του ουρά αναµονής. Στο κάθε ένα έχουµε εκθετικές (τοπικές) αφίξεις (local jobs). Επίσης, έχουµε και εκθετικές αφίξεις στο grid (grid jobs) οι οποίες είναι gangs (ένα gang αποτελείται από έναν αριθµό διεργασιών, οι οποίες πρέπει να επεξεργαστούν ταυτόχρονα σε διαφορετικούς εξυπηρέτες). Αυτές αποθηκεύονται προσωρινά στην ουρά του grid scheduler και στη συνέχεια επιλέγονται από αυτόν µε βάση κάποια πολιτική για να εξυπηρετηθούν στα sites. Στο σύστηµα µας θεωρούµε ότι οι τοπικές αφίξεις έχουν µεγαλύτερη σπουδαιότητα από τις αφίξεις στο grid. Ωστόσο, αυτό δε σηµαίνει ότι τα gangs αγνοούνται τελείως. Στόχος είναι στο µέτρο του δυνατού όλες οι εργασίες να δεχτούν επεξεργασία. Μελετούµε τρεις διαφορετικές προσεγγίσεις για την εξυπηρέτηση των gangs από τα sites. ύο µε µετανάστευση (migration) και µία χωρίς. Στο κεφάλαιο αυτό περιγράφεται αναλυτικά η αρχιτεκτονική του συστήµατος, καθώς και οι αλγόριθµοι που χρησιµοποιούνται σε αυτό. 28
30 4.2 Χαρακτηριστικά / Παραδοχές του συστήματος Παρακάτω αναφέρονται τα κύρια χαρακτηριστικά του συστήµατος προς µελέτη. Το σύστηµα έχει δύο sites. Το κάθε site έχει 16 οµοιογενείς εξυπηρέτες και έναν τοπικό δροµολογητή (local scheduler). Ο κάθε εξυπηρέτης έχει τη δικιά του ουρά αναµονής. Tα sites συνδέονται µεταξύ τους µέσω ενός δικτύου ευρείας περιοχής (WAN), ενώ οι επεξεργαστές σχηµατίζουν µεταξύ τους τοπικό δίκτυο (LAN). Κάθε site έχει τοπικές αφίξεις, οι οποίες εισέρχονται στο σύστηµα µε ρυθµό άφιξης λ1 ή λ2 (για τα site1 και site2 αντίστοιχα). Τα δύο sites έχουν τον ίδιο ρυθµό αφίξεων (λ1=λ2=λ). Υπάρχει ένα ρεύµα αφίξεων στο grid, µε ρυθµό λ3, το οποίο περιλαµβάνει µόνο gangs. Ένα gang αποτελείται από παράλληλα tasks τα οποία θα πρέπει να ξεκινήσουν και να ολοκληρώσουν επεξεργασία ταυτόχρονα σε διαφορετικούς, ασφαλώς, εξυπηρέτες. Ένα gang, δηλαδή, δεν µπορεί να έχει περισσότερα tasks από το πλήθος των επεξεργαστών του cluster. Στο σύστηµα µας το πλήθος των task των gangs είναι δυνάµεις του 2 (ένα gang µπορεί να έχει 2, 4, 8 ή 16 tasks). Ο ρυθµός άφιξης των gangs είναι πολύ µικρότερος από το ρυθµό άφιξης των τοπικών εργασιών. Όλες οι αφίξεις είναι εκθετικά κατανεµηµένες. Οι τοπικές διεργασίες είναι απλά jobs µε ένα task το καθένα. Κάθε local job έχει το δικό του χρόνο εξυπηρέτησης και οι χρόνοι αυτοί ακολουθούν την εκθετική κατανοµή. Τα tasks ενός gang έχουν όλα τον ίδιο χρόνο εξυπηρέτησης και οι χρόνοι αυτοί ακολουθούν την εκθετική κατανοµή. Το σύστηµα περιέχει έναν grid scheduler µε δική του ουρά αναµονής. 29
31 Τα gangs φτάνουν πρώτα στον grid scheduler και εκεί περιµένουν σε µία ουρά αναµονής µέχρι να δροµολογηθούν σε ένα ή και στα δύο sites για επεξεργασία. Όταν ένα gang επιλεγεί από τον grid scheduler, στη συνέχεια αποστέλλεται στον local scheduler και τα tasks του δροµολογούνται στους επεξεργαστές. Στις ουρές των εξυπηρετών τα local jobs εξυπηρετούνται µε First Come First Served. Στην ουρά του Grid Scheduler τα gangs επιλέγονται µε βάση το Largest Gang First. Ο local scheduler τοποθετεί ένα job στην ουρά αναµονής ενός εξυπηρέτη µε βάση τον αλγόριθµο shortest queue. Θεωρούµε ότι τα local jobs έχουν µεγαλύτερη σπουδαιότητα σε σχέση µε τα gangs. Θεωρούµε ότι τα gangs έρχονται πολύ πιο αραιά σε σχέση µε τα locals. Ένα gang µπορεί να εξυπηρετηθεί στο ίδιο ή σε διαφορετικά sites. Σε περίπτωση που εξυπηρετείται σε δύο διαφορετικά sites υπάρχει ένα overhead στο χρόνο εξυπηρέτησης. Ως συνθήκη τέλους ορίζεται η χρονική στιγµή που το 40000στό job ολοκληρώνει την επεξεργασία του. Ο αριθµός είναι αρκετά µεγάλος ώστε η προσοµοίωση να δώσει σωστά αποτελέσµατα. Ένας µεγαλύτερος αριθµός ελάχιστα θα διαφοροποιούσε τα αποτελέσµατα της προσοµοίωσης. Κατά την έναρξη του προγράµµατος όλοι οι επεξεργαστές και οι ουρές τους είναι κενοί. Η πρώτη διεργασία φτάνει τη χρονική στιγµή µηδέν (χρόνος προσοµοίωσης). 30
32 Παρακάτω περιγράφεται σχηµατικά η αρχιτεκτονική του συστήµατος. Σχήµα 4.1 Το µοντέλο του συστήµατος 31
33 4.3 Η διαδικασία των αφίξεων Όπως αναφέραµε παραπάνω οι µεταξύ των αφίξεων χρόνοι είναι εκθετικά κατανεµηµένοι. Κατά την άφιξη µιας διεργασίας προγραµµατίζεται η άφιξη της επόµενης διεργασίας βάσει της εκθετικής κατανοµής. Υπάρχουν τρία ανεξάρτητα ρεύµατα αφίξεων. ύο τοπικά (ένα για κάθε site) και ένα ρεύµα αφίξεων στο grid που περιέχει αποκλειστικά gangs. Για λόγους απλότητας θεωρούµε ότι τα δύο sites έχουν τον ίδιο ρυθµό αφίξεων, ενώ ο ρυθµός άφιξης των gangs είναι πολύ µικρότερος σε σχέση µε το ρυθµό άφιξης των τοπικών εργασιών. λ1=λ2=λ >> λ3 όπου, λ1: αφίξεις στο site1, λ2: αφίξεις στο site2, λ3: αφίξεις στο grid. 4.4 Δρομολόγηση των Gangs Κατά την άφιξη ενός νέου gang στο σύστηµα ο grid scheduler εξετάζει αν το gang αυτό µπορεί να εξυπηρετηθεί στα sites. Οι προϋπόθεση που θα πρέπει να πληρείται είναι ο αριθµός των άδειων ουρών αναµονής να είναι ίσος η µεγαλύτερος από τον αριθµό των tasks του gang. Αν κάτι τέτοιο δεν ισχύει, το gang εισάγεται στην ουρά του grid scheduler. Συνεπώς, ένα gang µπορεί να εισέλθει σε ένα site µόνο όταν µπορεί να ξεκινήσει επεξεργασία αµέσως (υπάρχει ικανός αριθµός idle επεξεργαστών για να ξεκινήσει χωρίς καθυστέρηση επεξεργασία το gang) ή σε µικρό χρονικό διάστηµα (υπάρχει ικανός αριθµός άδειων ουρών ώστε να περιµένει εκεί το gang. Μόλις οι εξυπηρέτες των ουρών αυτών γίνουν idle το gang ξεκινάει επεξεργασία). Εδώ να τονίσουµε ότι ποτέ δε δροµολογούνται δύο ή περισσότερα tasks του ίδιου gang στην ίδια ουρά. Εφόσον, όλα τα tasks ενός gang πρέπει να δεχτούν επεξεργασία ταυτόχρονα είναι προφανές ότι θα πρέπει να δροµολογηθούν σε διαφορετικές ουρές. Γι αυτό ακριβώς και η προϋπόθεση εισαγωγής ενός gang στα sites είναι να υπάρχει αριθµός άδειων ουρών µεγαλύτερος ή ίσος του αριθµού των tasks, έτσι ώστε όλα τα tasks να δεχτούν επεξεργασία από διαφορετικούς επεξεργαστές. 32
34 Παρακάτω αναφέρουµε δύο παραδείγµατα δροµολόγησης gang. Παράδειγµα 1 Έστω ότι έχουµε ένα gang µε 8 tasks και στο site1 υπάρχουν 9 idle επεξεργαστές. Το gang θα δροµολογηθεί στο site1 και τα tasks του θα δεχτούν επεξεργασία στους 8 από τους 9 επεξεργαστές. Παράδειγµα 2 Έστω ότι έχουµε ένα gang µε 8 tasks και 8 άδειες ουρές από τις οποίες οι τρεις έχουν busy εξυπηρέτη. Το gang θα δροµολογηθεί στις ουρές αυτές και θα ξεκινήσει επεξεργασία όταν όλοι οι επεξεργαστές γίνουν idle. Στην εργασία αυτή µελετούµε τρεις διαφορετικές περιπτώσεις όσον αφορά τη δροµολόγηση των gangs: 1) χωρίς µετανάστευση, 2) µε µετανάστευση-1, 3) µε µετανάστευση Δρομολόγηση χωρίς μετανάστευση (No Migration) Στην περίπτωση αυτή, που είναι και η πιο απλή, ένα gang µπορεί να εξυπηρετηθεί µόνο σε ένα από τα δύο sites. Συνεπώς, όταν ένα gang καταφθάνει στο σύστηµα ακολουθούνται τα εξής βήµατα: 1. Γίνεται έλεγχος για το αν υπάρχει ικανός αριθµός idle επεξεργαστών στο site1. 2. Αν ναι τότε τα tasks του gang δροµολογούνται εκεί και ξεκινούν αµέσως επεξεργασία. 3. Αν όχι, τότε η διαδικασία επαναλαµβάνεται για το site2. 4. Αν ούτε και στο site2 υπάρχει ικανός αριθµός idle επεξεργαστών ώστε το gang να ξεκινήσει άµεσα επεξεργασία, γίνεται έλεγχος για το αν υπάρχει ικανός αριθµός άδειων ουρών στο site1. 5. Αν ναι, τότε τα tasks δροµολογούνται στις ουρές αυτές και περιµένουν εκεί µέχρι όλοι οι επεξεργαστές ελευθερωθούν για να ξεκινήσουν επεξεργασία. 6. Αν όχι, τότε επαναλαµβάνεται η ίδια διαδικασία για το site2. 7. Αν ούτε στο site2 έχουµε τον απαιτούµενο αριθµό άδειων ουρών το gang εισάγεται στην ουρά αναµονής του grid scheduler. 33
35 Παρακάτω, απεικονίζεται το διάγραµµα δραστηριοτήτων για την περίπτωση που ένα νέο gang εισέρχεται σε σύστηµα που δεν υποστηρίζει µετανάστευση. Σχήµα 4.2 Άφιξη gang (No migration) 34
36 4.4.2 Δρομολόγηση με μετανάστευση 1 (Migration 1) Στην περίπτωση αυτή τα tasks ενός gang µπορούν να εξυπηρετηθούν σε δύο διαφορετικά sites µε την προϋπόθεση ότι θα ξεκινήσουν άµεσα επεξεργασία. Πρέπει, δηλαδή, το άθροισµα των idle επεξεργαστών στα δύο sites να είναι µεγαλύτερο ή ίσο µε τον αριθµό των tasks του gang. Τα βήµατα που ακολουθούνται όταν ένα νέο gang εισέρχεται στο σύστηµα είναι τα εξής: 1. Γίνεται έλεγχος για το αν υπάρχει ικανός αριθµός idle επεξεργαστών στο site1. 2. Αν ναι, τότε τα tasks του gang δροµολογούνται εκεί και ξεκινούν αµέσως επεξεργασία. 3. Αν όχι, τότε η διαδικασία επαναλαµβάνεται για το site2. 4. Αν ούτε και στο site2 υπάρχει ικανός αριθµός idle επεξεργαστών ώστε το gang να ξεκινήσει άµεσα επεξεργασία, γίνεται έλεγχος για το αν υπάρχει ικανός αριθµός άδειων ουρών στο site1. 5. Αν ναι, τότε τα tasks δροµολογούνται στις ουρές αυτές και περιµένουν εκεί µέχρι όλοι οι επεξεργαστές ελευθερωθούν για να ξεκινήσουν επεξεργασία. 6. Αν όχι, τότε επαναλαµβάνεται η ίδια διαδικασία για το site2. 7. Αν ούτε στο site2 έχουµε τον απαιτούµενο αριθµό άδειων ουρών, γίνεται έλεγχος για το αν υπάρχει ικανός αριθµός idle επεξεργαστών στα δύο sites (αθροιστικά). 8. Αν ναι, τότε τα tasks δροµολογούνται σε διαφορετικά sites και ξεκινάνε αµέσως επεξεργασία µε ένα όµως overhead. 9. Αν ούτε και τα δύο sites διαθέτουν αθροιστικά τον απαραίτητο αριθµό idle επεξεργαστών, το gang εισάγεται στην ουρά αναµονής του grid scheduler. 35
37 Παρακάτω, απεικονίζεται το διάγραµµα δραστηριοτήτων για την περίπτωση που ένα νέο gang εισέρχεται σε σύστηµα µε µετανάστευση 1. Σχήµα 4.3 Άφιξη gang (Migration 1) 36
38 4.4.3 Δρομολόγηση με μετανάστευση 2 (Migration 2) Στην περίπτωση αυτή τα tasks ενός gang µπορούν να εξυπηρετηθούν σε δύο διαφορετικά sites µε την προϋπόθεση ότι υπάρχει ο απαραίτητος αριθµός άδειων ουρών, ώστε το gang να εξυπηρετηθεί αµέσως ή µόλις γίνουν idle οι επεξεργαστές. Παράδειγµα Έστω ότι ένα gang έχει 8 tasks. Έχουµε 3 άδειες ουρές στο site1, από τις οποίες οι δύο έχουν κατειληµµένους εξυπηρέτες και 5 άδειες ουρές στο site2, από τις οποίες οι τρεις έχουν κατειληµµένους εξυπηρέτες. Το gang θα δροµολογηθεί στις ουρές αυτές και θα περιµένει εκεί µέχρις ότου όλοι οι επεξεργαστές ελευθερωθούν, ώστε να ξεκινήσει επεξεργασία. Τα βήµατα που ακολουθούνται κατά την είσοδο ενός νέου gang στο σύστηµα είναι τα εξής: 1. Γίνεται έλεγχος για το αν υπάρχει ικανός αριθµός idle επεξεργαστών στο site1. 2. Αν ναι, τότε τα tasks του gang δροµολογούνται εκεί και ξεκινούν αµέσως επεξεργασία. 3. Αν όχι, τότε η διαδικασία επαναλαµβάνεται για το site2. 4. Αν ούτε και στο site2 υπάρχει ικανός αριθµός idle επεξεργαστών ώστε το gang να ξεκινήσει άµεσα επεξεργασία, γίνεται έλεγχος για το αν υπάρχει ικανός αριθµός άδειων ουρών στο site1. 5. Αν ναι, τότε τα tasks δροµολογούνται στις ουρές αυτές και περιµένουν εκεί µέχρι να ελευθερωθούν όλοι οι επεξεργαστές για να ξεκινήσουν επεξεργασία. 6. Αν όχι, τότε επαναλαµβάνεται η ίδια διαδικασία για το site2. 7. Αν ούτε στο site2 έχουµε τον απαιτούµενο αριθµό άδειων ουρών, γίνεται έλεγχος για το αν υπάρχει ικανός αριθµός idle επεξεργαστών στα δύο sites (αθροιστικά). 8. Αν ναι, τότε τα tasks δροµολογούνται σε διαφορετικά sites και ξεκινάνε αµέσως επεξεργασία µε ένα όµως overhead. 9. Αν ούτε και τα δύο sites διαθέτουν αθροιστικά τον απαραίτητο αριθµό idle επεξεργαστών, γίνεται έλεγχος για το αν υπάρχει ικανός αριθµός άδειων ουρών στα δύο sites. 37
39 10. Αν ναι, τότε τα tasks δροµολογούνται στις ουρές αυτές και περιµένουν εκεί µέχρι να ελευθερωθούν όλοι οι επεξεργαστές για να ξεκινήσουν επεξεργασία µε ένα overhead. 11. Αν τα δύο sites δε διαθέτουν αθροιστικά τον απαραίτητο αριθµό άδειων ουρών, το gang εισάγεται στην ουρά αναµονής του grid scheduler. Στο διάγραµµα που ακολουθεί απεικονίζονται σχηµατικά τα παραπάνω βήµατα. Σχήµα 4.4 Άφιξη gang (Migration 2) 38
40 4.5 Χρονοδρομολόγηση των τοπικών εργασιών Η χρονοδροµολόγηση των τοπικών εργασιών (local jobs) γίνεται µε βάση τη σειρά άφιξης (First Come First Served). Πρόκειται για τον απλούστερο αλγόριθµο χρονοδροµολόγησης. Με αυτόν, οι διεργασίες εξυπηρετούνται µέχρι την ολοκλήρωση τους µε τη σειρά που εισήλθαν στη λίστα έτοιµων διεργασιών. Όπως φαίνεται και από το όνοµα του αλγορίθµου, η διεργασία που εισέρχεται πρώτη στην ουρά θα εξυπηρετηθεί και πρώτη. Κάθε φορά που µια διεργασία εισέρχεται στην ουρά ενός εξυπηρέτη, τοποθετείται στο τέλος της ουράς αυτής. Κάθε φορά που τελειώνει η εξυπηρέτηση µιας διεργασίας ο εξυπηρέτης επιλέγει για επεξεργασία την πρώτη διεργασία στην ουρά. Βέβαια το σύστηµα µας έχει µία ιδιοµορφία. Υπάρχει περίπτωση να έχουµε εργασίες στην ουρά και ο εξυπηρέτης να είναι idle. Αυτό συµβαίνει όταν ένα gang αναµένει επεξεργασία. Τα tasks του έχουν ήδη εισαχθεί στις ουρές αλλά χρειάζεται να περιµένουν ώστε όλοι επεξεργαστές να είναι ελεύθεροι για να ξεκινήσουν ταυτόχρονα επεξεργασία. Αν ακολουθήσουµε τον παραδοσιακό FCFS τότε µια τοπική διεργασία που εισέρχεται σε µια ουρά µε idle εξυπηρέτη και gang που αναµένει επεξεργασία θα πρέπει να δροµολογηθεί στο τέλος της ουράς (πίσω από το task του gang) και να περιµένει εκεί µέχρι να έρθει η σειρά της. Κάτι τέτοιο όµως δε θα ήταν ιδιαίτερα αποδοτικό και θα σπαταλούσε πολύτιµη υπολογιστική ισχύ. Το σύστηµα, λοιπόν, εξετάζει το χρόνο εξυπηρέτησης που αναµένουµε να χρειαστεί το local job και τον συγκρίνει µε το χρόνο που υπολείπεται µέχρι να ξεκινήσει επεξεργασία το gang. Αν εκτιµηθεί ότι το local θα τελειώσει επεξεργασία προτού το gang είναι έτοιµο για εξυπηρέτηση, δροµολογείται απ ευθείας στον εξυπηρέτη και ξεκινά να εκτελείται. Κάνουµε, λοιπόν, τις παρακάτω παραδοχές: ότι γνωρίζουµε ή ότι µπορούµε να εκτιµήσουµε µε σχετική ακρίβεια το χρόνο εξυπηρέτησης µιας διεργασίας, ότι γνωρίζουµε ακριβώς τη χρονική στιγµή που θα ελευθερωθούν όλοι οι αναγκαίοι επεξεργαστές ώστε να ξεκινήσει το gang εξυπηρέτηση. 39
41 Έστω: Service_time: ο χρόνος εξυπηρέτησης του local job Elapsed_time: ο χρόνος που υπολείπεται για να ξεκινήσει επεξεργασία το Gang. Η συνθήκη που θα πρέπει να πληρείται ώστε το local να ξεκινήσει επεξεργασία πριν το gang είναι η: Service_time Elapsed_time + T Όπου Τ είναι ένα threshold 0 και η τιµή του ορίζεται από το χρήστη κατά την εκκίνηση της προσοµοίωσης. Επειδή ακριβώς τα local jobs έχουν µεγαλύτερη προτεραιότητα στο σύστηµα µας από τα gangs, ένα local θα µπορούσε να ξεκινήσει άµεσα επεξεργασία ακόµα και αν τέλειωνε λίγο αργότερα από τη στιγµή που αναµέναµε να εξυπηρετηθεί το gang. Το πόσο αργότερα ορίζεται από την τιµή του threshold. 40
42 4.6 Δρομολόγηση τοπικών εργασιών - Επιλογή ουράς Ο αλγόριθµος επιλογής ουράς για µία νέα τοπική εργασία που εισέρχεται στο σύστηµα είναι µία παραλλαγή του Shortest Queue First. Ο αλγόριθµος Shortest Queue (επιλογή της µικρότερης ουράς) απεικονίζεται στο παρακάτω διάγραµµα. Σχήµα 4.5 Ο αλγόριθµος Shortest Queue 41
43 Στο σύστηµα µας δεν ακολουθούµε τον παραδοσιακό shortest queue που περιγράφηκε στο παραπάνω διάγραµµα, αλλά µία παραλλαγή του, η οποία λειτουργεί ως εξής: Αν οι επεξεργαστές των ουρών είναι busy τότε ακολουθεί τον παραδοσιακό shortest queue και επιλέγει την ουρά µε το µικρότερο µήκος. Σε αντίθετη περίπτωση ελέγχει αν το job µπορεί να εξυπηρετηθεί σε κάποιον από τους idle επεξεργαστές είτε γιατί η ουρά τους είναι κενή, είτε γιατί στην ουρά τους περιµένει gang και ικανοποιείται η συνθήκη: Service_time Elapsed_time + T Αν αυτό δεν είναι εφικτό, τότε επιλέγεται και πάλι η µικρότερη ουρά. Παράδειγµα Έχουµε 2 ουρές από τις οποίες η µία είναι κενή µε busy επεξεργαστή και η άλλη έχει αναµονή στην ουρά αλλά ο επεξεργαστής είναι idle. Ο παραδοσιακός shortest queue θα επέλεγε την κενή ουρά. Ο αλγόριθµος που χρησιµοποιείται στην παρούσα εργασία θα εξέταζε αν η ουρά µε τον idle επεξεργαστή ικανοποιεί τη συνθήκη που αναφέρεται παραπάνω. Αν, δηλαδή, ο χρόνος που υπολείπεται για να ξεκινήσει το gang επεξεργασία είναι µεγαλύτερος ή ίσος από το χρόνο εξυπηρέτησης του local job συν το threshold. Αν ναι, το job θα εισαχθεί εκεί και θα ξεκινήσει αµέσως επεξεργασία. Αν όχι, θα τοποθετηθεί στην αρχή της κενής ουράς. 42
44 Παρακάτω έχουµε το διάγραµµα ροής του αλγόριθµου επιλογής ουράς που χρησιµοποιείται στην παρούσα εργασία. Σχήµα 4.6 Ο αλγόριθµος επιλογής ουράς του συστήµατος 43
45 4.7 Πειθαρχία ουράς του Grid Scheduler Ο αλγόριθµος που χρησιµοποιεί ο gang scheduler για την επιλογή ενός gang από την ουρά αναµονής του είναι µια παραλλαγή του largest gang first (επιλογή του µεγαλύτερου gang). Επιλέγει, δηλαδή, πρώτα το gang µε το µεγαλύτερο αριθµό tasks. Μόλις έχουµε αποχώρηση ενός local ή ενός gang από το σύστηµα, ελέγχουµε την ουρά του grid scheduler για το αν υπάρχει gang που πληρεί τις απαραίτητες προϋποθέσεις για να δροµολογηθεί στα sites. Τα βήµατα που ακολουθεί ο αλγόριθµος επιλογής gang είναι τα εξής: 1. Έλεγχος για το αν υπάρχει gang στην ουρά του gang scheduler µε αριθµό tasks µικρότερο ή ίσο µε τον αριθµό των κενών ουρών στο site1. Αν υπάρχουν περισσότερα από ένα gangs που πληρούν την παραπάνω προϋπόθεση, επιλέγεται το µεγαλύτερο από αυτά και δροµολογείται στο site1. Αν υπάρχουν περισσότερα από ένα µεγάλα gangs (µε τον ίδιο αριθµό tasks) επιλέγεται τυχαία ένα από αυτά. 2. Αν δεν µπόρεσε να βρεθεί gang για να εξυπηρετηθεί στο site1, επαναλαµβάνουµε την παραπάνω διαδικασία για το site Αν ούτε πάλι βρέθηκε gang, ελέγχουµε για το αν υπάρχει κάποιο gang µε ίσο ή µικρότερο αριθµό tasks από τον αριθµό των ελεύθερων (idle) επεξεργαστών στα site1 και site2. Αν ναι, το gang δροµολογείται στους κενούς επεξεργαστές των δύο site και ξεκινά επεξεργασία άµεσα µε κάποιο overhead. Αν υπάρχουν παραπάνω από ένα gangs που πληρούν την παραπάνω προϋπόθεση, επιλέγεται το gang µε το µεγαλύτερο αριθµό tasks. Αν υπάρχουν περισσότερα από ένα µεγάλα gangs (µε τον ίδιο αριθµό tasks) επιλέγεται τυχαία ένα από αυτά. 4. Αν και πάλι δε βρέθηκε gang που να µπορεί να δροµολογηθεί στα sites, ελέγχουµε για το αν κάποιο από τα gang στην ουρά έχει µικρότερο ή ίσο αριθµό tasks µε τον αριθµό των κενών ουρών στα δύο sites µαζί. Αν ναι το gang δροµολογείται στις ουρές των δύο site µε κάποιο overhead. Αν υπάρχουν περισσότερα από ένα gang που πληρούν την παραπάνω προϋπόθεση, επιλέγεται το µεγαλύτερο από αυτά. Αν υπάρχουν περισσότερα από ένα µεγάλα gangs (µε τον ίδιο αριθµό tasks) επιλέγεται τυχαία ένα από αυτά. 5. Επανάληψη των παραπάνω βηµάτων µέχρι να µην υπάρχει κανένα gang που να µπορεί να επιλεγεί. Όπως αναφέραµε στην παράγραφο 2.4, στην παρούσα εργασία εξετάζονται τρεις προσεγγίσεις που αφορούν τη δροµολόγηση των gangs. Από τις προσεγγίσεις αυτές, µόνο η τρίτη (Migration 2) περιλαµβάνει και τα 5 44
46 βήµατα που περιγράφηκαν παραπάνω. Η δεύτερη προσέγγιση (Migration 1) παραλείπει το βήµα 4, ενώ η πρώτη (No Migration) περιλαµβάνει µόνο τα βήµατα 1,2 και 5. Παρακάτω απεικονίζεται το διάγραµµα ροής του παραπάνω αλγορίθµου. Σχήµα 4.7 Αλγόριθµος επιλογής gang από την ουρά του Grid Scheduler 45
47 4.8 Στόχος του μοντέλου Είναι προφανές ότι τα gangs και τα locals είναι διεργασίες ανταγωνιστικές µεταξύ τους που επιζητούν να χρησιµοποιήσουν τους ίδιους πόρους. Τα locals είναι τοπικές διεργασίες που εισέρχονται στα sites. Τα gangs είναι διεργασίες που φτάνουν από το grid γιατί δεν µπορούν να εξυπηρετηθούν κάπου αλλού. Στόχος του µοντέλου είναι η εξυπηρέτηση όλων των locals και ενός όσο γίνεται υψηλότερου ποσοστού από τα gangs. Αυτό συµβαίνει γιατί τα locals θεωρούνται πιο σηµαντικά από το σύστηµα. Γι αυτό ακριβώς και ένα gang θα επιλεγεί για επεξεργασία µόνο όταν υπάρχει ικανός αριθµός ελεύθερων επεξεργαστών ώστε να εκτελεστεί άµεσα ή ικανός αριθµός κενών ουρών ώστε να ξεκινήσει επεξεργασία σε µικρό χρονικό διάστηµα χωρίς να καθυστερεί ιδιαιτέρα τα locals. Το ότι οι τοπικές εργασίες θεωρούνται πιο σηµαντικές φαίνεται και από τη χρήση του threshold. Μεγάλη τιµή του threshold σηµαίνει ότι δίνεται προτεραιότητα σε locals µε µεγάλο χρόνο εκτέλεσης εις βάρος των gangs. Το ότι δίνεται µεγαλύτερη προτεραιότητα στα locals δε σηµαίνει ότι τα gangs αγνοούνται τελείως. Στόχος είναι στο µέτρο του δυνατού όλες οι εργασίες να δεχτούν επεξεργασία. 46
48 Κεφάλαιο 5 ο Υλοποίηση του Συστήματος 5.1 Διαχείριση των γεγονότων Στο σύστηµα παρατηρούνται έξι τύποι γεγονότων: Άφιξη νέου local στο site1 Αναχώρηση local από το site1 Άφιξη νέου local στο site2 Αναχώρηση local από το site2 Άφιξη gang στον grid scheduler Αναχώρηση gang από το σύστηµα Οι πρώτες τρεις αφίξεις (στο site1, στο site2 και άφιξη gang) γίνονται τη χρονική στιγµή µηδέν. Σε κάθε νέα άφιξη προγραµµατίζεται η επόµενη άφιξη µε βάση την εκθετική κατανοµή και εισάγεται στη λίστα γεγονότων. Καθώς έχουµε τρεις τύπους αφίξεων έχουµε και τρεις διαφορετικές εκθετικές κατανοµές. Με κάθε νέα άφιξη γίνονται οι παρακάτω ενέργειες: 1. Προγραµµατισµός επόµενης άφιξης µε βάση την εκθετική κατανοµή 2. Καθορισµός του χρόνου εξυπηρέτησης µε βάση την εκθετική κατανοµή Παρατηρούµε λοιπόν, ότι το κάθε task έχει δύο χρόνους που µας ενδιαφέρουν: 1) τον χρόνο άφιξης, 2) τον χρόνο εξυπηρέτησης. Όταν ένα job επιλέγεται από κάποιον εξυπηρέτη για επεξεργασία το σύστηµα δηµιουργεί ένα γεγονός αναχώρησης, το οποίο προστίθεται στη λίστα γεγονότων και εξαρτάται από το χρόνο εξυπηρέτησης του job που είχε ήδη υπολογιστεί κατά την άφιξη του. Για παράδειγµα αν τη χρονική στιγµή 10 επιλέγεται για επεξεργασία ένα job µε χρόνο εξυπηρέτησης 3, αυτόµατα δηµιουργείται ένα γεγονός αναχώρησης µε χρόνο = 13 χρονικές µονάδες το οποίο προστίθεται στη λίστα γεγονότων. Κάθε γεγονός πρέπει να έχει τα εξής χαρακτηριστικά: 1. να προσδιορίζει το χρόνο που πρέπει να συµβεί, 2. να προσδιορίζει εάν είναι event άφιξης ή αναχώρησης, 3. να προσδιορίζει αν αναφέρεται στο site1 ή στο site2. Αν δεν αναφέρεται σε κανένα site θεωρούµε ότι πρόκειται για gang. Στη λίστα των γεγονότων, τα events τοποθετούνται µε βάσει τη χρονική στιγµή που πρέπει να συµβεί το καθένα. Έτσι το event που θα συµβεί συντοµότερα θα είναι πρώτο στη λίστα, ενώ το πιο αποµακρυσµένο χρονικά event θα βρίσκεται τελευταίο. 47
49 5.2 Ο μηχανισμός εξέλιξης του χρόνου Η διαχείριση του χρόνου γίνεται µε τη βοήθεια µιας πραγµατικής µεταβλητής που ονοµάζεται time και προσοµοιώνει το ρολόι του συστήµατος. Η τιµή του ρολογιού δεν µεταβάλλεται κατά τακτά χρονικά διαστήµατα αλλά σύµφωνα µε τον χρόνο του επόµενου γεγονότος. Ολόκληρη η προσοµοίωση είναι ουσιαστικά µια δοµή επανάληψης που περιγράφεται από το παρακάτω διάγραµµα: Σχήµα 5.1 Η βασική δοµή επανάληψης της προσοµοίωσης 48
50 Είναι, δηλαδή ένα loop το οποίο ελέγχει εάν έχει συµβεί ο απαιτούµενος αριθµός αναχωρήσεων για τον τερµατισµό της προσοµοίωσης και αν όχι καλεί τη ρουτίνα χρόνου. Η λειτουργία της ρουτίνας αυτής απεικονίζεται στο παρακάτω διάγραµµα: Σχήµα 5.2 Η ρουτίνα χρόνου 49
51 5.3 Δημιουργία Τυχαίων Παρατηρήσεων Οι χρόνοι µεταξύ των αφίξεων και οι χρόνοι εξυπηρέτησης είναι εκθετικά κατανεµηµένοι. Θα πρέπει λοιπόν το πρόγραµµα να δηµιουργεί τυχαίες παρατηρήσεις µε βάση την εκθετική κατανοµή. Αυτό επιτυγχάνεται µε την τεχνική του αντίστροφου µετασχηµατισµού. Η συνάρτηση της εκθετικής κατανοµής δίνεται από τον τύπο: F(x) = Για τον υπολογισµό της αντίστροφης συνάρτησης της F(x) λύνουµε ως προς x και έχουµε: F -1 (u) = (1/λ) ln(1-u) Όπου λ είναι ο ρυθµός άφιξης των εργασιών και u ένας τυχαίος αριθµός µεταξύ του 0 και του 1. Συνεπώς, για τη δηµιουργία εκθετικών παρατηρήσεων απλά δηµιουργούµε έναν τυχαίο αριθµό U ~ U(0,1) και θέτουµε: Χ = (1/λ) ln U 50
52 5.4 Μετρικές απόδοσης του συστήματος Παρακάτω παραθέτουµε τις µετρικές απόδοσης που χρησιµοποιήθηκαν στο µοντέλο µας. Μέσος Χρόνος Απόκρισης (Mean Response Time) Ο χρόνος απόκρισης είναι ο χρόνος που κάνει το job / gang από την είσοδο του στο σύστηµα µέχρι την έξοδο του από αυτό. Περιλαµβάνει τον χρόνο αναµονής στις ουρές και τον χρόνο εξυπηρέτησης στον server. Στο σύστηµα µας υπολογίζουµε δύο µέσους χρόνους απόκρισης, έναν για τα locals και έναν για τα gangs. Για να υπολογίσουµε το µέσο χρόνο απόκρισης αθροίζουµε τους χρόνους απόκρισης των locals/gangs και διαιρούµε δια το πλήθος. Μέσος χρόνος απόκρισης με βάρη (Weighted Response Time) Όταν αναφερόµαστε σε gangs ο µέσος χρόνος απόκρισης δεν είναι αρκετός για να µας δώσει µια ακριβή εικόνα του συστήµατος. Έτσι εκτός από το µέσο χρόνο απόκρισης το σύστηµα υπολογίζει και το µέσο χρόνο απόκρισης µε βάρη. Λαµβάνει, δηλαδή, υπόψη και τον αριθµό των tasks που έχει ένα gang. Ένα µεγάλο gang περιµένουµε να καθυστερήσει περισσότερη ώρα από ένα µικρό gang. Αυτό πρέπει να φαίνεται στα αποτελέσµατα µας. Για να υπολογίσουµε το µέσο χρόνο απόκρισης µε βάρη, αθροίζουµε το γινόµενο των tasks επί το χρόνο απόκρισης και διαιρούµε µε το άθροισµα του πλήθους των tasks όλων των gangs. Όπου r j ο χρόνος απόκρισης του j οστού gang και p(x j ) ο αριθµός των tasks του j οστού gang. 51
53 Μέση επιβράδυνση (slowdown) Πρόκειται για το χρόνο απόκρισης ενός job/gang προς το χρόνο εξυπηρέτησης του. Η µέση επιβράδυνση είναι το άθροισµα του slowdown όλων των εργασιών προς το πλήθος τους. Για να έχουµε µία καλύτερη εικόνα του µοντέλου και του συστήµατος υπολογίζουµε µία µέση επιβράδυνση για τα locals και µία για τα gangs. Μέση επιβράδυνση με βάρη (weighted slowdown) Ειδικά για τα gangs, η µέση επιβράδυνση δεν µπορεί να δώσει µια πλήρη εικόνα του συστήµατος. Είναι απαραίτητο να ληφθεί υπόψη και ο αριθµός των tasks που έχει το gang. Άλλη επιβράδυνση αναµένουµε από ένα µικρό gang µε λίγα tasks και άλλη από ένα µεγάλο. Γι αυτό ως µετρική χρησιµοποιούµε τη µέση επιβράδυνση µε βάρη. Για να την υπολογίσουµε πολλαπλασιάζουµε τον αριθµό των tasks ενός gang επί την επιβράδυνση του gang, αθροίζουµε τις τιµές που προκύπτουν για κάθε gang και διαιρούµε δια το πλήθος των tasks συνολικά. Συνολικός χρόνος προσομοίωσης (Total Simulation Time) Πρόκειται για το χρόνο από την είσοδο του πρώτου job στο σύστηµα µέχρι να ικανοποιηθεί η συνθήκη τέλους. Μέση χρησιμοποίηση του συστήματος (Mean System Utilization) Η µέση χρησιµοποίηση του συστήµατος αφορά το πόσο απασχοληµένοι ήταν οι εξυπηρέτες του συστήµατος. Αρχικά υπολογίζεται η µέση χρησιµοποίηση για κάθε εξυπηρέτη χωριστά και έπειτα η µέση εξυπηρέτηση όλου του συστήµατος. 52
54 5.5 Καθορισμός των κλάσεων του συστήματος Το πρόγραµµα προσοµοίωσης αποτελείται από δέκα κλάσεις, οι οποίες περιγράφονται αναλυτικά παρακάτω: 1. Class Task Η κλάση αυτή αναπαριστά τη διεργασία που φτάνει και εξυπηρετείται στο σύστηµα. Μπορεί να πρόκειται για ένα local (τοπικό job) ή για το task ενός gang. Κύρια attributes της κλάσης είναι ο χρόνος εξυπηρέτησης και ο χρόνος άφιξης. 2. Gang Η κλάση αυτή αναπαριστά τα gangs που εισέρχονται στο σύστηµα µας. Κάθε gang περιλαµβάνει έναν αριθµό από tasks που είναι δυνάµεις του δύο. 3. Class Queue Η κλάση αυτή προσοµοιώνει τον επεξεργαστή µε την ουρά του. Πρόκειται ουσιαστικά για µία διπλή συνδεδεµένη λίστα. 4. Cluster Πρόκειται για την κλάση που προσοµοιώνει τα sites (clusters) του συστήµατος. Ένα cluster περιέχει 16 αντικείµενα της κλάσης Queue (ουρά και εξυπηρέτης). Στα clusters εισέρχονται απλές τοπικές εργασίες (tasks), καθώς και gangs. Βασικές λειτουργίες της κλάσης αυτής είναι η επιλογή ουράς για ένα local, η εξυπηρέτηση locals και gangs καθώς και η δροµολόγηση και αποχώρηση των locals. 5. Class Event Εκφράζει τα γεγονότα που δηµιουργούνται κατά την άφιξη µιας διεργασίας στο σύστηµα (arrival event) και κατά την είσοδο της διεργασίας στον επεξεργαστή (departure event). Όπως είπαµε µπορούµε να έχουµε έξι διαφορετικά γεγονότα ανάλογα µε τον τύπο τους: άφιξη / αναχώρηση, το είδος της εργασίας στην οποία αναφέρονται: local / gang και τον cluster: cluster1 ή cluster2. 6. Class EventList Πρόκειται για µια διπλή συνδεδεµένη λίστα στην οποία αποθηκεύονται τα events. Στη λίστα τα events ταξινοµούνται µε βάση το χρόνο που θα πραγµατοποιηθούν. Έτσι το επόµενο χρονικά event βρίσκεται στην κορυφή της λίστας, ενώ το πιο αποµακρυσµένο χρονικά γεγονός τοποθετείται στο τέλος της. 53
55 7. Class GridScheduler Πρόκειται για τον Grid Scheduler του συστήµατος. Η κλάση αυτή περιέχει ένα αντικείµενο της κλάσης GridQueue (µία ουρά για gangs) και διαχειρίζεται τα γεγονότα και το χρόνο. Βασικές της λειτουργίες είναι η επιλογή του κατάλληλου gang για δροµολόγηση του, η εισαγωγή του σε ένα ή περισσότερα sites, ο έλεγχος για το αν ένα gang µπορεί να δροµολογηθεί στα sites, η διαχείριση των αφίξεων, των εξυπηρετήσεων των γεγονότων και του χρόνου. 8. GridQueue Η κλάση GridQueue προσοµοιώνει την ουρά του GridScheduler. Πρόκειται ουσιαστικά για µία διπλά συνδεδεµένη λίστα, οι κόµβοι της οποίας είναι αντικείµενα της κλάσης Gang. 9. Class Generator Η κλάση αυτή δηµιουργεί εκθετικά κατανεµηµένους χρόνους για τις αφίξεις και της εξυπηρετήσεις καθώς και τυχαίους αριθµούς. 10. Class Statistics Η κλάση αυτή υπολογίζει τα στατιστικά στοιχεία του συστήµατος. Κάποιες από τις παραπάνω κλάσεις (όπως η κλάση Cluster και η κλάση GridScheduler) υλοποιούνται διαφορετικά αν δεν έχουµε καθόλου µετανάστευση των gangs και διαφορετικά αν έχουµε migration 1 ή migration 2. Γι αυτό και κατασκευάσαµε τρία διαφορετικά προγράµµατα, ένα για κάθε µέθοδο δροµολόγησης των gangs. 54
56 Παρακάτω απεικονίζεται το διάγραµµα κλάσεων του συστήµατος. Περιλαµβάνει τα βασικότερα (όχι όλα) χαρακτηριστικά (attributes) και µεθόδους (operations) των κλάσεων. Στο Παράρτηµα έχουµε µια πιο αναλυτική εικόνα των µεθόδων και χαρακτηριστικών κάθε κλάσης. Σχήµα 5.3 Το διάγραµµα κλάσεων 55
Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση
Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής Προσομοίωση Τεχνικές χρήσης υπολογιστών για τη «μίμηση» των λειτουργιών διαφόρων ειδών
Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 5: Εισαγωγή στην Προσομοίωση
Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 5: Εισαγωγή στην Προσομοίωση Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Σκοποί ενότητας Κατά τη διάρκεια της ζωής ενός συστήματος,
3. Προσομοίωση ενός Συστήματος Αναμονής.
3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,
Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής
Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής ιατύπωση του προβλήματος (1) Τα συστήματα αναμονής (queueing systems), βρίσκονται
Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση
Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Μοντελοποίηση και προσομοίωση πολιτικών χρονοδρομολόγησης παράλληλων εργασιών σε πολλαπλά sites στο Grid Modeling and simulation
Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης
Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:
ιπλωµατική Εργασία Επιµέλεια Συγγραφή: ΗΜΗΤΡΙΑ ΟΥ ΣΟΦΙΑ 891 Υπεύθυνη Καθηγήτρια Καρατζά Ελένη
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Χρονοδρομολόγηση Παράλληλων Εργασιών σε Κατανεμημένα Συστήματα Προσομοίωση και Εκτίμηση της Απόδοσης ιπλωµατική Εργασία
Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Προσομοίωση ενός συστήματος αναμονής
Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Προσομοίωση ενός συστήματος αναμονής Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Διατύπωση του προβλήματος
Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης
Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης 7.1 Ορισμός Στόχοι Αλγόριθμο χρονοδρομολόγησης (scheduling algorithm) ονομάζουμε την μεθοδολογία την οποία χρησιμοποιεί ο κάθε χρονοδρομολογητής (βραχυχρόνιος, μεσοχρόνιος
ΠΡΟΣΟΜΟΙΩΣΗ. Προσομοίωση είναι η μίμηση της λειτουργίας ενός πραγματικού συστήματος και η παρακολούθηση της εξέλιξης του μέσα στο χρόνο.
ΠΡΟΣΟΜΟΙΩΣΗ Προσομοίωση είναι η μίμηση της λειτουργίας ενός πραγματικού συστήματος και η παρακολούθηση της εξέλιξης του μέσα στο χρόνο. δημιουργία μοντέλου προσομοίωσης ( - χρήση μαθηματικών, λογικών και
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr Χρύσα Παπαγιάννη chrisap@noc.ntua.gr 24/2/2016 Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή (1/2) Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 1/3/2017 ΠΕΡΙΕΧΟΜΕΝΑ (1/3) http://www.netmode.ntua.gr/main/index.php?option=com_content&task=view& id=130&itemid=48
Εργαστήριο Διοίκησης Παραγωγής & Έργων. Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend
Εργαστήριο Διοίκησης Παραγωγής & Έργων Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend ΕΠΙΣΚΟΠΗΣΗ ΤΟΥ EXTEND Το Extend είναι ένα λογισμικό εικονικής προσομοίωσης που μπορεί να
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές
Λειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Κεντρικής Μονάδας Επεξεργασίας (CPU) Βασίλης Σακκάς 4/12/2013 1 Xρονοδρομολόγηση Διεργασιών 1 Η χρονοδρομολόγηση σε ένα Λ/Σ αποφασίζει ποια διεργασία θα χρησιμοποιεί
Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ
Εργαστηριακή Άσκηση Εργαστήριο Λειτουργικών Συστημάτων Οι First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Β. Τσακανίκας Β. Ταμπακάς Τμήμα Μηχανικών Πληροφορικής
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND. 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων ΙΣΤΟΤΟΠΟΣ ΕΡΓΑΣΤΗΡΙΟΥ http://www.mech.upatras.gr/~adamides/dpe ΠΡΟΣΟΜΟΙΩΣΗ Η τεχνική
Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC
Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Αρχιτεκτονική Πλατφόρμας Μπορεί να μοντελοποιηθεί σαν ένα σύνολο από διασυνδεδεμένα κομμάτια: 1. Στοιχεία επεξεργασίας (processing
Κεφάλαιο 3. Διδακτικοί Στόχοι
Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,
ΤΕΙ Κρήτης, Παράρτηµα Χανίων
ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Κεφάλαιο 10 ο Υποπρογράµµατα
Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,
Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών
Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)
Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο
Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο
Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται
ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις Υλικό από: Κ Διαμαντάρας, Λειτουργικά Συστήματα, Τμήμα Πληροφορικής ΤΕΙΘ Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Παράμετροι Συστημάτων Αναμονής Τύπος Little
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Παράμετροι Συστημάτων Αναμονής Τύπος Little Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 2/3/2016 Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ
ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ Βασικός τελικός στόχος κάθε επιστηµονικής τεχνολογικής εφαρµογής είναι: H γενική βελτίωση της ποιότητας του περιβάλλοντος Η βελτίωση της ποιότητας ζωής Τα µέσα µε τα
ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων
ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο
ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ
ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ 2.1 Εισαγωγή Η μέθοδος που θα χρησιμοποιηθεί για να προσομοιωθεί ένα σύστημα έχει άμεση σχέση με το μοντέλο που δημιουργήθηκε για το σύστημα. Αυτό ισχύει και
Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1
Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Άσκηση Προσομοίωσης Στατιστικές Εξόδου Ουράς Μ/Μ/1 - Θεώρημα Burke Ανοικτά Δίκτυα Ουρών Μ/Μ/1 - Θεώρημα Jackson
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Άσκηση Προσομοίωσης Στατιστικές Εξόδου Ουράς Μ/Μ/1 - Θεώρημα Burke Ανοικτά Δίκτυα Ουρών Μ/Μ/1 - Θεώρημα Jackson Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 26/4/2017 ΠΡΟΣΟΜΟΙΩΣΗ
Εγγυημένη ποιότητα υπηρεσίας
Εγγυημένη ποιότητα υπηρεσίας Απαιτήσεις ποιότητας υπηρεσίας Μηχανισμοί κατηγοριοποίησης Χρονοπρογραμματισμός Μηχανισμοί αστυνόμευσης Ενοποιημένες υπηρεσίες Διαφοροποιημένες υπηρεσίες Τεχνολογία Πολυμέσων
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΣΟΜΟΙΩΣΗ ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗΣ ΔΙΕΡΓΑΣΙΩΝ ΣΤΟ GRID ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ της ΓΚΟΥΤΙΟΥΔΗ ΚΥΡΙΑΚΗΣ Προπτυχιακή Φοιτήτρια Τμήματος
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εφαρμογές Θεωρήματος Jackson: (i) Δίκτυα Μεταγωγής Πακέτου (ii) Υπολογιστικά Μοντέλα Πολυεπεξεργασίας Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 3/5/2017 ΑΝΟΙΚΤΑ ΔΙΚΤΥΑ
Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη
ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ
Ανάλυση - Προσομοίωση ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ 1 Προσομοίωση Η προσομοίωση είναι μέθοδος μελέτης ενός συστήματος και εξοικείωσης με τα χαρακτηριστικά του με
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΑΡΑ ΕΙΓΜΑ ΠΡΟΣΟΜΕΙΩΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΑΡΑΓΩΓΗΣ. Καθηγητής Γ: Χρυσολούρης και ρ.. Μούρτζης ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ & ΑΕΡΟΝΑΥΠΗΓΩΝ ΜΗΧΑΝΙΚΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΑΡΑ ΕΙΓΜΑ ΠΡΟΣΟΜΕΙΩΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΑΡΑΓΩΓΗΣ Καθηγητής Γ: Χρυσολούρης και ρ.. Μούρτζης ΠΑΤΡΑ 2001 ΠΡΟΣΟΜΟΙΩΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΑΡΑΓΩΓΗΣ Η προσοµοίωση είναι µία πειραµατική µέθοδος µε τη
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση
ΑΕΠΠ Ερωτήσεις θεωρίας
ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος
5.1. Χωροταξικός Σχεδιασμός Κριτήρια αξιολόγησης Χωροταξικού Σχεδιασμού Δραστηριότητες Χωροταξικού Σχεδιασμού...
ΚΕΦΑΛΑΙΟ 5. ΧΩΡΟΤΑΞΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ Περιεχόμενα 5.1. Χωροταξικός Σχεδιασμός... 2 5.2. Κριτήρια αξιολόγησης Χωροταξικού Σχεδιασμού... 4 5.3. Δραστηριότητες Χωροταξικού Σχεδιασμού... 5 5.4. Τύποι Χωροταξίας...
Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 7: Η επιλογή των πιθανοτικών κατανομών εισόδου
Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 7: Η επιλογή των πιθανοτικών κατανομών εισόδου Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Εισαγωγή Συλλογή
ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) 1 Συμβαίνει συχνά πολλές διεργασίες να ανταγωνίζονται για τον έλεγχο
ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ Συνδυασμένη χρήση μοντέλων προσομοίωσης βελτιστοποίησης. Η μέθοδος του μητρώου μοναδιαίας απόκρισης Νικόλαος
ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών
44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Ουρές //1 εν σειρά, Θεώρημα Burke Ανοικτά Δίκτυα Ουρών arkov, Θεώρημα Jackson Εφαρμογή σε Δίκτυα Μεταγωγής Πακέτου Κλειστά Δίκτυα Ουρών arkov, Θεώρημα Gordon- Newell
Προσομοίωση ΚΕΦΑΛΑΙΟ 7
ΚΕΦΑΛΑΙΟ 7 Προσομοίωση 7.1 Συστήματα και πρότυπα συστημάτων 7.2 Η διαδικασία της προσομοίωσης 7.3 Ανάπτυξη προτύπων διακριτών γεγονότων 7.4 Τυχαίοι αριθμοί 7.5 Δείγματα από τυχαίες μεταβλητές 7.6 Προσομοίωση
5. Γεννήτριες Τυχαίων Αριθµών.
5. Γεννήτριες Τυχαίων Αριθµών. 5.1. Εισαγωγή. Στο Κεφάλαιο αυτό θα δούµε πώς µπορούµε να δηµιουργήσουµε τυχαίους αριθµούς από την οµοιόµορφη κατανοµή στο διάστηµα [0,1]. Την κατανοµή αυτή, συµβολίζουµε
Μοντελοποίηση, Ανάλυση και Σχεδιασμός Στοχαστικών Συστημάτων
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ Μοντελοποίηση, Ανάλυση και Σχεδιασμός Στοχαστικών Συστημάτων Ακαδ. Έτος 2017-2018 Διδάσκων: Βασίλης ΚΟΥΤΡΑΣ Επικ. Καθηγητής
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός
ΤΕΧΝΙΚΗ ΥΠΟΣΤΗΡΙΞΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΔΙΚΤΥΑΚΩΝ ΥΠΟΔΟΜΩΝ
ΤΕΧΝΙΚΗ ΥΠΟΣΤΗΡΙΞΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΔΙΚΤΥΑΚΩΝ ΥΠΟΔΟΜΩΝ ΚΕΦΑΛΑΙΟ 1 Τρόποι και Μεθοδολογία Τεχνικής Υποστήριξης Υπολογιστικά Συστήματα Υπολογιστικό Σύστημα (Υ.Σ.) λέγεται μία πλήρης υπολογιστική
Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού
Πληροφοριακά Συστήματα Διοίκησης Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Σημασία μοντέλου Το μοντέλο δημιουργεί μια λογική δομή μέσω της οποίας αποκτούμε μια χρήσιμη άποψη
Επώνυµη ονοµασία. Ενότητα 13 η Σχεδίαση,Επιλογή, ιανοµή Προϊόντων 1
Επώνυµη ονοµασία Η επώνυµη ονοµασία είναι αυτή η ονοµασία που ξεχωρίζει τα προϊόντα και τις υπηρεσίες µας από αυτές των ανταγωνιστών. Οι σχετικές αποφάσεις θα επηρεαστούν από τις εξής ερωτήσεις: 1. Χρειάζεται
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ 1
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ 1 Συστήµατα αναµονής Οι ουρές αναµονής αποτελούν καθηµερινό και συνηθισµένο φαινόµενο και εµφανίζονται σε συστήµατα εξυπηρέτησης, στα οποία η ζήτηση για κάποια υπηρεσία δεν µπορεί να
ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΑΝΑΠΤΥΞΗ ΔΥΝΑΜΙΚΩΝ ΠΡΟΤΥΠΩΝ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΒΙΟΜΗΧΑΝΙΚΗΣ ΔΙΟΙΚΗΣΗΣ ΕΡΓΑΣΤΗΡΙΟ ΟΡΓΑΝΩΣΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΑΝΑΠΤΥΞΗ ΔΥΝΑΜΙΚΩΝ
Αναγνώριση Προτύπων Ι
Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ GRID
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ GRID ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Επιµέλεια - Συγγραφή ΚΟΥΣΙΟΣ ΑΝΤΡΕΑΣ - 1179 Επιβλέπουσα Καθηγήτρια
Περίληψη ιπλωµατικής Εργασίας
Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός
Ηρώων Πολυτεχνείου 9, Ζωγράφου, Αθήνα, Τηλ: , Fax: URL
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής & Συστημάτων Πληροφορικής Εργαστήριο Διαχείρισης και Βέλτιστου Σχεδιασμού Δικτύων - NETMODE
Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι
Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι Μ.Στεφανιδάκης Χρονοδρομολόγηση (scheduling) αλγόριθμος επιλογή (init) READY RUNNING (terminate)
Προσομοίωση Συστημάτων
Προσομοίωση Συστημάτων Προσομοίωση και μοντέλα συστημάτων Άγγελος Ρούσκας Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Γενικός ορισμός συστήματος Ένα σύνολο στοιχείων/οντοτήτων που αλληλεπιδρούν μεταξύ
Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.
ΠΕΡΙΛΗΨΗ Η τεχνική αυτή έκθεση περιλαµβάνει αναλυτική περιγραφή των εναλλακτικών µεθόδων πολυκριτηριακής ανάλυσης που εξετάσθηκαν µε στόχο να επιλεγεί η µέθοδος εκείνη η οποία είναι η πιο κατάλληλη για
Δρομολόγηση σε σύστημα ενός επεξεργαστή
Δρομολόγηση σε σύστημα ενός επεξεργαστή 1. Εισαγωγή 2. Κριτήρια αποτίμησης της απόδοσης 3. Κριτήρια βελτιστοποίησης 4. Τύποι δρομολόγησης του επεξεργαστή 5. Ο κύκλος καταιγισμού CPU-I/O 6. Πολιτικές δρομολόγησης
ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΠΕΡΣΕΦΟΝΗ ΠΟΛΥΧΡΟΝΙΔΟΥ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΤΕ
ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΠΕΡΣΕΦΟΝΗ ΠΟΛΥΧΡΟΝΙΔΟΥ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου
J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,
Κεφάλαιο 4: Λογισμικό Συστήματος
Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος
Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου
ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση
ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ
ΕΡΕΥΝΗΤΙΚΗ ΠΕΡΙΟΧΗ: ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ Επιβλέπων: Π.Νικοπολιτίδης 1. Μελέτη Απόδοσης Προσαρμοστικών Πρωτοκόλλων Ασύρματης Εκπομπής Δεδομένων. Μελέτη βιβλιογραφίας, ανάπτυξη εργαλείου προσομοίωσης με χρήση
Ορισµός. (neighboring) καταστάσεων. ηλαδή στην περίπτωση αλυσίδας Markov. 1.2 ιαµόρφωση µοντέλου
200-04-25. ιαδικασίες γεννήσεων-θανάτων. Ορισµός Οι διαδικασίες γεννήσεων-θανάτων (birth-death rocesses) αποτελούν µια σπουδαία κλάση αλυσίδων Markov (διακριτού ή συνεχούς χρόνου). Η ιδιαίτερη συνθήκη
Σχεδιαστικά Προγράμματα Επίπλου
Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,
«ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ
Α ΡΙΣΤΟΤΕΛΕΙΟ Π ΑΝΕΠΙΣΤΗΜΙΟ Θ ΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΑΤΡΙΒΗ «ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΕΚΤΙΜΗΣΗ ΤΗΣ ΑΠΟΔΟΣΗΣ» Job
ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΜΕΛΕΤΗ ΤΗΣ ΑΠΟ ΟΣΗΣ ΚΑΤΑΝΕΜΗΜΕΝΟΥ ΣΥΣΤΗΜΑΤΟΣ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ
ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΜΕΛΕΤΗ ΤΗΣ ΑΠΟ ΟΣΗΣ ΚΑΤΑΝΕΜΗΜΕΝΟΥ ΣΥΣΤΗΜΑΤΟΣ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ.. Μαλιούφα Αικατερίνη Α.Ε.Μ : 633 Τµήµα Πληροφορικής Α.Π.Θ. Επιβλέπουσα Καθηγήτρια : Καρατζά Ελένη
ΚΕΦΑΛΑΙΟ 8 ΣΥΜΠΕΡΑΣΜΑΤΑ. 8.1 Εισαγωγή
ΣΥΜΠΕΡΑΣΜΑΤΑ 8.1 Εισαγωγή Η διατριβή συµβάλλει στην ανάπτυξη µεθόδων παροχής ΠοιΥπ σε DiffServ IP δίκτυα και το επιτυγχάνει µε δύο διαφορετικούς τρόπους: µε την παρουσίαση µεθόδων παροχής ΠοιΥπ που παρέχουν
Υπάρχουν τρεις εναλλακτικές τεχνικές για την ανάλυση της απόδοσης ενός συστήµατος:
ΕΝΟΤΗΤΑ 4 η ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΜΟΝΤΕΛΩΝ ΡΟΗΣ ΕΡΓΑΣΙΑΣ ΜΕ ΤΗ ΧΡΗΣΗ ΧΡΩΜΑΤΙΣΜΕΝΩΝ ΙΚΤΥΩΝ PETRI 4.1 Εισαγωγή Η απόδοση αποτελεί συνήθως σηµαντικό παράγοντα στο σχεδιασµό, την ανάπτυξη και την παραµετροποίηση
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Παραδείγματα χρήσης ουρών Μ/Μ/c/K και αξιολόγησης συστημάτων αναμονής Β. Μάγκλαρης, Σ. Παπαβασιλείου 5-6-2014 Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του Λ.Σ.
1 Συστήματα Αυτοματισμού Βιβλιοθηκών
1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία
ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή
ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται
Δίκτυα Κινητών και Προσωπικών Επικοινωνιών
Δίκτυα Κινητών και Προσωπικών Επικοινωνιών Διαστασιοποίηση Ασύρματου Δικτύου Άγγελος Ρούσκας Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Τηλεπικοινωνιακή κίνηση στα κυψελωτά συστήματα Βασικός στόχος
215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας
215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας Το Τμήμα ασχολείται με τη διδασκαλία και την έρευνα στην επιστήμη και τεχνολογία των υπολογιστών και τη μελέτη των εφαρμογών τους. Το Τμήμα ιδρύθηκε το 1980 (ως
Λειτουργικά Συστήματα Η/Υ
Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 9 «Δρομολόγηση Διεργασιών» Διδάσκων: Δ, Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Δρομολόγηση σε σύστημα ενός επεξεργαστή 1. Εισαγωγή 2. Κριτήρια αποτίμησης της απόδοσης
Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112
Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone
Σχεδιασµός βασισµένος σε συνιστώσες
Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι
Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής
Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική
Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται
special report τoυ Γιώργου Φετοκάκη / gfetokakis@boussias.com Jobs scheduling Η χρυσή τοµή της αυτοµατοποίησης Μια λύση job scheduling πρέπει να είναι αρκετά περιεκτική. Πρέπει να υποστηρίζει την ενσωµάτωση
Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.
Γλώσσες Περιγραφής Μοντέλα Ένα µοντέλο ενός κυκλώµατος είναι µία αναπαράσταση που παρουσιάζει χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Τα τυπικά µοντέλα έχουν καλά ορισµένη σύνταξη. Τα αυτόµατα
Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 8
Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 8 Κεφάλαιο 8 ιαχείριση ΚΜΕ στα Λειτουργικά Συστήµατα Σκοπός του κεφαλαίου αυτού είναι να σου γνωρίσει τον τρόπο µε τον οποίο ένα λειτουργικό
Μαλούτα Θεανώ Σελίδα 1
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες
Αποµακρυσµένη κλήση διαδικασιών
Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα
Προσομοίωση Συστημάτων
Προσομοίωση Συστημάτων Μεθοδολογίες προσομοίωσης Άγγελος Ρούσκας Μηχανισμός διαχείρισης χρόνου και μεθοδολογίες προσομοίωσης Έχουμε αναφερθεί σε δύο μηχανισμούς διαχείρισης χρόνου: Μηχανισμός επόμενου
7.9 ροµολόγηση. Ερωτήσεις
7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των
1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.
40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Ανοικτά Δίκτυα Ουρών arkov - Θεώρημα Jackson (1) Παράδειγμα Επίδοσης Δικτύου Μεταγωγής Πακέτου (2) Παράδειγμα Ανάλυσης Υπολογιστικού Συστήματος Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr