ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΤΗΣ ΑΠΟΔΟΣΗΣ ΜΕΘΟΔΩΝ ΑΝΑΘΕΣΗΣ ΕΡΓΑΣΙΩΝ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΑ ΠΛΕΓΜΑΤΑ ιδακτορική ιατριβή ΣΤΥΛΙΑΝΟΣ Α. ΖΗΚΟΣ Πτυχιούχος του τµήµατος Πληροφορικής Α.Π.Θ. M.Sc. στα επικοινωνιακά συστήµατα και τεχνολογίες, τµήµα Πληροφορικής Α.Π.Θ. Θεσσαλονίκη, Φεβρουάριος 2011
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΤΗΣ ΑΠΟΔΟΣΗΣ ΜΕΘΟΔΩΝ ΑΝΑΘΕΣΗΣ ΕΡΓΑΣΙΩΝ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΑ ΠΛΕΓΜΑΤΑ ιδακτορική ιατριβή ΣΤΥΛΙΑΝΟΣ Α. ΖΗΚΟΣ Πτυχιούχος του τµήµατος Πληροφορικής Α.Π.Θ. M.Sc. στα επικοινωνιακά συστήµατα και τεχνολογίες, τµήµα Πληροφορικής Α.Π.Θ. Επιβλέπουσα Καθηγήτρια: ΕΛΕΝΗ ΚΑΡΑΤΖΑ Θεσσαλονίκη, Φεβρουάριος 2011
2011 ΣΤΥΛΙΑΝΟΣ ΖΗΚΟΣ Α.Π.Θ. Η έγκριση της διδακτορικής διατριβής από το Τµήµα Πληροφορικής του Αριστοτελείου Πανεπιστηµίου Θεσσαλονίκης δεν υποδηλώνει αποδοχή των απόψεων του συγγραφέα (Ν.5343/1932 αρ. 202 παρ.2).
Στους γονείς µου, Αριστοτέλη και Παρασκευή
1 Ευχαριστίες Αυτή τη σελίδα της διατριβής την χρησιµοποιώ για να αναφέρω και να ευχαριστήσω κάποιους ανθρώπους που µε στήριξαν κατά τη διάρκεια της εκπόνησής της. Η βοήθειά τους ήταν καθοριστική για την ολοκλήρωση του έργου µου και γι αυτό τους οφείλω ένα µεγάλο µέρος της επιτυχίας µου. Ευχαριστώ θερµά την επιβλέπουσα της διδακτορικής διατριβής µου, καθηγήτρια του Τµήµατος Πληροφορικής Α.Π.Θ., κ. Ελένη Καρατζά, που µου εµπιστεύθηκε το θέµα της διατριβής, που ήταν πάντα δίπλα µου όποτε ζήτησα τη βοήθειά της, και που µε την καθοδήγηση και τις συµβουλές της κατάφερα να ξεπεράσω όλες τις δυσκολίες. Επίσης ευχαριστώ τα µέλη της συµβουλευτικής επιτροπής καθηγητή κ. Ανδρέα Πο- µπόρτση και αναπληρωτή καθηγητή κ. Γιώργο Παπαδηµητρίου για τις χρήσιµες παρατηρήσεις τους και την ενθάρρυνσή τους. Ευχαριστώ τον πατέρα µου Αριστοτέλη και τη µητέρα µου Παρασκευή που µε στήριξαν µε πολλούς τρόπους και µου έδιναν δύναµη όλο αυτό το χρονικό διάστηµα. Η βοήθειά τους, υλική και ηθική, ήταν σηµαντική και πολύτιµη. Στυλιανός Ζήκος Θεσσαλονίκη, 2011
2
3 Πρόλογος Τα πλέγµατα υπολογιστών δηµιουργήθηκαν από την ανάγκη για εκµετάλλευση µεγάλου αριθµού αχρησιµοποίητων κατανεµηµένων πόρων, και εξαπλώθηκαν µε την ανάπτυξη των δικτύων και κυρίως του ιαδικτύου. Ενοποιούν κατανεµηµένους ετερογενείς πόρους που δεν υπόκεινται σε κεντρικό έλεγχο, σχηµατίζοντας ισχυρά συστήµατα που µπορούν να παρέχουν πολλών ειδών υπηρεσίες. Στα υπολογιστικά πλέγµατα, που είναι ο συνηθέστερος τύπος πλεγµάτων, οι χρήστες υποβάλλουν τις εργασίες τους οι οποίες εξυπηρετούνται από ένα σύστηµα µε µεγάλη υπολογιστική ισχύ. Η παρούσα διατριβή πραγµατεύεται την ανάθεση εργασιών σε πόρους υπολογιστικών πλεγµάτων, µε την εκτέλεση προσοµοιώσεων. Η ανάθεση γίνεται σε δύο επίπεδα. Σε πρώτη φάση ο χρονοδροµολογητής πλέγµατος αναθέτει τις εργασίες στα κατανεµηµένα ανεξάρτητα site, και σε δεύτερη φάση ο τοπικός χρονοδροµολογητής, που βρίσκεται σε κάθε site, αναθέτει συγκεκριµένους επεξεργαστές για την εξυπηρέτηση των εργασιών. Μελετάται η χρονοδροµολόγηση εργασιών και στα δύο επίπεδα, αλλά δίνεται µεγαλύτερο βάρος σε πολιτικές ανάθεσης του χρονοδροµολογητή πλέγµατος. Σε ένα κατανεµηµένο ετερογενές σύστηµα το οποίο χρησιµοποιούν πολλοί χρήστες µε διαφορετικές απαιτήσεις, υπάρχουν πολλές προκλήσεις που πρέπει να αντιµετωπιστούν. Κάποιες από τις προκλήσεις, που απασχολούν αυτή τη διατριβή, είναι η αποτελεσµατική διαχείριση των πόρων, η µεταβλητότητα των απαιτήσεων εξυπηρέτησης των εργασιών, η απόδοση του συστήµατος και η κατανάλωση ενέργειας. Ο χρονοδροµολογητής πλέγµατος έχει ως κύριο στόχο την εύρεση των κατάλληλων site για τις εργασίες και την αποτελεσµατική διαµοίραση του φόρτου. Για να το επιτύχει αυτό γνωρίζει στατικά χαρακτηριστικά των site, αλλά µπορεί να χρησιµοποιήσει και δυναµική πληροφορία που δείχνει την κατάσταση τους. Στη διατριβή εξετάζονται πολιτικές που χρησιµοποιούν δυναµική πληροφορία για το φόρτο στα site. Προτείνονται και αξιολογούνται δύο διαφορετικές υβριδικές πολιτικές, οι οποίες συνδυάζουν τη χρήση δύο πολιτικών για να εκµεταλλευτούν τα πλεονεκτήµατα της κάθε µιας. Η πρώτη υβριδική πολιτική, που εφαρµόζεται όταν ο χρονοδροµολογητής πλέγµατος δεν γνωρίζει τις απαιτήσεις εξυπηρέτησης των εργασιών, επιλέγει έναν τύπο δροµολόγησης µε βάση το χρόνο άφιξης τους. Η δεύτερη υβριδική πολιτική, η οποία εφαρµόζεται όταν ο χρονοδροµολογητής πλέγµατος γνωρίζει τις απαιτήσεις εξυπηρέτησης των εργασιών, αποστέλλει τις εργασίες στα site µε βάση το µέγεθός τους. Τα κίνητρα για την ανάπτυξη των υβριδικών πολιτικών είναι η µείωση της καθυστέρησης των εργασιών στον χρονοδροµολογητή πλέγµατος και η επιλογή των πιο κατάλληλων site µε την εκµετάλλευση της δυναµικής πληροφορίας για το φόρτο.
4 Οι εργασίες που υποβάλλονται σε ένα υπολογιστικό πλέγµα µπορεί να χαρακτηρίζονται από υψηλή µεταβλητότητα ως προς τις απαιτήσεις εξυπηρέτησής τους, γιατί κάθε χρήστης έχει διαφορετικές απαιτήσεις. Οι χρονοδροµολογητές πρέπει να είναι αποτελεσµατικοί, κυρίως στην περίπτωση που δεν υπάρχει πληροφορία για τις απαιτήσεις εξυπηρέτησης. Ένα κεφάλαιο της διατριβής αφιερώνεται στη µελέτη της απόδοσης διάφορων πολιτικών σε επίπεδο πλέγµατος και σε τοπικό επίπεδο, όταν οι α- παιτήσεις εξυπηρέτησης των εργασιών παρουσιάζουν υψηλή µεταβλητότητα. Εξετάζονται διαφορετικοί βαθµοί µεταβλητότητας και γίνονται προσοµοιώσεις για την εύρεση των πιο κατάλληλων συνδυασµών πολιτικών. Η συχνή αποστολή πληροφορίας για το φόρτο, από τα site στον χρονοδροµολογητή πλέγµατος, έχει ως αποτέλεσµα την επιβάρυνση του δικτύου. Για την αντιµετώπιση αυτού του προβλήµατος προτείνονται και αξιολογούνται δύο νέες πολιτικές ανάθεσης εργασιών σε site, η χρήση των οποίων έχει ως αποτέλεσµα τη µείωση της συχνότητας µε την οποία αποστέλλεται η πληροφορία για το φόρτο. ιαφέρουν µεταξύ τους στον τρόπο µε τον οποίο κατανέµουν τις εργασίες στα site. Οι πολιτικές αξιολογούνται όχι µόνο ως προς την απόδοση της εξυπηρέτησης των εργασιών, αλλά και ως προς την εξισορρόπηση του φόρτου µεταξύ των ετερογενών site. Εκτός από την απόδοση, η κατανάλωση ενέργειας είναι άλλο ένα θέµα στο οποίο πρέπει να δοθεί προσοχή, γιατί η ποσότητα ενέργειας που καταναλώνεται στα πλέγ- µατα είναι µεγάλη. Για τη µελέτη της περίπτωσης όπου λαµβάνεται υπόψη η κατανάλωση ενέργειας, προτείνονται και αξιολογούνται τρεις τοπικές πολιτικές χρονοδρο- µολόγησης εργασιών σε συστοιχία που περιλαµβάνει επεξεργαστές µε διαφορετικά χαρακτηριστικά. Μία από τις πολιτικές έχει ως στόχο την εξοικονόµηση ενέργειας, ενώ οι άλλες δύο έχουν στόχο την υψηλή απόδοση. Με τη βοήθεια των προσοµοιώσεων εντοπίζεται η καταλληλότερη πολιτική ανάλογα µε τις συνθήκες στο σύστηµα και την επιθυµητή προτεραιότητα (απόδοση ή εξοικονόµηση ενέργειας). Συνοψίζοντας, η συνεισφορά της διατριβής εντοπίζεται στην ανάπτυξη µεθόδων ανάθεσης εργασιών σε υπολογιστικά πλέγµατα, όταν αυτή είναι οργανωµένη σε δύο επίπεδα. Η εφαρµογή των προτεινόµενων µεθόδων έχει ως αποτέλεσµα τη βελτίωση της λειτουργίας του συστήµατος, είτε µέσω της αναβαθµισµένης ποιότητας της υπηρεσίας που παρέχεται στις εργασίες των χρηστών (µικρότερες καθυστερήσεις), είτε µέσω της αποτελεσµατικότερης διαχείρισης των ζητηµάτων από την πλευρά του συστήµατος (εξισορρόπηση του φόρτου, µείωση της επιβάρυνσης στο δίκτυο, εξοικονόµηση ενέργειας).
5 Abstract The concept of grid computing evolved from the need to exploit a large number of idle or underutilized distributed resources. The growth of the Internet contributed to the development of large-scale systems which are ready to serve users across the world. Grid systems integrate heterogeneous distributed resources that are not subject to centralized control, creating powerful infrastructures that can provide a variety of services. In a computational grid, which is the most common grid type, users submit their jobs to a system with enormous computing capacity. This thesis studies the allocation of jobs to resources in computational grids, with the use of simulation. The job allocation occurs at two levels. At the first level, the grid scheduler dispatches the jobs to the distributed independent sites, and at the next level, the local scheduler in each site allocates specific processors in order to start the actual process of jobs. Job scheduling at both levels is examined in this thesis, but we focus more on allocation policies on behalf of the grid scheduler. There are many challenges in a heterogeneous distributed system that is used by a number of users with different demands. Some of them, which are taken into account in this thesis, are the effectiveness of resource management, the variability of job service demands, the system s performance and the energy consumption. The main objective of the grid scheduler is the discovery and selection of the most appropriate sites and the efficient load sharing. To accomplish this task, the grid scheduler must have some sort of static information about the characteristics of sites. Additionally, it can utilize dynamic site load information in order to watch their state. In the present thesis, policies that utilize dynamic site load information are examined. Two different hybrid policies, which combine two policies, are proposed and evaluated. The first hybrid policy, which is applied in the case where the grid scheduler does not know in advance the service demands of jobs, selects a scheduling type based on the arrival time of a job. The second hybrid policy, which is applied when the grid scheduler is aware of the service demands of jobs, selects the scheduling policy based on a job s demand. Jobs that are submitted to a computational grid can show high variability regarding their service demands, due to the different user demands. Schedulers must be able to deal with such a situation, especially when service demands are unknown. The performance of various policies at grid and local level, when service demands of jobs are highly variable, is studied in the present thesis. Different levels of variability are examined, and simulations are conducted in order to find the most effective combinations.
6 The frequent transmission of dynamic load information from sites to the grid scheduler results in heavy network traffic and overhead. Two new site allocation policies are presented. One of their main advantages is that they require less frequent dynamic load information in order to operate. They are evaluated under the load balancing among the heterogeneous sites, in addition to performance. Besides performance evaluation, energy consumption is another issue that requires attention, due to the large amount of electrical power that is consumed in grid systems, data centers etc. In order to study the case where the energy consumption is taken into account, three local job scheduling polices in a cluster are proposed and evaluated. The cluster involves processors with different performance and power characteristics. One policy is optimized for energy conservation, while the other two policies are optimized for high performance. Simulation experiments are used to discover the most suitable policy according to system s status and the desired priority (high performance or energy conservation).
7 Δημοσιεύσεις Στα πλαίσια του διδακτορικού, δηµοσιεύτηκαν ή έχουν γίνει δεκτές για δηµοσίευση οι εξής εργασίες: Εργασίες σε διεθνή επιστηµονικά περιοδικά: S. Zikos, H. D. Karatza, Communication Cost Effective Scheduling Policies of Nonclairvoyant Jobs with Load Balancing in a Grid, The Journal of Systems and Software, Elsevier, Vol. 82, Issue 12, December 2009, pp.2103-2116. S. Zikos, H. D. Karatza, The Impact of Service Demand Variability on Resource Allocation Strategies in a Grid System, ACM Transactions on Modeling and Computer Simulation (TOMACS), Vol. 20, Issue 4, October 2010. S. Zikos, H. D. Karatza, Performance and Energy Aware Cluster-level Scheduling of Compute-intensive Jobs with Unknown Service Times, Simulation Modelling Practice and Theory, Vol. 19, Issue 1, January 2011, pp. 239-250. S. Zikos, H. D. Karatza, A Clairvoyant Site Allocation Policy Based on Service Demands of Jobs in a Computational Grid, Simulation Modelling Practice and Theory, doi:10.1016/j.simpat.2010.09.003. Εργασίες σε διεθνή επιστηµονικά συνέδρια: S. Zikos, H. D. Karatza, Resource Allocation Strategies in a 2-level Hierarchical Grid System, In Proceedings of the 41 st Annual Simulation Symposium (ANSS), IEEE Computer Society Press, SCS, April 13-16, 2008, pp. 157-164. S. Zikos, H. D. Karatza, Clairvoyant Site Allocation of Jobs with Highly Variable Service Demands in a Computational Grid, In Proceedings of the 9th International Workshop on Performance Modeling, Evaluation, and Optimization of Ubiquitous Computing and Networked Systems (PMEO-UCNS'10), in conjunction with IPDPS 2010, Atlanta, USA, April 19-23, 2010.
8
9 Περιεχόμενα 1. ΕΙΣΑΓΩΓΗ...19 1.1 ΟΡΙΣΜΟΣ...20 1.2 ΤΥΠΟΙ ΠΛΕΓΜΑΤΩΝ...20 1.3 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΠΛΕΓΜΑΤΩΝ...22 1.4 ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ...23 1.4.1 Φάσεις για τη χρονοδροµολόγηση εργασιών...24 1.4.2 Τύποι και µοντέλα χρονοδροµολόγησης...25 1.5 ΣΥΝΕΙΣΦΟΡΑ ΤΗΣ ΙΑΤΡΙΒΗΣ...27 1.6 ΙΑΡΘΡΩΣΗ ΤΗΣ ΙΑΤΡΙΒΗΣ...28 2. ΠΟΛΙΤΙΚΕΣ ΑΝΑΘΕΣΗΣ ΠΟΡΩΝ ΣΕ ΠΛΕΓΜΑ ΜΕ ΙΕΡΑΡΧΙΚΗ ΟΜΗ ΥΟ ΕΠΙΠΕ ΩΝ...31 2.1 ΕΙΣΑΓΩΓΗ...31 2.2 ΜΟΝΤΕΛΟ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΜΕΘΟ ΟΛΟΓΙΑ...32 2.2.1 Σύστηµα...32 2.2.2 Πολιτικές...34 2.2.3 Μετρικές απόδοσης...37 2.3 ΑΠΟΤΕΛΕΣΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ...38 2.3.1 Παράµετροι εισόδου...38 2.3.2 Αποτίµηση της απόδοσης και ανάλυση...39 2.4 ΣΥΜΠΕΡΑΣΜΑΤΑ...49 3. Η ΕΠΙ ΡΑΣΗ ΤΗΣ ΜΕΤΑΒΛΗΤΟΤΗΤΑΣ ΤΩΝ ΑΠΑΙΤΗΣΕΩΝ ΕΞΥΠΗΡΕΤΗΣΗΣ ΣΕ ΠΟΛΙΤΙΚΕΣ ΑΝΑΘΕΣΗΣ ΠΟΡΩΝ...51 3.1 ΕΙΣΑΓΩΓΗ...51 3.2 ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ...52 3.3 ΠΟΛΙΤΙΚΕΣ...54 3.3.1 Πολιτικές σε επίπεδο πλέγµατος...54 3.3.2 Τοπικές πολιτικές...56 3.4 ΜΕΤΡΙΚΕΣ ΑΠΟ ΟΣΗΣ...57 3.5 ΠΑΡΑΜΕΤΡΟΙ ΕΙΣΟ ΟΥ...58 3.5.1 Χρόνοι εξυπηρέτησης...58 3.5.2 Μεταξύ των αφίξεων χρόνοι...59 3.6 ΑΠΟΤΕΛΕΣΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΚΑΙ ΑΝΑΛΥΣΗ...60 3.6.1 Βασικό µοντέλο συστήµατος...60 3.6.2 Ετερογενές σύστηµα...71 3.7 ΣΥΜΠΕΡΑΣΜΑΤΑ...79 4. ΠΟΛΙΤΙΚΕΣ ΑΝΑΘΕΣΗΣ SITE ΠΟΥ ΜΕΙΩΝΟΥΝ ΤΟ ΚΟΣΤΟΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΚΑΙ ΒΕΛΤΙΩΝΟΥΝ ΤΗΝ ΕΞΙΣΟΡΡΟΠΗΣΗ ΤΟΥ ΦΟΡΤΟΥ...81 4.1 ΕΙΣΑΓΩΓΗ...81 4.2 ΜΟΝΤΕΛΟ ΣΥΣΤΗΜΑΤΟΣ...82
10 4.3 ΠΟΛΙΤΙΚΕΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗΣ...84 4.3.1 Πολιτικές του χρονοδροµολογητή πλέγµατος (επίπεδο πλέγµατος)...84 4.3.2 Τοπική πολιτική...88 4.4 ΜΕΤΡΙΚΕΣ ΑΠΟ ΟΣΗΣ...88 4.5 ΠΑΡΑΜΕΤΡΟΙ ΕΙΣΟ ΟΥ...90 4.6 ΑΠΟΤΕΛΕΣΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΚΑΙ ΑΝΑΛΥΣΗ...91 4.6.1 Αποτελέσµατα µε κοινό A_I για όλες τις πολιτικές...92 4.6.2 Αποτελέσµατα µε κοινό LIT για όλες τις πολιτικές...96 4.6.3 Επίδραση της πληροφορίας για το φόρτο στα site...100 4.7 ΣΥΜΠΕΡΑΣΜΑΤΑ...102 5. ΙΟΡΑΤΙΚΗ ΑΝΑΘΕΣΗ ΤΩΝ SITE ΣΕ ΕΡΓΑΣΙΕΣ ΜΕ ΑΠΑΙΤΗΣΕΙΣ ΕΞΥΠΗΡΕΤΗΣΗΣ ΠΟΥ ΠΑΡΟΥΣΙΑΖΟΥΝ ΥΨΗΛΗ ΜΕΤΑΒΛΗΤΟΤΗΤΑ...105 5.1 ΕΙΣΑΓΩΓΗ...105 5.2 ΜΟΝΤΕΛΟ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΦΟΡΤΟΥ...106 5.3 ΠΟΛΙΤΙΚΕΣ...108 5.3.1 Πολιτικές του χρονοδροµολογητή πλέγµατος...108 5.3.2 Τοπική πολιτική...111 5.4 ΜΕΤΡΙΚΕΣ ΑΠΟ ΟΣΗΣ...111 5.5 ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΗΣ ΠΡΟΣΟΜΟΙΩΣΗΣ ΚΑΙ ΠΑΡΑΜΕΤΡΟΙ ΕΙΣΟ ΟΥ...112 5.6 ΑΠΟΤΕΛΕΣΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΚΑΙ ΑΝΑΛΥΣΗ...114 5.6.1 Επίδραση της µεταβλητότητας των χρόνων εξυπηρέτησης (α)...114 5.6.2 Επίδραση της παραµέτρου SDT...115 5.6.3 Αποτίµηση της απόδοσης των πολιτικών...117 5.6.4 Επίδραση του A_I...121 5.6.5 Εκτίµηση των απαιτήσεων εξυπηρέτησης των εργασιών...123 5.7 ΣΥΜΠΕΡΑΣΜΑΤΑ...127 6. ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΜΕ ΒΑΣΗ ΤΗΝ ΑΠΟ ΟΣΗ ΚΑΙ ΤΗΝ ΚΑΤΑΝΑΛΩΣΗ ΕΝΕΡΓΕΙΑΣ ΣΕ ΣΥΣΤΟΙΧΙΑ ΥΠΟΛΟΓΙΣΤΩΝ...129 6.1 ΕΙΣΑΓΩΓΗ...129 6.2 ΜΟΝΤΕΛΟ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΦΟΡΤΟΥ...133 6.2.1 Κατανοµή των µεταξύ των αφίξεων χρόνων των εργασιών και των απαιτήσεων εξυπηρέτησης...137 6.3 ΠΟΛΙΤΙΚΕΣ...137 6.3.1 Με προσανατολισµό στην ενεργειακή απόδοση...137 6.3.2 Με προσανατολισµό στην απόδοση...138 6.4 ΜΕΤΡΙΚΕΣ ΑΠΟ ΟΣΗΣ ΚΑΙ ΕΝΕΡΓΕΙΑΣ...139 6.5 ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΗΣ ΠΡΟΣΟΜΟΙΩΣΗΣ ΚΑΙ ΠΑΡΑΜΕΤΡΟΙ ΕΙΣΟ ΟΥ...140 6.5.1 Μεταξύ των αφίξεων χρόνοι και χρόνοι εξυπηρέτησης...140 6.6 ΑΠΟΤΕΛΕΣΜΑΤΑ ΚΑΙ ΑΝΑΛΥΣΗ...142 6.6.1 Εξισορρόπηση του φόρτου...142 6.6.2 Αποτελέσµατα ως προς την απόδοση...144 6.6.3 Αποτελέσµατα ως προς την κατανάλωση ενέργειας...146 6.7 ΣΥΜΠΕΡΑΣΜΑΤΑ...149 7. ΣΥΝΟΨΗ, ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΕΡΑΙΤΕΡΩ ΕΡΕΥΝΑ...151 7.1 ΣΥΜΠΕΡΑΣΜΑΤΑ...151 7.2 ΜΕΛΛΟΝΤΙΚΗ ΕΡΕΥΝΑ...155 ΒΙΒΛΙΟΓΡΑΦΙΑ...157
11 Κατάλογος Σχημάτων Σχήµα 1.1: Πιθανά µέρη ενός πλέγµατος υπολογιστών 22 Σχήµα 1.2: ιαστρωµατωµένη αρχιτεκτονική πλέγµατος 23 Σχήµα 1.3: Οι σηµαντικότερες ενέργειες για τη χρονοδροµολόγηση εργασιών σε ένα πλέγµα 25 Σχήµα 2.1: Μοντέλο συστήµατος (φαίνονται µόνο δύο από τα τέσσερα site) 33 Σχήµα 2.2: Λειτουργία του χρονοδροµολογητή πλέγµατος όταν χρησιµοποιείται η Hybrid_GS µε A_I%=0.5 35 Σχήµα 2.3: RT ως προς 1/λ όταν χρησιµοποιείται η πολιτική R_GS 40 Σχήµα 2.4: RT ως προς 1/λ όταν χρησιµοποιείται η πολιτική R-T_GS 40 Σχήµα 2.5: DSLD(%) ως προς 1/λ όταν χρησιµοποιείται η πολιτική R_GS 41 Σχήµα 2.6: DSLD(%) ως προς 1/λ όταν χρησιµοποιείται η πολιτική R-T_GS 41 Σχήµα 2.7: RT ως προς 1/λ όταν χρησιµοποιείται η πολιτική R_LS 42 Σχήµα 2.8: RT ως προς 1/λ όταν χρησιµοποιείται η πολιτική 2RSQ_LS 43 Σχήµα 2.9: RT ως προς 1/λ όταν χρησιµοποιείται η πολιτική SQ_LS 43 Σχήµα 2.10: RT ως προς A_I όταν χρησιµοποιείται η SQ_LS και 1/λ=0.033 45 Σχήµα 2.11: RT ως προς A_I% όταν χρησιµοποιείται η SQ_LS και 1/λ=0.048 47 Σχήµα 2.12: RT ως προς A_I% όταν χρησιµοποιείται η 2RSQ_LS και 1/λ=0.048 47 Σχήµα 2.13: RT ως προς A_I% όταν χρησιµοποιείται η R_LS και 1/λ=0.048 48 Σχήµα 2.14: RT ως προς A_I% όταν χρησιµοποιείται η SQ_LS και 1/λ=0.033 48 Σχήµα 2.15: RT ως προς A_I% όταν χρησιµοποιείται η 2RSQ_LS και 1/λ=0.033 48 Σχήµα 2.16: RT ως προς A_I% όταν χρησιµοποιείται η R_LS και 1/λ=0.033 49 Σχήµα 3.1: Βασικό µοντέλο συστήµατος (οµογενή site) 54 Σχήµα 3.2: Ετερογενές µοντέλο συστήµατος 54
12 Σχήµα 3.3: Η πολιτική Deferred 55 Σχήµα 3.4: Η πολιτική Hybrid 56 Σχήµα 3.5: Η τοπική πολιτική Selective Random 57 Σχήµα 3.6: RT ως προς 1/λ όταν χρησιµοποιούνται οι Deferred GS και SQ LS 61 Σχήµα 3.7: RT ως προς 1/λ όταν χρησιµοποιούνται οι Deferred GS και Random LS 62 Σχήµα 3.8: RT ως προς 1/λ όταν χρησιµοποιούνται οι Hybrid GS και SQ LS 62 Σχήµα 3.9: RT ως προς 1/λ όταν χρησιµοποιούνται οι Hybrid GS και Random LS 62 Σχήµα 3.10: Σύγκριση των πολιτικών πλέγµατος όταν χρησιµοποιείται η SQ LS και 1/λ=0.048 63 Σχήµα 3.11: Σύγκριση των πολιτικών πλέγµατος όταν χρησιµοποιείται η SQ LS και 1/λ=0.033 64 Σχήµα 3.12: Σύγκριση των πολιτικών πλέγµατος όταν χρησιµοποιείται η Random LS και 1/λ=0.048 64 Σχήµα 3.13: Σύγκριση των πολιτικών πλέγµατος όταν χρησιµοποιείται η Random LS και 1/λ=0.033 64 Σχήµα 3.14: Σύγκριση των τοπικών πολιτικών όταν χρησιµοποιείται η Deferred GS και 1/λ=0.048 66 Σχήµα 3.15: Σύγκριση των τοπικών πολιτικών όταν χρησιµοποιείται η Deferred GS και 1/λ=0.033 66 Σχήµα 3.16: Σύγκριση των τοπικών πολιτικών όταν χρησιµοποιείται η Hybrid GS και 1/λ=0.048 66 Σχήµα 3.17: Σύγκριση των τοπικών πολιτικών όταν χρησιµοποιείται η Hybrid GS και 1/λ=0.033 67 Σχήµα 3.18: maxrt ως προς CV για κάθε συνδυασµό χρήσης πολιτικών όταν 1/λ=0.048 68 Σχήµα 3.19: maxrt ως προς CV για κάθε συνδυασµό χρήσης πολιτικών όταν 1/λ=0.033 68 Σχήµα 3.20: RT ως προς CV για τις Random και Selective Random όταν 1/λ=0.048 70
13 Σχήµα 3.21: RT ως προς CV για τις Random και Selective Random όταν 1/λ=0.033 70 Σχήµα 3.22: Ποσοστό µείωσης του maxrt ως προς CV µε τη χρήση της Selective Random 70 Σχήµα 3.23: RT ως προς 1/λ όταν χρησιµοποιούνται οι Deferred GS και SQ LS (ετερογενές σύστηµα) 71 Σχήµα 3.24: RT ως προς 1/λ όταν χρησιµοποιούνται οι Deferred GS και Random LS (ετερογενές σύστηµα) 72 Σχήµα 3.25: RT ως προς 1/λ όταν χρησιµοποιούνται οι Hybrid GS και SQ LS (ετερογενές σύστηµα) 72 Σχήµα 3.26: RT ως προς 1/λ όταν χρησιµοποιούνται οι Hybrid GS και Random LS (ετερογενές σύστηµα) 72 Σχήµα 3.27: Σύγκριση των πολιτικών πλέγµατος όταν χρησιµοποιείται η SQ LS και 1/λ=0.024 (ετερογενές σύστηµα) 73 Σχήµα 3.28: Σύγκριση των πολιτικών πλέγµατος όταν χρησιµοποιείται η SQ LS και 1/λ=0.0165 (ετερογενές σύστηµα) 74 Σχήµα 3.29: Σύγκριση των πολιτικών πλέγµατος όταν χρησιµοποιείται η Random LS και 1/λ=0.024 (ετερογενές σύστηµα) 74 Σχήµα 3.30: Σύγκριση των πολιτικών πλέγµατος όταν χρησιµοποιείται η Random LS και 1/λ=0.0165 (ετερογενές σύστηµα) 74 Σχήµα 3.31: Σύγκριση των τοπικών πολιτικών όταν χρησιµοποιείται η Deferred GS και 1/λ=0.024 (ετερογενές σύστηµα) 75 Σχήµα 3.32: Σύγκριση των τοπικών πολιτικών όταν χρησιµοποιείται η Deferred GS και 1/λ=0.0165 (ετερογενές σύστηµα) 75 Σχήµα 3.33: Σύγκριση των τοπικών πολιτικών όταν χρησιµοποιείται η Hybrid GS και 1/λ=0.024 (ετερογενές σύστηµα) 76 Σχήµα 3.34: Σύγκριση των τοπικών πολιτικών όταν χρησιµοποιείται η Hybrid GS και 1/λ=0.0165 (ετερογενές σύστηµα) 76 Σχήµα 3.35: maxrt ως προς CV για κάθε συνδυασµό χρήσης πολιτικών όταν 1/λ=0.024 (ετερογενές σύστηµα) 77 Σχήµα 3.36: maxrt ως προς CV για κάθε συνδυασµό χρήσης πολιτικών όταν 1/λ=0.0165 (ετερογενές σύστηµα) 77
14 Σχήµα 3.37: RT ως προς CV για τις Random και Selective Random όταν 1/λ=0.024 (ετερογενές σύστηµα) 78 Σχήµα 3.38: RT ως προς CV για τις Random και Selective Random όταν 1/λ=0.0165 (ετερογενές σύστηµα) 78 Σχήµα 3.39: Ποσοστό µείωσης του maxrt ως προς CV µε τη χρήση της Selective Random (ετερογενές σύστηµα) 79 Σχήµα 4.1: Μοντέλο συστήµατος 83 Σχήµα 4.2: Αλγόριθµος PAD 86 Σχήµα 4.3: Αλγόριθµος FZF-PAD 87 Σχήµα 4.4: Σύγκριση PAD µε FZF-PAD ως προς τη λειτουργία 88 Σχήµα 4.5: DRT(%) ως προς 1/λ 94 Σχήµα 4.6: maxrt ως προς 1/λ 94 Σχήµα 4.7: Load information traffic (LIT) ως προς 1/λ 95 Σχήµα 4.8: RUF ως προς 1/λ για τα δύο site τεσσάρων επεξεργαστών 95 Σχήµα 4.9: RUF ως προς 1/λ για τα τέσσερα site οκτώ επεξεργαστών 95 Σχήµα 4.10: RUF ως προς 1/λ για τα δύο site δώδεκα επεξεργαστών 96 Σχήµα 4.11: RT ως προς 1/λ όταν A_I=2 µόνο για την Basic Hybrid 98 Σχήµα 4.12: DRT (%) ως προς 1/λ όταν A_I=2 µόνο για την Basic Hybrid 98 Σχήµα 4.13: maxrt ως προς 1/λ όταν A_I=2 µόνο για την Basic Hybrid 98 Σχήµα 4.14: RUF ως προς 1/λ για τα δύο site τεσσάρων επεξεργαστών, όταν A_I=2 µόνο για την Basic Hybrid 99 Σχήµα 4.15: RUF ως προς 1/λ για τα τέσσερα site οκτώ επεξεργαστών, όταν A_I=2 µόνο για την Basic Hybrid 99 Σχήµα 4.16: RUF ως προς 1/λ για τα δύο site δώδεκα επεξεργαστών, όταν A_I=2 µόνο για την Basic Hybrid 99 Σχήµα 4.17: Ποσοστιαία αύξηση του RT ως προς 1/λ, όταν δεν είναι διαθέσιµη η πληροφορία για τους αδρανείς επεξεργαστές 101 Σχήµα 4.18: RUF ως προς 1/λ για τα δύο site τεσσάρων επεξεργαστών, όταν δεν είναι διαθέσιµη η πληροφορία για τους αδρανείς επεξεργαστές 101
15 Σχήµα 4.19: RUF ως προς 1/λ για τα τέσσερα site οκτώ επεξεργαστών, όταν δεν είναι διαθέσιµη η πληροφορία για τους αδρανείς επεξεργαστές 102 Σχήµα 4.20: RUF ως προς 1/λ για τα δύο site δώδεκα επεξεργαστών, όταν δεν είναι διαθέσιµη η πληροφορία για τους αδρανείς επεξεργαστές 102 Σχήµα 5.1: Μοντέλο συστήµατος 107 Σχήµα 5.2: Λειτουργία της πολιτικής SB-Deferred κατά την άφιξη µιας εργασίας 110 Σχήµα 5.3: RT ως προς α όταν 1/λ=0.014 για την πολιτική Random 115 Σχήµα 5.4: SLD ως προς α όταν 1/λ=0.014 για την πολιτική Random 115 Σχήµα 5.5: RT ως προς SDT όταν α=2 για την πολιτική SB-Deferred 116 Σχήµα 5.6: RT ως προς SDT όταν α=1.5 για την πολιτική SB-Deferred 117 Σχήµα 5.7: Σύγκριση των πολιτικών ως προς RT όταν α=2 119 Σχήµα 5.8: Σύγκριση των πολιτικών ως προς maxrt όταν α=2 119 Σχήµα 5.9: Σύγκριση των πολιτικών ως προς SLD όταν α=2 119 Σχήµα 5.10: Σύγκριση των πολιτικών ως προς RT όταν α=1.5 120 Σχήµα 5.11: Σύγκριση των πολιτικών ως προς maxrt όταν α=1.5 120 Σχήµα 5.12: Σύγκριση των πολιτικών ως προς SLD όταν α=1.5 120 Σχήµα 5.13: RT ως προς A_I 122 Σχήµα 5.14: MaxRT ως προς A_I 122 Σχήµα 5.15: SLD ως προς A_I 122 Σχήµα 5.16: Σύγκριση εκτίµησης µε ακριβή γνώση των απαιτήσεων εξυπηρέτησης ως προς RT 125 Σχήµα 5.17: Σύγκριση εκτίµησης µε ακριβή γνώση των απαιτήσεων εξυπηρέτησης ως προς maxrt 125 Σχήµα 5.18: Σύγκριση εκτίµησης µε ακριβή γνώση των απαιτήσεων εξυπηρέτησης ως προς SLD 126 Σχήµα 5.19: RT ως προς SDT για την πολιτική SB-Deferred µε εκτιµώµενες και ακριβείς απαιτήσεις εξυπηρέτησης 126
16 Σχήµα 5.20: Αριθµός εργασιών που επηρεάζονται από την εκτίµηση των απαιτήσεων εξυπηρέτησης ως προς SDT 126 Σχήµα 6.1: Μοντέλο συστήµατος 134 Σχήµα 6.2: Αριθµός εργασιών ως προς το φόρτο στο σύστηµα όταν εφαρµόζεται η SQEE 143 Σχήµα 6.3: Αριθµός εργασιών ως προς το φόρτο στο σύστηµα όταν εφαρµόζεται η SQHP 143 Σχήµα 6.4: Αριθµός εργασιών ως προς το φόρτο στο σύστηµα όταν εφαρµόζεται η PBP-SQ 143 Σχήµα 6.5: RT ως προς το φόρτο στο σύστηµα 145 Σχήµα 6.6: DRT (%) ως προς το φόρτο στο σύστηµα 145 Σχήµα 6.7: SLD ως προς το φόρτο στο σύστηµα 145 Σχήµα 6.8: DSLD (%) ως προς το φόρτο στο σύστηµα 146 Σχήµα 6.9: TO_E ως προς το φόρτο στο σύστηµα 147 Σχήµα 6.10: TP_E ως προς το φόρτο στο σύστηµα 148 Σχήµα 6.11: Ποσοστό της ενέργειας που καταναλώθηκε σε κατάσταση αδράνειας ως προς το φόρτο στο σύστηµα 148
17 Κατάλογος Πινάκων Πίνακας 2.1: Παράµετροι 37 Πίνακας 2.2: Σηµειογραφίες των πολιτικών 39 Πίνακας 2.3: Τιµές για το A_I της D_GS πολιτικής όταν αποδίδει ισοδύναµα µε την R_GS (1/λ=0.033) 45 Πίνακας 2.4: Τιµές για το A_I της D_GS πολιτικής όταν αποδίδει ισοδύναµα µε την R_GS (1/λ=0.048) 45 Πίνακας 3.1: Παράµετροι 58 Πίνακας 3.2: Αριθµός απαιτητικών εργασιών στο βασικό µοντέλο συστήµατος 59 Πίνακας 3.3: Σηµειογραφίες των πολιτικών 60 Πίνακας 4.1: Παράµετροι 90 Πίνακας 4.2: Σηµειογραφίες των πολιτικών 91 Πίνακας 5.1: Παράµετροι 112 Πίνακας 5.2: Τιµές παραµέτρων της Bounded Pareto 113 Πίνακας 5.3: Μέσο πλήθος εργασιών που χαρακτηρίζονται ως απαιτητικές (σε σύνολο 80.000) 117 Πίνακας 6.1: Χαρακτηριστικά επεξεργαστών 135 Πίνακας 6.2: Ισχύς των δύο τύπων εξυπηρετητών 136 Πίνακας 6.3: Παράµετροι και µετρικές 140 Πίνακας 6.4: Μέση χρησιµοποίηση του συστήµατος 141
18
19 Κεφάλαιο 1 Εισαγωγή Η γενική τάση όσο αφορά τη σχεδίαση συστηµάτων παράλληλης επεξεργασίας έχει αλλάξει τα τελευταία χρόνια. Λόγω της ανάπτυξης των δικτύων ευρείας περιοχής, και κυρίως του ιαδικτύου, οι κεντρικοποιηµένοι υπερυπολογιστές χάνουν έδαφος σε σχέση µε τα κατανεµηµένα συστήµατα όπου γίνεται διαµοίραση των κατανεµηµένων πόρων. Φυσικά, η ανάπτυξη των υπερυπολογιστών συνεχίζεται καθώς µε την εξέλιξη της τεχνολογίας κατασκευάζονται όλο και πιο ισχυρά συστήµατα, τα οποία χρησιµοποιούνται κυρίως για εξειδικευµένες εφαρµογές που απαιτούν τεράστια υπολογιστική ισχύ. Στις µέρες µας υπάρχει µεγάλη ζήτηση για υπολογιστική ισχύ. Οι ερευνητές έ- χουν να επιλύσουν σύνθετα προβλήµατα που απαιτούν εξοπλισµό υψηλών επιδόσεων. Για την πλειοψηφία των ερευνητών, η χρήση ενός υπερυπολογιστή δεν είναι συνήθως εφικτή, κυρίως λόγω δύσκολης πρόσβασης. Από την άλλη, η ανάπτυξη κατανεµηµένων υπολογιστικών συστηµάτων είναι αλµατώδης. Οι υποδοµές που έχουν να κάνουν µε το δίκτυο επεκτείνονται και το εύρος δικτύου αυξάνεται, εξαιτίας της διαθεσιµότητας ενός µεγάλου αριθµού υπολογιστικών συστηµάτων. Η διασύνδεση των κατανεµηµένων υπολογιστικών συστηµάτων µπορεί να δηµιουργήσει ένα σύστηµα µε µεγάλη υπολογιστική ισχύ. Κύριος στόχος είναι η εκµετάλλευση, από αποµακρυσµένους χρήστες, των πόρων που δεν αξιοποιούνται από τους τοπικούς χρήστες των συ-
20 Κεφάλαιο 1: Εισαγωγή στηµάτων. Η ιδέα αυτή είχε ως αποτέλεσµα τη δηµιουργία του πλέγµατος υπολογιστών (grid computing). 1.1 Ορισµός Ένα πλέγµα υπολογιστών µπορεί να συγκριθεί ως προς την αρχιτεκτονική και λειτουργία µε ένα πλέγµα που σχηµατίζει ένα δίκτυο µεταφοράς ηλεκτρικής ενέργειας. Έχουν προταθεί διάφοροι ορισµοί για το τι είναι ένα πλέγµα υπολογιστών. Οι I. Foster και C. Kesselman, ορίζουν το πλέγµα ως ένα σύστηµα που συντονίζει κατανεµη- µένους πόρους χρησιµοποιώντας ανοικτά και γενικού σκοπού πρωτόκολλα και διεπαφές, για να παρέχει ποιότητα υπηρεσίας (QoS) σε διάφορα επίπεδα [1], [2]. Ένα πλέγµα ενοποιεί και συντονίζει πόρους που ανήκουν σε διαφορετικά κέντρα ελέγχου, όπως για παράδειγµα διαφορετικές εταιρίες ή οργανισµούς. Τα πρωτόκολλα που χρησιµοποιούνται για την εκτέλεση διάφορων βασικών λειτουργιών, όπως είναι η πιστοποίηση, η εξουσιοδότηση και η πρόσβαση στους πόρους, πρέπει να είναι γενικού σκοπού και ανοικτά, γιατί αλλιώς θα είχαµε να κάνουµε µε ένα σύστηµα προσανατολισµένο µόνο σε συγκεκριµένες εφαρµογές. Ένα πλέγµα µπορεί να προσφέρει ποιότητα υπηρεσίας σε πολλούς τοµείς, όπως στο χρόνο απόκρισης, στη ρυθµοαπόδοση (throughput) και στην ασφάλεια. Επίσης µπορεί να ικανοποιήσει πολύπλοκες απαιτήσεις χρηστών, µε την ανάθεση πολλαπλών τύπων πόρων, έτσι ώστε η ωφέλεια από το συνδυασµένο σύστηµα να είναι µεγαλύτερη από αυτή που προκύπτει από το άθροισµα των µερών του. Σύµφωνα µε τον ορισµό που χρησιµοποιούν οι συγγραφείς της εργασίας [3], ένα πλέγµα υπολογιστών είναι ένα κατανεµηµένο σύστηµα που υποστηρίζει ένα εικονικό περιβάλλον έρευνας µεταξύ διαφορετικών ιδρυµάτων. Στο σχήµα 1.1 απεικονίζονται κάποια από τα πιθανά µέρη ενός πλέγµατος υπολογιστών. 1.2 Τύποι πλεγµάτων Υπάρχουν διάφοροι τύποι πλεγµάτων που διαφέρουν ως προς τη λειτουργία και τα χαρακτηριστικά. Οι πιο σηµαντικοί παρουσιάζονται στη συνέχεια. Υπολογιστικά πλέγµατα(computational Grids): Τα υπολογιστικά πλέγµατα αναπτύχθηκαν για την επίλυση σύνθετων προβληµάτων µε µεγάλες απαιτήσεις επεξεργασίας. Στόχος των υπολογιστικών πλεγµάτων είναι η εκµετάλλευση των διαµοιραζόµενων υπολογιστικών πόρων, οι οποίοι θα έµεναν αδρανείς για αρκετό χρονικό διάστη- µα αν δε συµµετείχαν στο πλέγµα. Σε αυτή τη διατριβή ασχολούµαστε µε τη µελέτη πλεγµάτων αυτού του τύπου.
Κεφάλαιο 1: Εισαγωγή 21 Πλέγµατα δεδοµένων (Data Grids): Τα πλέγµατα δεδοµένων έχουν ως αντικείµενο το διαµοιρασµό και τη διαχείριση µεγάλου όγκου κατανεµηµένων δεδοµένων. Υπάρχουν επιστηµονικές εφαρµογές που απαιτούν πρόσβαση σε αυτά τα δεδοµένα, και το µεγάλο τους µέγεθος, η ετερογένεια και η αποµακρυσµένη θέση τους, αποτελούν πρόκληση. Η αντιγραφή και η µεταφορά των δεδοµένων διαδραµατίζουν σηµαντικό ρόλο στην απόδοση ενός τέτοιου συστήµατος. Πλέγµατα επιχειρήσεων (Enterprise Grids): Πολλές µεγάλες επιχειρήσεις χρησιµοποιούν τέτοια πλέγµατα για την παροχή υπηρεσιών και την επίλυση προβληµάτων που τους αφορούν. Έτσι µπορεί να γίνεται διαµοιρασµός δεδοµένων και χρήση υπηρεσιών ανεξάρτητα από την απόσταση. Κάποια παραδείγµατα πλεγµάτων που ανήκουν σε αυτή την κατηγορία είναι τα IBM Grid και HP Grid. Επιτραπέζια πλέγµατα (Desktop Grids): Τα πλέγµατα αυτού του τύπου χρησιµοποιούν για την εκτέλεση µιας εργασίας απλούς επιτραπέζιους προσωπικούς υπολογιστές, ό- ταν αυτοί είναι αδρανείς. Η πλατφόρµα ανοιχτού κώδικα BOINC µπορεί να χρησιµοποιηθεί για τη δηµιουργία ενός τέτοιου πλέγµατος, αν και αρχικά σχεδιάστηκε για volunteer computing (SETI@home κ.α.). Πλέγµατα συστοιχιών (Cluster Grids): Στόχος αυτής της κατηγορίας πλεγµάτων είναι η υψηλή ρυθµοαπόδοση. Είναι πιο στατικά σε σχέση µε τα πλέγµατα που περιγράφηκαν παραπάνω και συνήθως παρέχουν διαρκώς την ίδια υπηρεσία. Οι συστοιχίες από µόνες τους δεν µπορούν να θεωρηθούν ως πλέγµα αν δεν είναι διασυνδεδεµένες µε άλλες συστοιχίες. Ένα πλέγµα συστοιχιών είναι ο πιο απλός τύπος πλέγµατος και χρησιµοποιείται για την εκτέλεση υπολογισµών. Άλλοι τύποι πλεγµάτων, λιγότερο διαδεδοµένοι, είναι τα πλέγµατα εξοπλισµού (Equipment Grids) που ελέγχουν κάποιον εξοπλισµό και αναλύουν τα δεδοµένα που εξάγονται, και τα πλέγµατα αλληλεπίδρασης (Interaction Grids) που προσφέρουν υ- πηρεσίες αλληλεπίδρασης, όπως η ηλεκτρονική µάθηση. Ένας άλλος τρόπος κατηγοριοποίησης των πλεγµάτων µπορεί να γίνει µε βάση την γεωγραφική κατανοµή και την κυριότητα των πόρων. Έτσι, µπορεί να γίνει διάκριση σε πλέγµατα συστοιχιών, πλέγµατα επιχειρήσεων και πλέγµατα ευρείας κλίµακας (global-scale grids) [4]. Ένα πλέγµα συστοιχιών περιλαµβάνει πόρους που βρίσκονται σε µια τοποθεσία και ανήκουν σε έναν κάτοχο. Οι πόροι ενός πλέγµατος επιχειρήσεων βρίσκονται σε πολλαπλές τοποθεσίες, και τέλος ένα πλέγµα ευρείας κλίµακας περιλαµβάνει πόρους που ανήκουν σε διαφορετικούς οργανισµούς.
22 Κεφάλαιο 1: Εισαγωγή Σχήµα 1.1: Πιθανά µέρη ενός πλέγµατος υπολογιστών 1.3 Αρχιτεκτονική των πλεγµάτων Η αρχιτεκτονική ενός πλέγµατος είναι διαστρωµατωµένη. Αυτό σηµαίνει ότι υπάρχουν διάφορα επίπεδα και κάθε επίπεδο περιλαµβάνει διάφορα µέρη. Τα µέρη που αποτελούν ένα επίπεδο έχουν κοινά χαρακτηριστικά, και οι λειτουργίες ενός επιπέδου στηρίζονται στα χαρακτηριστικά των κατώτερων επιπέδων. Γενικά, ένα πλέγµα υπολογιστών αποτελείται από: (1) Υλικό, όπως επεξεργαστές, δίκτυα, αισθητήρες κ.α. (2) Λογισµικό για τη διαχείριση των δεδοµένων και για την πρόσβαση στους πόρους. (3) Εφαρµογές σε επίπεδο χρήστη οι οποίες είναι εξειδικευµένες. Στο σχήµα 1.2 απεικονίζεται η διαστρωµατωµένη αρχιτεκτονική ενός πλέγµατος, ό- που διακρίνονται τέσσερα επίπεδα µε τα σηµαντικότερα µέρη τους. Τη βάση αποτελούν τα δοµικά στοιχεία, στα οποία περιλαµβάνεται κυρίως το υλικό (υπολογιστές, δίκτυο και µονάδες αποθήκευσης). Εκτός από το υλικό, αυτό το επίπεδο περιλαµβάνει και το λογισµικό των πόρων αυτών, όπως είναι τα λειτουργικά συστήµατα που τρέχουν οι υπολογιστές. Το επόµενο επίπεδο είναι το κεντρικό λογισµικό διαµεσολάβησης (core middleware) που είναι υπεύθυνο για την ενοποίηση των κατανεµηµένων πόρων του πρώτου επιπέδου, για την ποιότητα της υπηρεσίας και για την ασφάλεια της πρόσβασης. Στο αµέσως υψηλότερο επίπεδο, το λογισµικό διαµεσολάβησης σε επίπεδο χρήστη περιλαµβάνει περιβάλλοντα ανάπτυξης εφαρµογών καθώς και τη διαχείριση πόρων. Το λογισµικό διαµεσολάβησης (middleware) διαδραµατίζει σηµαντι-
Κεφάλαιο 1: Εισαγωγή 23 κό ρόλο στα κατανεµηµένα συστήµατα γιατί συνδέει τα ετερογενή τους µέρη µε σκοπό τη δηµιουργία ενός λειτουργικού περιβάλλοντος. Υπάρχουν διάφορες εκδοχές λογισµικών διαµεσολάβησης, µε πιο γνωστά τα Globus Toolkit [5], glite [6] και UNI- CORE [7]. Τέλος, το ανώτατο επίπεδο περιλαµβάνει τις εφαρµογές των χρηστών. Επιστηµονικέςεφαρµογές, εφαρµογές βασισµένες στο web κ.α. ΕΦΑΡΜΟΓΕΣ Περιβάλλοντα ανάπτυξης και εργαλεία (γλώσσεςπρογραµµατισµού, βιβλιοθήκες), ιαχείριση πόρων (brokers) ΛΟΓΙΣΜΙΚΟ ΙΑΜΕΣΟΛΑΒΗΣΗΣ ΣΕ ΕΠΙΠΕ Ο ΧΡΗΣΤΗ Ενοποίησηκατανεµηµένωνπόρων, Ποιότηταυπηρεσίας, Ασφάλεια ΚΕΝΤΡΙΚΟ ΛΟΓΙΣΜΙΚΟ ΙΑΜΕΣΟΛΑΒΗΣΗΣ (core middleware) Υπολογιστές, ίκτυο, Μονάδες αποθήκευσης κ.α. ΟΜΙΚΑ ΣΤΟΙΧΕΙΑ Σχήµα 1.2: ιαστρωµατωµένη αρχιτεκτονική πλέγµατος 1.4 Χρονοδροµολόγηση εργασιών Λόγω των ιδιαίτερων χαρακτηριστικών ενός πλέγµατος υπολογιστών, υπάρχουν πολλά θέµατα στα οποία πρέπει να δοθεί προσοχή κατά το σχεδιασµό, όπως για παράδειγµα η αποτελεσµατική χρονοδροµολόγηση, η εξισορρόπηση του φόρτου, και η ασφάλεια. Στη χρονοδροµολόγηση εργασιών εµπλέκονται πολλές παράµετροι, γι αυτό και είναι µια απαιτητική εργασία. Έχει αποδειχτεί ότι το πρόβληµα της εύρεσης της βέλτιστης χρονοδροµολόγησης σε ετερογενή συστήµατα, είναι γενικά NP-hard [8]. Μια εφαρµογή που χρησιµοποιεί ένας χρήστης στο πλέγµα, µπορεί να παράγει πολλές εργασίες που αυτές µε τη σειρά τους µπορούν να αποτελούνται από µικρότερες διεργασίες. Οι χρονοδροµολογητές του πλέγµατος είναι υπεύθυνοι για την αποστολή κάθε εργασίας σε έναν πόρο. Η εύρεση των κατάλληλων πόρων για την εξυπηρέτηση των εργασιών πρέπει να γίνεται αυτόµατα από τους χρονοδροµολογητές και µε µεγάλη αποτελεσµατικότητα. Γενικά, οι αλγόριθµοι χρονοδροµολόγησης εργασιών πρέπει να αντιµετωπίσουν δύο διαφορετικά θέµατα, τη διάταξη στις ουρές (queue ordering) και την ανάθεση πόρων
24 Κεφάλαιο 1: Εισαγωγή (resource assignment). Η διάταξη στις ουρές έχει να κάνει µε τη σειρά σύµφωνα µε την οποία γίνεται η ανάθεση των εργασιών στους πόρους, και η ανάθεση πόρων έχει ως αντικείµενο την επιλογή των πόρων για κάθε εργασία. Σχετικά µε την ανάθεση πόρων, υπάρχουν αλγόριθµοι άµεσης χρονοδροµολόγησης (immediate mode) και αλγόριθµοι µαζικής χρονοδροµολόγησης (batch mode). Οι αλγόριθµοι άµεσης χρονοδροµολόγησης δροµολογούν τις εργασίες αµέσως µόλις φτάσουν στο σύστηµα [9]. Αντίθετα, οι αλγόριθµοι µαζικής χρονοδροµολόγησης δροµολογούν µια οµάδα εργασιών που περιµένουν στην ουρά του χρονοδροµολογητή [10]. Σε αυτή την διατριβή χρησιµοποιούµε αλγόριθµους και των δύο τύπων. 1.4.1 Φάσεις για τη χρονοδροµολόγηση εργασιών Η διαδικασία για τη χρονοδροµολόγηση εργασιών σε ένα πλέγµα περιλαµβάνει διάφορες φάσεις, µε κάθε φάση να αποτελείται από ένα σύνολο στοιχειωδών ενεργειών. Στην πρώτη φάση γίνεται η εύρεση πόρων, στη δεύτερη φάση γίνεται η επιλογή των πόρων, και στην τρίτη φάση πραγµατοποιείται η ανάθεση και η εξυπηρέτηση των εργασιών. Κατά τη φάση της εύρεσης πόρων, προσδιορίζονται οι πόροι που ικανοποιούν τις απαιτήσεις της εργασίας που πρέπει να εξυπηρετηθεί. Οι πόροι που δεν έχουν τα κατάλληλα χαρακτηριστικά αποκλείονται από τη δεύτερη φάση. Η εύρεση των κατάλληλων πόρων είναι µια απαιτητική διαδικασία λόγω του µεγάλου αριθµού των πόρων, που είναι ετερογενείς, και οι οποίοι µάλιστα δεν ανήκουν σε µια οντότητα µόνο. Έχουν προταθεί διάφορες προσεγγίσεις για την εύρεση πόρων. Ενδεικτικές ε- ρευνητικές εργασίες που ασχολούνται µε αυτό το πρόβληµα είναι οι [11], [12], [13]. Στη δεύτερη φάση, επιλέγεται ο πόρος ή οι πόροι από τους υποψήφιους της πρώτης φάσης, σύµφωνα µε κάποιο κριτήριο. Το κριτήριο αυτό µπορεί να είναι ο χρόνος ο- λοκλήρωσης της εξυπηρέτησης, η αξιοπιστία, το κόστος κ.α. Στην τρίτη και τελευταία φάση γίνεται η ανάθεση εργασιών στους πόρους, δηλαδή εφαρµόζεται στην πράξη η χρονοδροµολόγηση που έχει σχεδιαστεί. Μετά την ανάθεση, παρακολουθείται η πρόοδος της εξυπηρέτησης για τον εντοπισµό και την αντιµετώπιση πιθανών αποτυχιών. Στο σχήµα 1.3 συνοψίζονται οι φάσεις για τη χρονοδροµολόγηση εργασιών, µαζί µε τις σηµαντικότερες ενέργειες που περιλαµβάνει η κάθε φάση. Από τις ενέργειες που γίνονται για τη χρονοδροµολόγηση των εργασιών, είναι φανερό ότι η διαχείριση των πόρων του πλέγµατος (resource management) διαδραµατίζει πρωταρχικό ρόλο. Ο κύριος στόχος της διαχείρισης πόρων είναι η επίτευξη συµφωνίας µεταξύ του παρόχου και του χρήστη του πόρου.
Κεφάλαιο 1: Εισαγωγή 25 (1) Εύρεσηπόρων Καθορισµός απαιτήσεων εργασιών Αποκλεισµός πόρων που δεν ικανοποιούν τις απαιτήσεις (2) Επιλογήπόρων Συλλογή πληροφοριών για τους πόρους Επιλογή των κατάλληλων πόρων (3) Ανάθεση και εξυπηρέτηση Ανάθεση εργασιών στους πόρους Παρακολούθηση της επεξεργασίας Σχήµα 1.3: Οι σηµαντικότερες ενέργειες για τη χρονοδροµολόγηση εργασιών σε ένα πλέγµα 1.4.2 Τύποι και µοντέλα χρονοδροµολόγησης Στα πλέγµατα µπορούν να χρησιµοποιηθούν διάφοροι τύποι και µέθοδοι χρονοδρο- µολόγησης των εργασιών, ανάλογα µε τις απαιτήσεις των εφαρµογών και τα χαρακτηριστικά των συστηµάτων. Τα υπολογιστικά πλέγµατα είναι εκ φύσεως συστήµατα παράλληλης επεξεργασίας. Έτσι, είναι σηµαντικό οι εφαρµογές να είναι γραµµένες µε τέτοιο τρόπο ώστε να µπορούν να διαχωριστούν σε σχεδόν ανεξάρτητα µέρη. Αυτά τα µέρη µπορούν στη συνέχεια να δροµολογηθούν ανεξάρτητα. Για παράδειγµα µια εφαρµογή BoT (Bag-of-Tasks), αποτελείται από ανεξάρτητες διεργασίες και έτσι δεν απαιτείται συγκεκριµένη σειρά εξυπηρέτησης των διεργασιών. Στην εργασία [14] προτείνονται δύο αλγόριθµοι χρονοδροµολόγησης BoT εφαρµογών σε πλέγµατα, οι οποίοι χρησιµοποιούν την τεχνική των διπλότυπων διεργασιών (task duplication). Υπάρχουν επίσης επιστηµονικές εφαρµογές που ανήκουν στην κατηγορία των divisible load εφαρµογών [15], [16]. Ο φόρτος εργασίας αυτών των εφαρµογών µπορεί να διαιρεθεί σε κοµµάτια. Τα κοµµάτια µπορούν να εξυπηρετηθούν ανεξάρτητα χωρίς να απαιτείται συγχρονισµός. Αυτή η ιδιότητα κάνει αυτές τις εφαρµογές ιδανικές για ε- ξυπηρέτηση σε πλέγµατα που αποτελούνται από πολλαπλά κατανεµηµένα site. Μια άλλη κατηγορία εφαρµογών στο πλέγµα είναι αυτές που είναι οργανωµένες ως ροές εργασιών (Grid workflows). Οι εργασίες αυτές δεν είναι ανεξάρτητες καθώς υπάρχουν εξαρτήσεις για το συντονισµό και την ανταλλαγή δεδοµένων. Εποµένως, η ε- κτέλεση τέτοιων εφαρµογών στο πλέγµα είναι µια πολύπλοκη διαδικασία και πρέπει
26 Κεφάλαιο 1: Εισαγωγή να λαµβάνεται µέριµνα για πιθανές αποτυχίες διότι ένα µεµονωµένο λάθος µπορεί να προκαλέσει πρόβληµα σε ολόκληρη την ροή εργασιών. Ένα σύστηµα διαχείρισης ροής εργασιών σε πλέγµα παρουσιάζεται στην εργασία [17]. Εκτός από τις ροές εργασιών, υπάρχουν εργασίες που αποτελούνται από παράλληλες διεργασίες που πρέπει να επικοινωνούν συχνά µεταξύ τους (gangs). Οι διεργασίες αυτές εκτελούνται ταυτόχρονα σε διαφορετικούς επεξεργαστές. Για τη χρονοδροµολόγηση αυτών των εργασιών (gang scheduling) σε ένα πλέγµα, πρέπει να λαµβάνονται υπόψη το µέγεθός τους και τα χαρακτηριστικά του υπολογιστικού πόρου, γιατί η συχνή επικοινωνία καθίσταται δύσκολη έως αδύνατη στην περίπτωση αποµακρυσµένων επεξεργαστών. Στις ερευνητικές εργασίες [18], [19], [20] µελετάται η χρονοδροµολόγηση gangs σε κατανεµηµένα συστήµατα κάτω από διάφορες συνθήκες. Ο τρόπος µε τον οποίο εφαρµόζεται η χρονοδροµολόγηση των εργασιών σε ένα πλέγµα δεν εξαρτάται µόνο από το είδος των εφαρµογών, αλλά και από τη δοµή, την οργάνωση και το µέγεθος του συστήµατος πλέγµατος. Στα υπολογιστικά πλέγµατα, η χρονοδροµολόγηση των εργασιών εφαρµόζεται σε δύο επίπεδα: στο επίπεδο πλέγµατος (grid level) και στο τοπικό επίπεδο (local level). Στο επίπεδο πλέγµατος, ο χρονοδροµολογητής πλέγµατος (grid scheduler ή broker) επιλέγει τα κατάλληλα συστήµατα για τις εργασίες, και στο τοπικό επίπεδο, οι τοπικοί χρονοδροµολογητές που υπάρχουν στα συστήµατα αναθέτουν εργασίες σε συγκεκριµένους πόρους σύµφωνα µε µια πολιτική. Ο χρονοδροµολογητής πλέγµατος λειτουργεί ως µεσολαβητής µεταξύ των χρηστών και του συνόλου των πόρων, αποτελώντας σηµείο υποβολής εργασιών. Α- ποστέλλει τις εργασίες σε έναν ή περισσότερους πόρους για να εξυπηρετηθούν. Παρέχει µια απλοποιηµένη άποψη για τους πόρους, και έτσι ο χρήστης δε χρειάζεται να γνωρίζει συγκεκριµένα πολύπλοκα χαρακτηριστικά των πόρων. Αποφασίζει σε ποιον πόρο θα ανατεθεί µια εργασία µε βάση κάποιο κριτήριο διαχείρισης πόρων, όπως είναι η εξισορρόπηση του φόρτου, η µεγιστοποίηση της χρησιµοποίησης των πόρων κ.α. Οι χρονοδροµολογητές, πλέγµατος και τοπικοί, απαρτίζουν ένα πλαίσιο χρονοδρο- µολόγησης που µπορεί να είναι κεντρικοποιηµένο ή αποκεντρωµένο [21]. Η διαφορά βρίσκεται στον έλεγχο των πόρων και στη γνώση για το σύστηµα. Στην περίπτωση της κεντρικοποιηµένης χρονοδροµολόγησης, ο χρονοδροµολογητής παρακολουθεί την κατάσταση των πόρων και έτσι έχει γνώση για το σύστηµα [22], [23], [24]. Το µειονέκτηµα ενός κεντρικοποιηµένου µοντέλου είναι η περιορισµένη επεκτασιµότητα. Ένας µοναδικός χρονοδροµολογητής δεν µπορεί να ελέγχει τεράστιο αριθµό πόρων, µε αποτέλεσµα αυτό το µοντέλο χρονοδροµολόγησης να είναι ακατάλληλο για πλέγµατα ευρείας κλίµακας. Η πιο συνηθισµένη αποκεντρωµένη αρχιτεκτονική είναι η ιεραρχική [25], η οποία περιλαµβάνει έναν χρονοδροµολογητή πλέγµατος, πολλούς κατανεµηµένους τοπικούς χρονοδροµολογητές, και πολλούς υπολογιστικούς πόρους. Οι χρονοδροµολογητές του κατώτερου επιπέδου, δηλαδή οι τοπικοί, έχουν άµεση πληροφορία για τους πόρους. Η ιεραρχική οργάνωση των χρονοδροµολογητών προσφέρει καλύτερη επεκτασιµότητα από την κεντρικοποιηµένη. Βέβαια, όταν υπάρχει µόνο ένας χρονοδροµολογητής πλέγµατος, το µοντέλο είναι κεντρικοποιηµένο ως
Κεφάλαιο 1: Εισαγωγή 27 προς αυτόν. Σε ένα αποκεντρωµένο µοντέλο ως προς τη χρονοδροµολόγηση πλέγµατος, οι χρονοδροµολογητές πλέγµατος συνεργάζονται µεταξύ τους για να ανακαλύψουν το κατάλληλο σύστηµα για να εξυπηρετήσει µια εργασία [26], [27]. Αυτός ο τύπος οργάνωσης της χρονοδροµολόγησης είναι ο πιο κατάλληλος για πλέγµατα ευρείας κλίµακας. 1.5 Συνεισφορά της διατριβής Η παρούσα διατριβή πραγµατεύεται τη µελέτη της απόδοσης µεθόδων ανάθεσης εργασιών σε πόρους ενός υπολογιστικού πλέγµατος. Αναπτύχθηκαν προγράµµατα προσοµοίωσης συστηµάτων διαφόρων µεγεθών και υπολογιστικής ικανότητας. Όλα τα συστήµατα έχουν ιεραρχική δοµή δύο επιπέδων. Στο ανώτερο επίπεδο, ο χρονοδροµολογητής πλέγµατος δροµολογεί τις εργασίες στα site, και στο κατώτερο επίπεδο, ο τοπικός χρονοδροµολογητής σε κάθε site αναλαµβάνει την ανάθεση των εισερχόµενων εργασιών σε συγκεκριµένους επεξεργαστές για εξυπηρέτηση. Το ενδιαφέρον εστιάζεται και στα δύο επίπεδα, αφού η απόδοση της χρονοδροµολόγησης του ενός επιπέδου επηρεάζει το άλλο. Ως προς την απόδοση, κύριοι στόχοι είναι η µείωση της καθυστέρησης των εργασιών στο σύστηµα και η εξισορρόπηση του φόρτου µεταξύ των site ανάλογα µε την υπολογιστική τους ικανότητα. Επίσης, εξετάζεται η συµπεριφορά πολιτικών χρονοδροµολόγησης εργασιών όχι µόνο ως προς την απόδοση, αλλά και ως προς την κατανάλωση ενέργειας στο σύστηµα. Να επισηµάνουµε εδώ ότι σε αυτή την διατριβή θεωρούµε ότι οι έννοιες ανάθεση εργασιών σε πόρους και ανάθεση πόρων σε εργασίες είναι ισοδύναµες, και χρησιµοποιούνται και οι δύο. Η έννοια της ανάθεσης εργασιών σε πόρους αναφέρεται στη διαχείριση και εξυπηρέτηση των εργασιών, ενώ η έννοια της ανάθεσης πόρων αναφέρεται στη χρησιµοποίηση και διαχείριση των πόρων του συστήµατος. Οι κυριότερες συνεισφορές της διατριβής συνοψίζονται στα εξής: 1. Προτείνεται και αξιολογείται µια υβριδική πολιτική ανάθεσης site, η οποία χρησιµοποιεί δυναµική πληροφορία για το φόρτο σε κάθε site. Η δροµολόγηση γίνεται είτε άµεσα και µε πιθανότητα, είτε αναβάλλεται για να χρησιµοποιηθεί η πληροφορία για την κατάσταση των site µε στόχο την επιλογή αυτού µε τον µικρότερο φόρτο. Η επιλογή της µεθόδου εξαρτάται από το χρόνο άφιξης της εργασίας στον χρονοδροµολογητή πλέγµατος. 2. Μελετάται η απόδοση της χρονοδροµολόγησης σε ένα πλέγµα δύο επιπέδων και ο τρόπος µε τον οποίο αυτή επηρεάζεται από τη µεταβλητότητα των απαιτήσεων εξυπηρέτησης των εργασιών. Εξετάζονται διάφορα επίπεδα µεταβλητότητας και διαφορετικοί συνδυασµοί πολιτικών (τοπικές και σε επίπεδο πλέγµατος).
28 Κεφάλαιο 1: Εισαγωγή 3. Προτείνονται νέες πολιτικές ανάθεσης εργασιών σε site, µε στόχο τη µείωση της συνολικής επιβάρυνσης που προκαλείται στο δίκτυο από τη µετάδοση δυναµικής πληροφορίας για το φόρτο από τα site στον χρονοδροµολογητή πλέγ- µατος. Η αποτελεσµατικότητα της εξισορρόπησης του φόρτου αξιολογείται µε τον ορισµό και χρήση µετρικής που δείχνει τη χρησιµοποίηση για κάθε κλάση site σε ένα σύστηµα µε ετερογενή site. 4. Προτείνεται µια υβριδική πολιτική ανάθεσης site στην περίπτωση που ο χρονοδροµολογητής πλέγµατος έχει πληροφορία για τις απαιτήσεις εργασιών. Οι τελευταίες παρουσιάζουν υψηλή µεταβλητότητα. Η µέθοδος ανάθεσης των εργασιών εξαρτάται από τις υπολογιστικές απαιτήσεις τους. 5. Μελετάται η απόδοση και η κατανάλωση ενέργειας σε µια συστοιχία που αποτελείται από ετερογενείς εξυπηρετητές (µέρος ενός πλέγµατος). Προτείνονται τρεις διαφορετικές πολιτικές ανάθεσης που εφαρµόζονται από τον χρονοδροµολογητή της συστοιχίας και εκµεταλλεύονται την ύπαρξη διαφορετικών τύπων επεξεργαστών. Εξάγονται συµπεράσµατα για την επιβάρυνση στην απόδοση όταν χρησιµοποιείται πολιτική ανάθεσης για εξοικονόµηση ενέργειας, και αντιστρόφως, εξάγονται συµπεράσµατα για την επιβάρυνση στην κατανάλωση ε- νέργειας όταν χρησιµοποιείται πολιτική βελτιστοποιηµένη για υψηλή επίδοση. 1.6 ιάρθρωση της διατριβής Στο δεύτερο κεφάλαιο αποτιµάται η απόδοση διάφορων πολιτικών ανάθεσης πόρων σε επίπεδο πλέγµατος και σε τοπικό επίπεδο, σε ένα υπολογιστικό πλέγµα που αποτελείται από τέσσερα site. Σε επίπεδο πλέγµατος προτείνεται µια υβριδική πολιτική που εφαρµόζεται από τον χρονοδροµολογητή πλέγµατος του συστήµατος, η οποία χρησι- µοποιεί πληροφορία για το φόρτο σε κάθε site, και αναθέτει site σε εργασίες συνδυάζοντας δύο απλούστερες πολιτικές µε σκοπό την εκµετάλλευση των πλεονεκτηµάτων της κάθε µιας. Οι εργασίες που υποβάλλονται σε ένα πλέγµα συνήθως έχουν διαφορετικές απαιτήσεις εξυπηρέτησης. Στο τρίτο κεφάλαιο εξετάζεται η επίδραση που έχει στην απόδοση η µεταβλητότητα των απαιτήσεων εξυπηρέτησης σε ένα υπολογιστικό πλέγµα δύο επιπέδων, µε δεδοµένο ότι οι χρονοδροµολογητές δεν γνωρίζουν το χρόνο εξυπηρέτησης κάθε εργασίας. Προσοµοιώνονται δύο διαφορετικά µοντέλα για το σύστηµα, ένα απλό και ένα µεγαλύτερου µεγέθους µε ετερογενή site. Εξετάζονται δύο πολιτικές χρονοδροµολόγησης σε επίπεδο πλέγµατος, οι οποίες κάνουν χρήση πληροφορίας για το φόρτο σε κάθε site, και τρεις πολιτικές σε τοπικό επίπεδο. Στο τέταρτο κεφάλαιο αξιολογείται η απόδοση τριών διαφορετικών πολιτικών ανάθεσης site σε ένα υπολογιστικό πλέγµα. Όλες οι πολιτικές χρησιµοποιούν δυναµική
Κεφάλαιο 1: Εισαγωγή 29 πληροφορία για το φόρτο από τα site, ενώ ο στόχος των δύο εξ αυτών είναι η µείωση της διακίνησης δεδοµένων στο δίκτυο, που προκαλείται από την αποστολή της πληροφορίας για το φόρτο. Ταυτοχρόνως δίνεται προσοχή στον µέσο χρόνο απόκρισης των εργασιών και στην εξισορρόπηση του φόρτου µεταξύ των site. Στο πέµπτο κεφάλαιο προτείνεται µια πολιτική ανάθεσης site που εφαρµόζεται στην περίπτωση που οι χρονοδροµολογητές γνωρίζουν τις απαιτήσεις εξυπηρέτησης των εργασιών και κάνουν τη δροµολόγηση µε βάση αυτές. Η πολιτική αυτή είναι υβριδική και µοιάζει σε κάποια σηµεία µε αυτήν που προτείνεται στο δεύτερο κεφάλαιο της διατριβής. Συγκρίνεται ως προς την απόδοση µε άλλες δύο πολιτικές ανάθεσης site. Οι απαιτήσεις εξυπηρέτησης των εργασιών εµφανίζουν υψηλή µεταβλητότητα, πράγ- µα που σηµαίνει ότι υπάρχουν εργασίες που απαιτούν πολύ περισσότερο χρόνο σε σχέση µε άλλες. Εξετάζεται επίσης η χρήση εκτιµήσεων για τις απαιτήσεις εξυπηρέτησης των εργασιών, γιατί πρακτικά δεν είναι δυνατή η ακριβής γνώση των χρόνων εξυπηρέτησης. Η λειτουργία των πολιτικών επηρεάζεται από διάφορες παραµέτρους εισόδου. Έτσι, έγιναν επιπρόσθετες προσοµοιώσεις για τη µελέτη της επίδρασης των παραµέτρων εισόδου στην απόδοση. Η απόδοση της χρονοδροµολόγησης των εργασιών σε ένα πλέγµα είναι πολύ σηµαντική, αλλά επίσης σηµαντική είναι και η κατανάλωση ενέργειας στο σύστηµα η ο- ποία µπορεί να θεωρηθεί ως ένα µέτρο ποιότητας της υπηρεσίας. Στο έκτο κεφάλαιο, εκτός από την απόδοση, λαµβάνεται υπόψη και η κατανάλωση ενέργειας. Εξετάζονται τρεις τοπικές πολιτικές ανάθεσης πόρων που βασίζονται στην Shortest Queue, σε µια συστοιχία µε ετερογενείς εξυπηρετητές. ύο από τις πολιτικές που εξετάζονται είναι βελτιστοποιηµένες για απόδοση, ενώ η τρίτη είναι βελτιστοποιηµένη για εξοικονόµηση ενέργειας. Οι χρόνοι εξυπηρέτησης των εργασιών είναι άγνωστοι στον χρονοδροµολογητή, και στη συστοιχία υπάρχουν δύο τύποι επεξεργαστών µε διαφορετικά χαρακτηριστικά ως προς την υπολογιστική ισχύ και την κατανάλωση ενέργειας. Στόχος είναι η αποτίµηση της απόδοσης και της ενεργειακής συµπεριφοράς των πολιτικών. Στο έβδοµο και τελευταίο κεφάλαιο συνοψίζονται τα συµπεράσµατα της διατριβής και καταγράφονται ενδιαφέροντα θέµατα για περαιτέρω έρευνα.
30 Κεφάλαιο 1: Εισαγωγή
31 Κεφάλαιο 2 Πολιτικές ανάθεσης πόρων σε πλέγμα με ιεραρχική δομή δύο επιπέδων 2.1 Εισαγωγή Το ιεραρχικό µοντέλο χρονοδροµολόγησης εργασιών είναι αρκετά διαδεδοµένο στα υπολογιστικά πλέγµατα. Μια αρχιτεκτονική χρονοδροµολόγησης που είναι οργανω- µένη ιεραρχικά, περιλαµβάνει οντότητες που ανήκουν σε διαφορετικά επίπεδα. Για παράδειγµα στην εργασία [28], παρουσιάζεται ένα γενικό ιεραρχικό µοντέλο σε µορφή δέντρου µε τέσσερα επίπεδα (grid, cluster, site, computing elements). Η ιεραρχική χρονοδροµολόγηση εργασιών λαµβάνει µέρος σε πολλαπλά επίπεδα. Ιεραρχικές στρατηγικές χρονοδροµολόγησης σε πλέγµατα, περιγράφονται στην ερευνητική εργασία [29], όπου παρουσιάζονται πολιτικές χρονοδροµολόγησης δύο επιπέδων. Το πρώτο επίπεδο περιλαµβάνει πολιτικές επιλογής πόρων και εργασιών, ενώ το δεύτερο επίπεδο περιλαµβάνει τοπικές πολιτικές χρονοδροµολόγησης. Σε ένα ιεραρχικό µοντέλο, ο χρονοδροµολογητής πλέγµατος αποστέλλει εργασίες σε διαφορετικά site και οι τοπικοί δροµολογητές αποστέλλουν τις εργασίες σε πόρους προς επεξεργασία. Για τη δροµολόγηση µιας εργασίας σε ένα site, ο χρονοδροµολογητής πλέγµατος µπορεί να χρησιµοποιήσει πληροφορία σχετικά µε την κατάσταση σε ένα site έτσι ώστε η επιλογή να είναι η καταλληλότερη. Αυτή η πληροφορία µπορεί να βασίζεται σε στατικά ή δυναµικά χαρακτηριστικά των site [30]. Τα στατικά χαρακτηριστικά δεν µεταβάλλονται, όπως για παράδειγµα ο αριθµός των επεξεργαστών. Τα δυναµικά χα-