Abstract Ορισµός του Grid Κατηγορίες συστηµάτων Grid Αρχιτεκτονική Συστατικά του Grid...17

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Abstract Ορισµός του Grid Κατηγορίες συστηµάτων Grid Αρχιτεκτονική Συστατικά του Grid...17"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Επεξεργασία στο Grid Έννοιες, θέµατα, προσεγγίσεις, εφαρµογές και προοπτικές Μεταπτυχιακή ιατριβή ΙΩΑΝΝΟΥ ΕΛΛΗ Πτυχιούχος Πληροφορικής Επιβλέπουσα καθηγήτρια: Θεσσαλονίκη, Ιανουάριος 2009 Καρατζά Ελένη

2 Πρόλογος Σε αυτό το σηµείο θα ήθελα να ευχαριστήσω την επιβλέπουσα καθηγήτρια κυρία Καρατζά Ελένη, για την πολύτιµη υποστήριξη και καθοδήγηση κατά την εκπόνηση της παρούσας µεταπτυχιακής διατριβής. Τέλος, θα ήθελα να αφιερώσω εξαιρετικά αυτήν την εργασία στους γονείς µου και στον αδερφό µου. Ιωάννου Έλλη, Θεσσαλονίκη, Ιανουάριος

3 Περιεχόµενα Πρόλογος...2 Περιεχόµενα...3 Περίληψη...5 Abstract...6 Α ΜΕΡΟΣ...7 Κεφάλαιο 1. Εισαγωγή στα συστήµατα Grid Ορισµός του Grid Βασικά χαρακτηριστικά Οι χρήστες του Grid Βασικές χρήσεις Κατηγορίες συστηµάτων Grid Αρχιτεκτονική Το πρόβληµα του Grid Εικονικοί Οργανισµοί (Virtual Organizations) Μοντέλο Αρχιτεκτονικής Συστατικά του Grid...17 Κεφάλαιο 2. Χρονοδροµολόγηση Συστήµατα Χρονοδροµολόγησης Στάδια Χρονοδροµολόγησης...23 Πρώτη Φάση: Ανακάλυψη Πόρων...24 εύτερη Φάση: Επιλογή Συστήµατος...25 Τρίτη Φάση: Εκτέλεση Εργασίας...25 Κεφάλαιο 3. Τεχνολογίες The Globus Toolkit Web Services The Open Grid Services Architecture...31 Β ΜΕΡΟΣ...32 Κεφάλαιο 4. Πόροι Είδη Πόρων Ανακάλυψη Πόρων Επιλογή Πόρων Κατανοµή πόρων ιαµοιρασµός Πόρων Μοντέλα για την ιαχείριση Πόρων Ιεραρχική ιαχείριση Πόρων Μοντέλο Abstract Owner...50

4 4.6.3 Μοντέλο Αγοράς...52 Κεφάλαιο 5. Ασφάλεια στα συστήµατα Grid Οι προκλήσεις στην ασφάλεια του Grid Απαιτήσεις ασφάλειας Μοντέλα ασφάλειας Το µοντέλο GT Μοντέλο ασφάλειας GT3 για την αρχιτεκτονική OGSA Αρχιτεκτονικές Ασφάλειας Αρχιτεκτονική Ασφάλειας για Ανοιχτές Υπηρεσίες του Grid Υποδοµή ασφάλειας GSI (Grid Security Infrastructure) Η Αρχιτεκτονική Ασφάλειας Legion Αρχιτεκτονική Ασφάλειας Globe CRISIS Αξιολόγηση των Αρχιτεκτονικών Ασφάλειας...71 Κεφάλαιο 6. Προγραµµατισµός στο Grid Ιδιότητες Προγραµµατιστικών Μοντέλων Προγραµµατιστικά εργαλεία Περιβάλλοντα Προγραµµατισµού Εφαρµογών στο Grid Χαρακτηριστικά Υπάρχοντα Προγραµµατιστικά Περιβάλλοντα στο Grid...82 The Grid Application Toolkit, GAT...82 GridBus broker...84 Κεφάλαιο 7. Η Οικονοµία στο Grid Υπολογιστική Οικονοµία Αξιολόγηση αναγκών Αρχιτεκτονική Grid για την Υπολογιστική Οικονοµία Οικονοµικά Μοντέλα...92 Μοντέλο ηµοσιευµένης Τιµής...94 Μοντέλο ιαπραγµατεύσεων...95 Μοντέλο Υποβολής Χρηµατικών Προσφορών...96 Αναλογικό Μοντέλο ιαµοιρασµού Πόρων βάσει Προσφορών Μοντέλο Μονοπωλίου / Ολιγοπωλίου Επίλογος Βιβλιογραφία

5 Περίληψη Στην παρούσα εργασία γίνεται µία µελέτη των τεχνολογιών, της ανάπτυξης εφαρµογών αλλά και των υπηρεσιών που παρέχουν τα συστήµατα Grid. Ένα σύστηµα Grid, αποτελείται από πολλά υπολογιστικά συστήµατα, τα οποία είναι διασυνδεδεµένα µεταξύ τους µε σκοπό να κάνουν συντονισµένη και από κοινού χρήση πόρων, καθώς και για να συνεισφέρουν στην επίλυση προβληµάτων σε δυναµικούς εικονικούς οργανισµούς. Η ανερχόµενη αυτή τεχνολογία, προέρχεται από την ερευνητική περιοχή των Κατανεµηµένων Συστηµάτων και αναµένεται, ότι οι εφαρµογές που στηρίζονται στην τεχνολογία Grid, θα αποκτήσουν σηµαντική εµπορική αξία στο µέλλον. Στόχος αυτής της µελέτης, είναι να παρουσιάσει τα βασικά χαρακτηριστικά και τις δυνατότητες που προσφέρουν τα συστήµατα Grid. Η βασική τους λειτουργία βασίζεται στην σύζευξη πολυάριθµων γεωγραφικά κατανεµηµένων πόρων µε σκοπό να προσφέρουν υπολογιστική υποστήριξη σε µία ευρεία ποικιλία εφαρµογών. Οι προηγµένες υπολογιστικές και δικτυακές τεχνολογίες συνεισφέρουν στον διαφανή, ευέλικτο και ασφαλή διαµοιρασµό δεδοµένων και πόρων σε παγκόσµιο επίπεδο. Η εργασία αποτελείται από δύο µέρη. Στο πρώτο µέρος γίνεται µία εισαγωγή στις βασικές έννοιες των συστηµάτων Grid (Κεφάλαιο 1), περιγράφεται η διαδικασία της χρονοδροµολόγησης και τα στάδια αυτής (Κεφάλαιο 2) και παρουσιάζονται οι βασικές τεχνολογίες του Grid (Κεφάλαιο 3). Στο δεύτερο µέρος γίνεται µία εισαγωγή στους πόρους και στις λειτουργίες τους (Κεφάλαιο 4), παρουσιάζονται τα θέµατα ασφάλειας του Grid, καθώς και τα µοντέλα και οι αρχιτεκτονικές που χρησιµοποιούνται (Κεφάλαιο 5), περιγράφονται τα βασικά χαρακτηριστικά του προγραµµατισµού εφαρµογών στο Grid, αναφέρονται προγραµµατιστικά εργαλεία, µοντέλα και περιβάλλοντα (Κεφάλαιο 6) και τέλος γίνεται µία προσέγγιση στα οικονοµικά θέµατα του Grid, της αρχιτεκτονικής και των µοντέλων που χρησιµοποιούνται (Κεφάλαιο 7). 5

6 Abstract This work studies the technologies, development of applications and the services provided by Grid systems. A Grid system consists of multiple computational systems which are interconnected with each other in order to share and make use of resources with a coordinated way, as well as to contribute in solving problems among dynamic virtual organizations. This emerging technology arises from the research field of Distributed Systems and the applications based on Grid technology are expected to gain significant commercial value. The goal of this work is to present the main features and the capabilities provided by Grid systems. Their key operation is based on multiple geographically distributed resources coupled together, in order to provide computational support in a wide variety of applications. The advanced computing and network technologies support the transparent, flexible and secure sharing of data and resources, globally. This work consists of two parts. In the first part, there is a general introduction to the basic terms of Grid systems (Chapter 1), in (Chapter 2) there is a description of the scheduling process and the stages of the process that are included, and (Chapter 3) presents the main Grid technologies. In the second part, there is an introduction to the resources and their operations (Chapter 4), furthermore the Grid security issues are presented, as well as the models and architectures which are adopted (Chapter 5). Afterwards, there is an overview of the main characteristics of Grid programming applications, followed by a reference to the programming tools, models and environments, which are used (Chapter 6). Finally, there is an approach in Grid economic issues as well as the architecture and the models which are adopted (Chapter 7). 6

7 Α ΜΕΡΟΣ 7

8 Κεφάλαιο 1. Εισαγωγή στα συστήµατα Grid 1.1 Ορισµός του Grid Ο όρος Grid επινοήθηκε στα µέσα της δεκαετίας του 1990 για να περιγράψει µια προτεινόµενη, κατανεµηµένη, υπολογιστική υποδοµή για τις εξελιγµένες επιστήµες και την εφαρµοσµένη µηχανική. Το Grid ορίζεται ως ένα σύστηµα το οποίο συντονίζει κατανεµηµένους πόρους χρησιµοποιώντας ανοικτά, καθιερωµένα πρωτόκολλα γενικού σκοπού καθώς και διεπαφές, µε σκοπό να προσφέρει εξελιγµένες υπηρεσίες. [1] Η ανάπτυξη της υποδοµής του Grid, ως προς το λογισµικό µέρος αλλά και το υλικό, έχει προσελκύσει το ενδιαφέρον πολλών ερευνητών αλλά και προγραµµατιστών και δηµιουργήθηκε µε σκοπό: να βελτιώσει τη διαχείριση των κατανεµηµένων πόρων, καθώς και να εξασφαλίσει τον πλήρη έλεγχο στους τοπικά διαχειριζόµενους πόρους. να αυξήσει την διαθεσιµότητα των δεδοµένων και να επισηµάνει τα προβλήµατα και τις λύσεις σχετικά µε τους τρόπους πρόσβασης σε αυτά τα δεδοµένα. να παρέχει στους ερευνητές ένα ενιαίο περιβάλλον φιλικό προς τον χρήστη, το οποίο επιτρέπει την πρόσβαση σε µία ευρύτερη ποικιλία κατανεµηµένων υπηρεσιών µε σκοπό να αυξηθεί η παραγωγικότητα. Η εικόνα 1 παρουσιάζει τις δραστηριότητες ενός ευέλικτου περιβάλλοντος Grid. Οι πόροι καταχωρούνται σε µία ή περισσότερες Υπηρεσίες Πληροφοριών (Grid Information Services). Οι τελικοί χρήστες υποβάλλουν τις αιτήσεις τους για µία εφαρµογή στον Μεσολαβητή Πόρων του Grid (Grid Resource Broker) ο οποίος µε την σειρά του εντοπίζει τους κατάλληλους πόρους, εξετάζοντας τις Υπηρεσίες Πληροφοριών. Στη συνέχεια προγραµµατίζει την εκτέλεση των εργασιών πάνω στους επιλεγµένους πόρους, και επιβλέπει την πρόοδο τους, µέχρι να ολοκληρωθεί. 8

9 Εικόνα 1. Ένα παγκόσµιο υπολογιστικό περιβάλλον Grid. [2] Τα περιβάλλοντα Grid περιλαµβάνουν υπηρεσίες ασφάλειας, πληροφοριών, καταλόγου (directory), κατανοµής πόρων, ανάπτυξης εφαρµογών, διαχείρισης της εκτέλεσης εργασιών, συλλογής πόρων και χρονοδροµολόγησης. Τα υλικά λογισµικού και οι υπηρεσίες, τα οποία είναι γνωστά και ως ενδιάµεσο λογισµικό (middleware), παρέχουν αυτές τις δυνατότητες µε σκοπό να συνδυάσουν τις υπολογιστικές δυνατότητες µε τους πόρους δεδοµένων, ώστε να προσφέρουν κατανεµηµένη ανάλυση και συνεργασία [2]. Οι τεχνολογίες και τα συστήµατα του Grid παρέχουνε την υποδοµή και τα εργαλεία για την ασφαλή και άµεση διανοµή των πόρων. Η υποδοµή είναι µια τεχνολογία η οποία παρέχεται στον χρήστη ως δεδοµένη όταν εκτελεί τις εργασίες του. Μία υποδοµή Grid, θα πρέπει να παρέχει περισσότερες λειτουργίες από το Internet στο οποίο στηρίζεται, καθώς και νέες υπηρεσίες που απευθύνονται σε θέµατα πιστοποίησης, ανακάλυψης πόρων και πρόσβασης σε αυτούς, ενώ ταυτόχρονα θα πρέπει να είναι απλή. Τα εργαλεία στηρίζονται στις υπηρεσίες της υποδοµής για να παρέχουν νέους τρόπους λειτουργίας. Τα εργαλεία του Grid, ασχολούνται µε θέµατα ανακάλυψης πόρων, διαχείρισης δεδοµένων, χρονοδροµολόγησης υπολογισµών, θέµατα ασφάλειας κλπ. [3]. 9

10 1.1.1 Βασικά χαρακτηριστικά Έχουν οριστεί δέκα βασικά χαρακτηριστικά τα οποία πρέπει να έχει ένα σύστηµα Grid. Αυτά τα χαρακτηριστικά µπορούν να περιγραφούν όπως φαίνεται παρακάτω: 1. Μεγάλη κλίµακα (Large-scale): Ένα Grid θα πρέπει να είναι ικανό να χειριστεί ένα σύνολο πόρων που µπορεί να εκτείνεται από ελάχιστους µέχρι και εκατοµµύρια. Σε αυτή την περίπτωση µπορεί να προκύψει ένα σοβαρό πρόβληµα, ενδέχεται να µειωθεί η απόδοση καθώς αυξάνεται το µέγεθος του Grid. 2. Γεωγραφική κατανοµή: Οι πόροι του Grid µπορεί να βρίσκονται σε αποµακρυσµένες τοποθεσίες (sites). 3. Ετερογένεια: Ένα Grid περιλαµβάνει πόρους λογισµικού και υλικού ευρείας ποικιλίας που µπορεί να είναι δεδοµένα, αρχεία, προγράµµατα λογισµικού, επιστηµονικά όργανα, οθόνες, προσωπικές ψηφιακές ατζέντες, υπολογιστές, υπέρ-υπολογιστές ή δίκτυα. 4. ιαµοιρασµός πόρων: Οι πόροι ανήκουν σε πολλούς διαφορετικούς οργανισµούς οι οποίοι επιτρέπουν σε άλλους οργανισµούς (π.χ. χρήστες) να έχουν πρόσβαση σε αυτούς. 5. Πολυάριθµες διοικήσεις: Κάθε οργανισµός µπορεί να ορίσει διαφορετικές πολιτικές ασφάλειας και διοίκησης για την πρόσβαση και την χρήση των πόρων του. Αυτό έχει ως αποτέλεσµα να εντείνονται τα προβλήµατα στην ασφάλεια των δικτύων καθώς θα πρέπει να λαµβάνουν υπόψη όλες αυτές τις διαφορετικές πολιτικές. 6. Συντονισµός πόρων: Οι πόροι σε ένα σύστηµα Grid θα πρέπει να συντονίζονται έτσι ώστε να παρέχουν όλες τις υπολογιστικές δυνατότητες. 7. ιαφανής πρόσβαση: Το Grid θα πρέπει να θεωρείται ένας ενιαίος εικονικός υπολογιστής. 8. Αξιόπιστη πρόσβαση: Ένα Grid θα πρέπει να διασφαλίζει την παροχή υπηρεσιών σύµφωνα µε καθιερωµένες απαιτήσεις ποιότητας QoS (Quality of Service). Η ανάγκη για αξιόπιστες υπηρεσίες είναι βασική, δεδοµένου ότι οι χρήστες απαιτούν εγγυήσεις ότι θα λάβουν τις προβλεπόµενες, υψηλών αποδόσεων υπηρεσίες. 9. Συνεπής πρόσβαση: Η κατασκευή ενός συστήµατος Grid θα πρέπει να βασίζεται σε καθιερωµένες υπηρεσίες, πρωτόκολλα και διεπαφές µε τέτοιο τρόπο ώστε να µην είναι εµφανής η ετερογένεια του, ενώ θα πρέπει να υπάρχει η δυνατότητα επέκτασης. 10

11 10. Κατανεµηµένη πρόσβαση: Το Grid θα πρέπει να επιτρέπει την πρόσβαση στους διαθέσιµους πόρους. Αυτό δεν σηµαίνει ότι οι πόροι είναι διαθέσιµοι σε όλους τους χρήστες, αλλά ότι το Grid θα πρέπει να καταφέρνει να αποσπάσει την καλύτερη δυνατή απόδοση από τους διαθέσιµους πόρους. [4] Οι χρήστες του Grid Grid developers (Σχεδιαστές συστηµάτων Grid): Οι σχεδιαστές των συστηµάτων είναι υπεύθυνοι για την υλοποίηση και την ανάπτυξη των βασικών υπηρεσιών του Grid. Tool developers (Σχεδιαστές εργαλείων): Οι σχεδιαστές εργαλείων σχεδιάζουν τα εργαλεία του Grid, όπως για παράδειγµα τους µεταγλωττιστές και τις ψηφιακές βιβλιοθήκες καθώς και όλα τα προγραµµατιστικά µοντέλα και τις υπηρεσίες που χρησιµοποιούν οι προγραµµατιστές εφαρµογών. Application developers (Σχεδιαστές εφαρµογών): Οι σχεδιαστές εφαρµογών σχεδιάζουν και αναπτύσσουν τις εφαρµογές που εκτελούνται στις υποδοµές του Grid. End Users (Τελικοί χρήστες ή χρήστες εφαρµογών): Οι χρήστες εκµεταλλεύονται τις εφαρµογές που τους παρέχει το Grid, καθώς και τους πόρους και τις υπηρεσίες. Επίσης, οι τελικοί χρήστες θέτουν αυστηρές απαιτήσεις για τα εργαλεία που χρησιµοποιούν ως προς την αξιοπιστία, την ικανότητα πρόβλεψης, την εµπιστευτικότητα και την ευχρηστία αυτών. System administrators ( ιαχειριστές συστηµάτων): Η τελευταία οµάδα χρηστών, οι διαχειριστές συστηµάτων, είναι υπεύθυνοι για την διαχείριση των υποδοµών, στις οποίες λειτουργούν τα υπολογιστικά grids. Το καθήκον τους είναι πολύπλοκο λόγω του µεγάλου βαθµού διαµοιρασµού που παρέχεται από αυτά τα συστήµατα. [5] Βασικές χρήσεις Το Grid είναι µία υποδοµή που δεσµεύει και ενώνει διάφορους, παγκόσµια κατανεµηµένους πόρους µε σκοπό να προσφέρει υπολογιστική υποστήριξη σε µία ευρεία ποικιλία εφαρµογών. Είναι σηµαντικό να αναφερθεί το γεγονός, ότι οι χρήσεις του Grid ορίζονται µε βάση την υποστήριξη που παρέχουν στις εφαρµογές και όχι µε βάση τις ίδιες τις εφαρµογές. 11

12 Τα διαφορετικά είδη υπολογιστικής υποστήριξης που προσφέρει το Grid, µπορούν να ταξινοµηθούν σε κατηγορίες σύµφωνα µε τις προκλήσεις που παρουσιάζουν από την άποψη της αρχιτεκτονικής. Οι κατηγορίες είναι οι παρακάτω: Οι κατανεµηµένοι υπέρ-υπολογισµοί, επιτρέπουν στις εφαρµογές να χρησιµοποιούν τα grids, για να συζεύξουν υπολογιστικούς πόρους ώστε να µειωθεί ο χρόνος ολοκλήρωσης µίας εργασίας ή για να αντιµετωπιστούν προβλήµατα τα οποία δεν µπορεί να χειριστεί ένα µοναδικό σύστηµα. Η υποστήριξη υπολογισµών υψηλής ρυθµοαπόδοσης επιτρέπει στις εφαρµογές να χρησιµοποιούν τα grids µε σκοπό να χρησιµοποιήσουν τους µη απασχοληµένους κύκλους ενός επεξεργαστή, για να εκτελέσουν χαλαρά συζευγµένα (loose coupled) ή και ανεξάρτητα tasks. Η υποστήριξη on-demand (ζήτησης) υπολογισµών επιτρέπει στις εφαρµογές να χρησιµοποιήσουν τα grids για να ανακτήσουν πόρους οι οποίοι δεν µπορούν να εγκατασταθούν τοπικά είτε λόγω δυσκολίας, είτε λόγω κόστους. Η υποστήριξη υπολογισµών εντατικών δεδοµένων (data-intensive) επιτρέπει στις εφαρµογές να χρησιµοποιήσουν τα grids για να συνθέσουν νέες πληροφορίες χρησιµοποιώντας δεδοµένα από κατανεµηµένες αποθήκες δεδοµένων, ψηφιακές βιβλιοθήκες ή και από βάσεις δεδοµένων. Αυτού του είδος οι υπολογισµοί, µπορεί να παρουσιάσουν δυσκολίες στην χρονοδροµολόγηση και στην διαµόρφωση πολύπλοκων και µεγάλων ροών δεδοµένων. Η υποστήριξη συνεργατικών υπολογισµών επιτρέπει στις εφαρµογές να χρησιµοποιήσουν το grid µε σκοπό να γίνουν εφικτές αλλά και να εµπλουτιστούν οι human-to-human (από άνθρωπο σε άνθρωπο) αλληλεπιδράσεις µε συγχρονισµένο ή ασύγχρονο τρόπο, σε έναν εικονικό χώρο. Τα πιο κρίσιµα θέµατα αυτών των υπολογισµών αφορούν τις απαιτήσεις πραγµατικού χρόνου που επιβάλλονται από τις ανθρώπινες δυνατότητες αντίληψης του χρόνου, αλλά και από την µεγάλη ποικιλία διαφορετικών αλληλεπιδράσεων που µπορούν να συµβούν. Η υποστήριξη υπολογισµών πολυµέσων επιτρέπει στις εφαρµογές να χρησιµοποιήσουν τα grids µε σκοπό να προσφέρουν αποτελέσµατα σύµφωνα µε τις προβλεπόµενες απαιτήσεις ποιότητας QoS. Αυτοί οι υπολογισµοί µπορεί να παρουσιάσουν προκλήσεις ως προς την απαίτηση να προσφέρουν επαρκή QoS σε πολλά και διαφορετικά µηχανήµατα. [4] 12

13 1.2 Κατηγορίες συστηµάτων Grid Έχουν γίνει αναφορές σε διάφορες κατηγοριοποιήσεις των συστηµάτων Grid, ανάλογα µε τις λειτουργίες που εκτελούν ή τις υπηρεσίες που προσφέρουν. Σύµφωνα µε τον σκοπό για τον οποίο σχεδιάστηκε ένα σύστηµα Grid, ταξινοµείται σε µία από τις παρακάτω κατηγορίες: Computational Grids (Υπολογιστικά Grids): Τα υπολογιστικά Grids αποτελούν µία συλλογή κατανεµηµένων υπολογιστικών υποδοµών οι οποίες λειτουργούν ως ένας ενιαίος επεξεργαστής. Χρησιµοποιούνται για την εκτέλεση απαιτητικών υπολογιστικών λειτουργιών σε υψηλή ταχύτητα, µε αξιόπιστο τρόπο και χαµηλό κόστος. Αυτή η κατηγορία χωρίζεται σε δύο υποκατηγορίες: τους κατανεµηµένους υπερ-υπολογιστές και τα Grids υψηλής ρυθµοαπόδοσης. Ένα Grid κατανεµηµένων υπερ-υπολογιστών εκτελεί µία εφαρµογή παράλληλα σε πολλά µηχανήµατα για να µειώσει το χρόνο εκτέλεσης µιας εργασίας. Το Grid υψηλής ρυθµοαπόδοσης έχει ως στόχο να αυξήσει τον ρυθµό ολοκλήρωσης µιας ροής εργασιών. Data Grids (Grids εδοµένων): Αυτή η κατηγορία, αναφέρεται σε συστήµατα τα οποία προσφέρουν ασφαλή πρόσβαση σε δεδοµένα που βρίσκονται σε αποθήκες δεδοµένων, όπως για παράδειγµα είναι οι κατανεµηµένες ψηφιακές βιβλιοθήκες σε ένα δίκτυο ευρείας περιοχής. Service Grids (Grids Υπηρεσιών): Τα Grids Υπηρεσιών κάνουν δυνατή την επεξεργασία σε «πραγµατικό χρόνο». Αυτή η κατηγορία περιλαµβάνει τρεις υποκατηγορίες: τα συνεργατικά Grids, τα Grids πολυµέσων και τα on demand Grids. Ένα συνεργατικό Grid συνδέει τους χρήστες µε τις εφαρµογές σε οµάδες εργασίας. Αυτά τα συστήµατα καθιστούν δυνατή την αλληλεπίδραση των χρηστών µε τις εφαρµογές χρησιµοποιώντας εικονικούς µηχανισµούς. Ένα Grid πολυµέσων παρέχει µια υποδοµή για εφαρµογές πολυµέσων σε πραγµατικό χρόνο και η τρίτη υποκατηγορία, τα on-demand Grids, συγκεντρώνουν δυναµικά διαφορετικούς πόρους µε σκοπό να προσφέρουν νέες υπηρεσίες. Εικόνα 2. Ταξινόµηση συστηµάτων Grid. [6] 13

14 Οι περισσότερες ερευνητικές δραστηριότητες που ασχολούνται µε την ανάπτυξη συστηµάτων Grid, κατατάσσονται σε µία από τις παραπάνω κατηγορίες. Η ανάπτυξη συστηµάτων γενικού σκοπού τα οποία θα µπορούν να υποστηρίξουν πολλές ή όλες αυτές τις κατηγορίες, παραµένει µέχρι σήµερα, ένα άλυτο πρόβληµα [6]. 1.3 Αρχιτεκτονική Το πρόβληµα του Grid Η βασική διαφορά της τεχνολογίας του Grid Computing µε την τεχνολογία του Κατανεµηµένου ιαµοιρασµού, είναι ότι το Grid Computing εστιάζει στον διαµοιρασµό, τον συντονισµό και την διαχείριση των πόρων παράλληλα µε την παροχή υψηλής απόδοσης. Το πρόβληµα του Grid λοιπόν, µπορεί να οριστεί ως ένα σύνολο θεµάτων για επίλυση, σχετικά µε τον διαµοιρασµό των πόρων µεταξύ ατόµων ή οµάδων. Η διαδικασία αυτή, που µπορεί να εκτείνεται από απλές µεταφορές αρχείων έως και πολύπλοκες διαδικασίες για την επίλυση προβληµάτων, πραγµατοποιείται υπό ελεγχόµενες και σαφώς ορισµένες συνθήκες και πολιτικές. Ωστόσο, εµφανίζονται προκλήσεις που αφορούν την ανακάλυψη των πόρων και τους µηχανισµούς πρόσβασης σε αυτούς, καθώς και την πιστοποίηση και εξουσιοδότηση των χρηστών που επιθυµούν να διαµοιραστούν πόρους. Το πρόβληµα εντείνεται όταν ένα Grid χρησιµοποιείται για την παροχή δικτύου όπου οι εµπορικές εφαρµογές και οι πόροι είναι διαθέσιµοι ως διαµοιραζόµενοι και on-demand πόροι Εικονικοί Οργανισµοί (Virtual Organizations) Ένας Εικονικός Οργανισµός (Ε.Ο.) αποτελείται από δυναµικά άτοµα ή οµάδες ατόµων, που ορίζουν τις προϋποθέσεις και τους κανόνες για τον διαµοιρασµό των πόρων. Όλοι οι Ε.Ο. µοιράζονται κάποια κοινά χαρακτηριστικά και ζητήµατα που περιλαµβάνουν κοινά ενδιαφέροντα και ανάγκες που µπορεί να ποικίλλουν ως προς το µέγεθος, την εµβέλεια, την διάρκεια, την κοινωνιολογία και την δοµή. Τα µέλη κάποιου Ε.Ο. διαπραγµατεύονται τον διαµοιρασµό των πόρων βάση κανόνων και συνθηκών που έχουν οριστεί από τον Ε.Ο.. Μία από τις τεχνικές προκλήσεις που αντιµετωπίζει µέχρι και σήµερα το Grid Computing, είναι η διαθεσιµότητα των χρηστών, των πόρων και των οργανισµών σε έναν Ε.Ο., που όµως προέρχονται από διαφορετικά πεδία. Για την αντιµετώπιση αυτού του ζητήµατος, χρειάζονται µηχανισµοί ανακάλυψης πόρων που θα πρέπει να παρέχουν τις παρακάτω δυνατότητες: 14

15 αναγνώριση και εφαρµογή κατάλληλων µεθόδων διαµοιρασµού πόρων προδιαγραφές για την εκχώρηση χρηστών ασφάλεια εξουσιοδότησης έλεγχος πρόσβασης των συµµετεχόντων Παρακάτω αναφέρονται τα χαρακτηριστικά και οι απαιτήσεις µιας αρχιτεκτονικής για την ίδρυση και τη διοίκηση ενός Ε.Ο., καθώς και για τη διαχείριση του διαµοιρασµού των πόρων µεταξύ των συµµετεχόντων. Απαιτήσεις και ανησυχίες σχετικά µε τον διαµοιρασµό των πόρων. Ο διαµοιρασµός των πόρων γίνεται υπό προϋποθέσεις, έχει χρονικές δεσµεύσεις και καθοδηγείται από κανόνες. Η συγκέντρωση των ατόµων ή των οµάδων είναι δυναµική. Η σχέσεις διαµοιρασµού µεταξύ των συµµετεχόντων είναι εκ φύσεως ισότιµες (peer-to-peer). Ο διαµοιρασµός των πόρων βασίζεται σε ένα ανοικτό και σαφώς ορισµένο σύνολο αλληλεπιδράσεων καθώς και σε κανόνες πρόσβασης Μοντέλο Αρχιτεκτονικής Έχει αναπτυχθεί ένα νέο µοντέλο αρχιτεκτονικής µε σκοπό την ίδρυση και την διαχείριση σχέσεων διαµοιρασµού µεταξύ των µελών που ανήκουν σε οργανισµούς. Αυτή η νέα αρχιτεκτονική, η οποία ονοµάζεται Αρχιτεκτονική Grid και προσδιορίζει τα βασικά συστατικά ενός συστήµατος Grid. Επιπλέον, καθορίζει τον σκοπό και τις λειτουργίες αυτών των συστατικών και δείχνει πώς αλληλεπιδρούν µεταξύ τους. Ο κύριος στόχος αυτής της αρχιτεκτονικής είναι να παρουσιάσει τον τρόπο επικοινωνίας και συνεργασίας των προµηθευτών πόρων µε τους πελάτες (χρήστες) για την δηµιουργία σχέσεων διαµοιρασµού. Για τον λόγο αυτό απαιτούνται κοινά πρωτόκολλα σε κάθε επίπεδο του αρχιτεκτονικού µοντέλου που ορίζουν την αρχιτεκτονική πρωτοκόλλων του Grid όπως φαίνεται στην εικόνα 3. 15

16 Εικόνα 3. Τα επίπεδα Αρχιτεκτονικής του Grid και η σχέση τους µε την Αρχιτεκτονική πρωτοκόλλων του Internet. [7] Στην εικόνα 3 φαίνονται τα επίπεδα που συνθέτουν την αρχιτεκτονική Grid καθώς και τα χαρακτηριστικά κάθε επιπέδου. Κάθε επίπεδο εκµεταλλεύεται δυνατότητες που του παρέχονται από τα χαµηλότερα επίπεδα. Η αρχιτεκτονική πρωτοκόλλων, ορίζει τους κοινούς µηχανισµούς και τα πρωτόκολλα που υπάρχουν σε κάθε επίπεδο, µέσω των οποίων οι χρήστες µπορούν να διαπραγµατευτούν, να δηµιουργήσουν, να διαχειριστούν και να µοιραστούν πόρους. Παρακάτω, περιγράφονται τα βασικά χαρακτηριστικά για κάθε επίπεδο ξεκινώντας από το χαµηλότερο και συνεχίζοντας διαδοχικά προς το υψηλότερο. Επίπεδο Υποδοµής (Fabric Layer): Το επίπεδο Υποδοµής ορίζει τις διασυνδέσεις µε τους διαθέσιµους τοπικούς πόρους. Σε αυτό το επίπεδο περιλαµβάνονται υπολογιστικοί πόροι, µηχανισµοί αποθήκευσης δεδοµένων, δίκτυα, κατάλογοι, µονάδες λογισµικού και άλλοι πόροι του συστήµατος. Επίπεδο Συνδεσιµότητας (Connectivity Layer): Αυτό το επίπεδο ορίζει τα βασικά πρωτόκολλα για την επικοινωνία και την πιστοποίηση των χρηστών καθώς και τις υπηρεσίες συναλλαγών µεταξύ των προµηθευτών των πόρων και των καταναλωτών. Επίπεδο Πόρου (Resource Layer): Αυτό το επίπεδο χρησιµοποιεί τα πρωτόκολλα επικοινωνίας και ελέγχου, που έχουν οριστεί στο επίπεδο Συνδεσιµότητας, για να ελέγξει την ασφάλεια των διαπραγµατεύσεων, την έναρξη, την επίβλεψη και την πληρωµή για τις λειτουργίες διαµοιρασµού των µεµονωµένων πόρων. Επίσης, το επίπεδο Πόρου καλεί τις λειτουργίες για την πρόσβαση και τον έλεγχου των τοπικών πόρων που εφαρµόζονται στο επίπεδο Υποδοµής. Πρέπει να σηµειωθεί ότι αυτό το επίπεδο ασχολείται µε µεµονωµένους πόρους αγνοώντας την γενική κατάσταση που επικρατεί καθώς και τις δραστηριότητες που λαµβάνουν χώρα στην δεξαµενή των πόρων (resource pool), για τα οποία είναι υπεύθυνο το επίπεδο Συνδεσιµότητας. 16

17 Επίπεδο Συλλογής Πόρων (Collective Layer): Σε αντίθεση µε το επίπεδο Πόρου το οποίο διαχειρίζεται έναν µεµονωµένο πόρο, το επίπεδο Συλλογής Πόρων είναι υπεύθυνο για την γενική διαχείριση των πόρων και για τις αλληλεπιδράσεις που γίνονται µε συλλογές πόρων. Σε αυτό το επίπεδο εµφανίζεται µία ευρεία ποικιλία συµπεριφορών διαµοιρασµού πόρων, που βασίζονται στην χρήση πρωτοκόλλων, από τα επίπεδα Πόρου και Συνδεσιµότητας. Επίπεδο Εφαρµογής (Application Layer): Το επίπεδο Εφαρµογής κάνει εφικτή την χρήση των πόρων σε ένα περιβάλλον Grid, χρησιµοποιώντας διάφορα συνεργατικά πρωτόκολλα καθώς και πρωτόκολλα για την πρόσβαση σε πόρους. Μέχρι πρόσφατα, η αρχιτεκτονική του Grid Computing αναφερόταν ως µια προτεινόµενη λύση για το πρόβληµα του Grid και το περιβάλλον των Εικονικών Οργανισµών. Αυτό όµως το µοντέλο αρχιτεκτονικής έχει σχεδιαστεί για τον ελεγχόµενο διαµοιρασµό των πόρων αναπτύσσοντας εξελιγµένες σχέσεις επικοινωνίας και συνεργασίας µεταξύ των συµµετεχόντων. Με την βοήθεια ανερχόµενων αρχιτεκτονικών, δίνεται η δυνατότητα, στο µοντέλο που περιγράφτηκε παραπάνω, να ενταχτεί και να προσαρµοστεί σε ένα ευρύτερο πεδίο τεχνολογίας. [7] 1.4 Συστατικά του Grid Ένα περιβάλλον ευρείας κλίµακας όπως είναι αυτό του Grid, οι δυνατότητες που πρέπει να παρέχει είναι οι εξής: Αποµακρυσµένη αποθήκευση και αντιγραφή συνόλων δεδοµένων. ηµοσίευση συνόλων δεδοµένων που χρησιµοποιούν αναλυτική και παγκόσµια ονοµατολογία καθώς και των ιδιοτήτων τους, στον κατάλογο. Ασφάλεια Εξουσιοδότηση πρόσβασης και εξακρίβωση ταυτότητας (authentication). Σταθερή πρόσβαση σε αποµακρυσµένους πόρους (υπολογιστικούς και πόρους δεδοµένων). ηµοσίευση των υπηρεσιών και του κόστους για την πρόσβαση σε αυτές. Σύνθεση κατανεµηµένων εφαρµογών χρησιµοποιώντας διάφορα εργαλεία λογισµικού και «κληρονοµηµένα» (inherited) προγράµµατα. Ανακάλυψη των κατάλληλων συνόλων δεδοµένων µε βάση το αναλυτικό τους όνοµα ή τα χαρακτηριστικά τους. Ανακάλυψη των κατάλληλων υπολογιστικών πόρων 17

18 Καθοδήγηση και χρονοδροµολόγηση εργασιών. Υποβολή, επίβλεψη και καθοδήγηση της εκτέλεσης των εργασιών. υνατότητα µεταφοράς δεδοµένων από τον υπολογιστή του χρήστη στους κατανεµηµένους πόρους και το αντίστροφο. υνατότητα επιβολής των απαιτήσεων ως προς την ποιότητα των παρεχόµενων υπηρεσιών. Μέτρηση και απολογισµός της χρήσης των πόρων. Οι παραπάνω δυνατότητες των περιβαλλόντων του Grid computing παίζουν βασικό ρόλο σε µία ποικιλία επιστηµονικών, µηχανικών και επιχειρησιακών εφαρµογών. Τα διάφορα συστατικά του Grid που παρέχουν αυτές τις δυνατότητες είναι διατεταγµένα σε επίπεδα. Κάθε επίπεδο χτίζει στις υπηρεσίες που του προσφέρει το χαµηλότερο επίπεδο ενώ αλληλεπιδρά και συνεργάζεται µε τα συστατικά που υπάρχουν στο ίδιο επίπεδο. Η παρακάτω εικόνα παρουσιάζει το σύνολο του υλικού και του λογισµικού που υπάρχει σε µία τυπική αρχιτεκτονική Grid. Εικόνα 4. Η αρχιτεκτονική επιπέδων του Grid και τα συστατικά της. [2] 18

19 Η αρχιτεκτονική επιπέδων του Grid,όπως φαίνεται και την εικόνα 4, αποτελείται από τέσσερα επίπεδα: Το επίπεδο Υποδοµής (Grid Fabric), αποτελείται από κατανεµηµένους πόρους όπως είναι για παράδειγµα, οι υπολογιστές, τα δίκτυα, οι συσκευές αποθήκευσης και τα επιστηµονικά όργανα. Οι υπολογιστικοί πόροι αντιπροσωπεύουν τις πολυάριθµες αρχιτεκτονικές όπως είναι οι συστοιχίες, οι υπερ-υπολογιστές, οι servers και οι προσωπικοί υπολογιστές, που εκτελούν διάφορα λειτουργικά συστήµατα. Τα επιστηµονικά όργανα, όπως είναι για παράδειγµα, τα τηλεσκόπια και τα δίκτυα αισθητήρων, προσφέρουν δεδοµένα πραγµατικού χρόνου, τα οποία µπορούν να µεταφερθούν άµεσα σε υπολογιστικά sites ή να αποθηκευτούν σε µία βάση δεδοµένων. Το επίπεδο Βασικού Ενδιάµεσου Λογισµικού (Core Grid Middleware), προσφέρει υπηρεσίες όπως είναι: η αποµακρυσµένη διαχείριση διεργασιών η κατανοµή των πόρων, η πρόσβαση σε αποθηκευτικούς χώρους, η ανακάλυψη και η καταχώρηση πληροφοριών και η ασφάλεια, καθώς και θέµατα QoS όπως είναι: η κράτηση και η αποθήκευση πόρων. Αυτές οι υπηρεσίες µειώνουν την πολυπλοκότητα και την ετερογένεια του επιπέδου Υποδοµής, παρέχοντας µία συνεπή µέθοδο για την πρόσβαση σε κατανεµηµένους πόρους. Το επίπεδο Ενδιάµεσου Λογισµικού σε Επίπεδο Χρήστη (User level Grid middleware), χρησιµοποιεί τις διεπαφές που του παρέχει το low level middleware για να προσφέρει υπηρεσίες υψηλού επιπέδου. Αυτές οι υπηρεσίες περιλαµβάνουν περιβάλλοντα ανάπτυξης εφαρµογών, προγραµµατιστικά εργαλεία και µεσολαβητές πόρων που χρησιµοποιούνται για την διαχείριση των πόρων και για την χρονοδροµολόγηση της εκτέλεσης των tasks εφαρµογών σε παγκόσµια κατανεµηµένους πόρους. Οι εφαρµογές και οι πύλες (portals) του Grid αναπτύσσονται συνήθως, χρησιµοποιώντας προγραµµατιστικά περιβάλλοντα, διεπαφές καθώς και υπηρεσίες διαχείρισης και χρονοδροµολόγησης που παρέχει το προηγούµενο επίπεδο. Οι πύλες του Grid, προσφέρουν υπηρεσίες - εφαρµογές µέσω του διαδικτύου, οι οποίες δίνουν την δυνατότητα στους χρήστες να υποβάλλουν τις εργασίες τους και να λαµβάνουν τα αποτελέσµατα τους µέσω του διαδικτύου. [2] 19

20 Κεφάλαιο 2. Χρονοδροµολόγηση Η χρονοδροµoλόγηση στο Grid ορίζεται ως η διαδικασία λήψης αποφάσεων σχετικά µε τον προγραµµατισµό της εκτέλεσης εργασιών σε πόρους που µπορεί να ανήκουν σε πολλά και διαφορετικά διοικητικά πεδία. Αυτή η διαδικασία µπορεί να περιλαµβάνει την αναζήτηση, σε πολλά διοικητικά πεδία, για την χρήση ενός µοναδικού µηχανήµατος, ή τον προγραµµατισµό µίας εργασίας να χρησιµοποιήσει διάφορους πόρους που µπορεί να βρίσκονται σε ένα ή και περισσότερα sites. Μία από τις βασικές διαφορές ανάµεσα σε έναν Grid scheduler και έναν τοπικό scheduler πόρων, είναι ότι ο Grid scheduler δεν έχει στην κατοχή του τους τοπικούς πόρους και συνεπώς δεν τους ελέγχει. Εποµένως, πρέπει να λάβει τις καλύτερες δυνατές αποφάσεις για την χρονοδροµολόγηση των εργασιών του και στη συνέχεια να τις υποβάλλει στους επιλεγµένους πόρους. Επιπλέον, ο Grid scheduler δεν ελέγχει το σύνολο των εργασιών που του υποβάλλονται όπως επίσης δεν γνωρίζει για τις εργασίες που αναθέτονται στους πόρους που εξετάζει. Αυτό έχει ως αποτέλεσµα να µην µπορεί να λάβει αποφάσεις σχετικά µε τυχόν µεταβιβάσεις άδειας για την πρόσβαση σε µια εργασία. Αυτή η έλλειψη κυριότητας και ελέγχου στους πόρους, αποτελεί την πηγή πολλών προβληµάτων που πρέπει να λυθούν. Ως εργασία (job) ορίζεται οτιδήποτε, το οποίο χρειάζεται κάποιον πόρο και µπορεί να είναι για παράδειγµα, µια αίτηση για εύρος ζώνης, ή µια εφαρµογή ή και ένα σύνολο εφαρµογών. Ο όρος πόρος (resource) χρησιµοποιείται για να εξηγήσει οτιδήποτε χρειάζεται να χρονοδροµολογηθεί, µπορεί να είναι ένα µηχάνηµα, ο ελεύθερος χώρος ενός σκληρού δίσκου, ένα δίκτυο QoS κλπ. Μέχρι και σήµερα, ο πιο κοινός Grid scheduler (δροµολογητής) είναι ο χρήστης. Παρόλα αυτά, γίνονται πολλές προσπάθειες για να αλλάξει αυτή η κατάσταση. 2.1 Συστήµατα Χρονοδροµολόγησης Condor: Ο σκοπός του συστήµατος Condor, είναι να αναπτύξει, να υλοποιήσει και να αξιολογήσει µηχανισµούς και πολιτικές που υποστηρίζουν υπολογισµούς υψηλής ρυθµοαπόδοσης (High-Throughput Computing, HTC), χρησιµοποιώντας κατανεµηµένα περιβάλλοντα τα οποία µπορούν να παρέχουν µεγάλες ποσότητες επεξεργαστικής χωρητικότητας για µεγάλες χρονικές περιόδους. Το βασικό στοιχείο των υπολογισµών υψηλής ρυθµοαπόδοσης είναι η αποδοτική διαχείριση και εκµετάλλευση όλων των διαθέσιµων υπολογιστικών πόρων. Πλέον, ο έλεγχος και η κυριότητα των ισχυρών υπολογιστικών πόρων έχει περάσει στα χέρια ιδιωτών ή άλλων µικρών οµάδων. Αυτοί οι διασκορπισµένοι ιδιοκτήτες θα διαθέσουν τους πόρους τους σε ένα HTC περιβάλλον, εφόσον σιγουρευτούν ότι ικανοποιούνται οι ανάγκες τους και προστατεύονται τα δικαιώµατά τους. Αυτό σηµαίνει πως ο ιδιοκτήτης ορίζει τις προϋποθέσεις υπό τις οποίες το σύστηµα Condor µπορεί να διαθέσει τις εργασίες του σε έναν εξωτερικό χρήστη. 20

21 Ένας χρήστης υποβάλλει µια εργασία στο σύστηµα Condor, το οποίο στη συνέχεια βρίσκει κάποιο διαθέσιµο µηχάνηµα στο δίκτυο για να ξεκινήσει την εκτέλεση της εργασίας. Αν ανιχνευτεί πως ένα µηχάνηµα που εκτελεί µία εργασία δεν είναι πλέον διαθέσιµο τότε ο Condor scheduler διακόπτει την εκτέλεση της εργασίας αυτής και την µεταφέρει σε ένα άλλον µηχάνηµα όπου συνεχίζει να εκτελείται από το σηµείο που διακόπηκε. Το σύστηµα Condor προσφέρει αποτελεσµατική διαχείριση των πόρων αντιστοιχίζοντας - ταιριάζοντας (matching) τους προµηθευτές των πόρων µε τους πελάτες. Ένας χρήστης που υποβάλλει µία αίτηση, διευκρινίζει ένα σύνολο χαρακτηριστικών για τον πόρο που αναζητάει για την εκτελέσει την εργασία του. Ο Condor scheduler στη συνέχεια ενεργεί ως µεσολαβητής πόρων, δηλαδή αξιολογεί και ταιριάζει τις αιτήσεις για πόρους µε τις διαθέσιµες προσφορές έτσι ώστε να ικανοποιεί τις απαιτήσεις τόσο των ιδιοκτητών όσο και των πελατών. Cactus: Το Cactus είναι ένα περιβάλλον ανοικτών πόρων το οποίο σχεδιάστηκε για τους µηχανικούς και τους επιστήµονες, και χρησιµοποιείται για την επίλυση διαφόρων προβληµάτων που προκύπτουν. Η δοµή του συνθέτεται από υποµονάδες, οι οποίες υποστηρίζουν τον παράλληλο υπολογισµό σε διαφορετικές αρχιτεκτονικές καθώς και την συνεργατική ανάπτυξη κώδικα από διαφορετικές οµάδες. EDG Resource Broker: Αποτελεί βασικό συστατικό του συστήµατος ιαχείρισης Φόρτου Εργασιών (Workload Management System, WMS). Το WMS αποτελεί συστατικό του ενδιάµεσου λογισµικού του Grid εδοµένων, και είναι υπεύθυνο για την διαχείριση των πόρων του Grid, έτσι ώστε να εκτελούνται οι εφαρµογές εύκολα και αποτελεσµατικά. Αµέσως µετά την υποβολή της περιγραφής µιας εργασίας, ο µεσολαβητής πόρων προσπαθεί να βρει το καλύτερο δυνατό ταίριασµα ανάµεσα στις απαιτήσεις της εργασίας και τους διαθέσιµους πόρους χρησιµοποιώντας πληροφορίες από την υπηρεσία Πληροφοριών MDS του Globus και τις τεχνικές ταιριάσµατος του συστήµατος Condor. Το αποτέλεσµα που προκύπτει, είναι ένα υπολογιστικό στοιχείο το οποίο έχει πρόσβαση σε όλους τους πόρους που προσδιορίστηκαν στην περιγραφή της εργασίας. Αυτοί οι πόροι µπορεί να είναι δεδοµένα ή χώρος αποθήκευσης. Η περιγραφή µίας εργασίας εκφράζεται στην προσαρµοσµένη γλώσσα Job Description Language. Portable Batch System, PBS (Φορητό Σύστηµα Παρτίδας Εργασιών): Το σύστηµα PBS χρησιµοποιείται για την διαχείριση του φόρτου εργασιών στα συστήµατα HPC και στις συστοιχίες (clusters) Linux. Ο σκοπός του συστήµατος αυτού, είναι να παρέχει περισσότερο έλεγχο κατά την έναρξη και την χρονοδροµολόγηση της εκτέλεσης παρτίδας εργασιών καθώς και να επιτρέπει την δροµολόγησή τους σε διαφορετικούς hosts. Το σύστηµα batch, επιτρέπει σε ένα site να ορίσει κανόνες πολιτικής σχετικά µε τα είδη των πόρων και τον τρόπο που αυτοί µπορούν να χρησιµοποιηθούν, για την εκτέλεση διάφορων εργασιών. Επίσης, παρέχει έναν µηχανισµό µε τον οποίο ο χρήστης µπορεί να διασφαλίσει ότι µία εργασία θα έχει πρόσβαση στους απαιτούµενους πόρους µέχρι να ολοκληρώσει την εκτέλεσή της. 21

22 Το σύστηµα batch αποτελείται από διάφορα συστατικά, τα οποία αλληλεπιδρούν µεταξύ τους µε βάση το µοντέλο client-server. Οι clients κάνουν (batch) αιτήσεις στους servers και οι servers µε τη σειρά τους εκτελούν εργασίες εκ µέρους των clients. Ένας batch server διαχειρίζεται διαφορετικά αντικείµενα, όπως για παράδειγµα ουρές εργασιών, και κάθε αντικείµενο αποτελείται από στοιχεία δεδοµένων ή χαρακτηριστικά (attributes). Επίσης, παρέχει παρτίδες υπηρεσιών στους batch clients, όπως είναι για παράδειγµα η δηµιουργία, η δροµολόγηση, η εκτέλεση, η τροποποίηση ή η διαγραφή εργασιών. Επιπλέον, ο batch server µπορεί κάποιες φορές να κάνει αίτηση για υπηρεσίες άλλων servers, όπου τότε ενεργεί ως client. Οι χρήστες του batch συστήµατος, µπορούν να κάνουν αιτήσεις για παρτίδες υπηρεσιών µέσω της γραµµής εντολών. Ενώ οι εντολές φαίνονται να εκτελούν κάποιες υπηρεσίες, στην πραγµατικότητα, κάνουν αίτηση και εξασφαλίζουν τις υπηρεσίες αυτές από έναν batch server. The KB Metascheduler: Αυτός ο scheduler χρησιµοποιεί µία τεχνική ανεύρεσης εργασιών που είναι βασισµένη στη γνώση της Τεχνητής Νοηµοσύνης. Συνδυάζει πληροφορίες σχετικά µε τις χρονοχρεώσεις, τις προτιµήσεις του χρήστη, τον συντονισµό του φόρτου εργασιών και την χρήση της µνήµης και στη συνέχεια χρησιµοποιεί αυτές τις πληροφορίες µε ένα σύνολο από ειδικές τεχνικές. Οι τεχνικές Τεχνητής Νοηµοσύνης επιλέχτηκαν λόγω της πολυπλοκότητας του συστήµατος και λόγω της επιτυχίας τους σε άλλα περιβάλλοντα που είναι δύσκολα στη διαχείριση. AppLeS Parameter Sweep Template (Σάρωση Παραµέτρων): Το AppLeS είναι ένας scheduler υψηλής απόδοσης ο οποίος απευθύνεται σε κατανεµηµένα ετερογενή περιβάλλοντα µε πολλούς χρήστες. Κάθε εφαρµογή του Grid, δροµολογείται από το δικό της AppLeS, το οποίο καθορίζει και φτιάχνει ένα πρόγραµµα χρόνου εκτέλεσης για την προσαρµοσµένη εφαρµογή και τα υπολογιστικά Grids. Στην προσέγγιση AppLeS, όλα τα στοιχεία του συστήµατος αξιολογούνται µε βάση την επίδραση που έχουν στην εφαρµογή. Αυτό έχει ως αποτέλεσµα, οι πόροι του συστήµατος να αξιολογούνται µε βάση τις προβλεπόµενες διαθέσιµες χωρητικότητες που παρέχουν κατά τον χρόνο εκτέλεσης, καθώς και την προοπτική τους να ικανοποιήσουν τις ανάγκες της εφαρµογής. Οι εφαρµογές Σάρωσης Παραµέτρων (Parameter Sweep Applications, PSAs) είναι δοµηµένες ως σύνολα «πειραµάτων», καθένα από τα οποία εκτελείται µε ένα ξεχωριστό σύνολο παραµέτρων. Παρόλο που αυτές οι εφαρµογές είναι ανεξάρτητες, πολλές PSAs κατασκευάζονται έτσι ώστε ξεχωριστά πειράµατα να µοιράζονται µεγάλα αρχεία εισόδου και να παράγουν µεγάλα αρχεία εξόδου. Silver/Maui: Βασική ιδέα για αυτόν τον scheduler επιπέδου Grid, είναι ότι ο Silver scheduler αλληλεπιδρά σε τοπικό επίπεδο µε τον Maui scheduler, για κάθε πόρο. Ο χρήστης υποβάλλει µία εργασία τύπου PBS, η οποία µεταφράζεται ως µετά-εργασία και στη συνέχεια αποστέλλεται στην µονάδα Silver. Το σύστηµα Maui παρέχει πληροφορίες στους schedulers σχετικά µε το ποιοι πόροι είναι διαθέσιµοι για χρήση, πόσο κοστίζουν, καθώς και πότε µπορούν να εκτελεστούν οι αποµακρυσµένες εργασίες σε αυτούς. Αυτό το σύστηµα έχει ένα πολύ καλά ανεπτυγµένο σύστηµα προσοµοίωσης το οποίο επιτρέπει στους µεσολαβητές, να προσαρµόζουν τις 22

23 πολιτικές ουράς σύµφωνα µε τα «ίχνη» που υπάρχουν από παλιές υποβολές εργασιών. Επίσης υπάρχει η κατάλληλη υποδοµή για την εκτέλεση εργασιών, κάνοντας εξελιγµένες κρατήσεις διαθεσιµότητας (reservations). Ωστόσο, το σύστηµα αυτό, αλληλεπιδρά µόνο µε τον Maui scheduler ο οποίος ενεργεί σε τοπικό επίπεδο. 2.2 Στάδια Χρονοδροµολόγησης Η χρονοδροµολόγηση στο Grid περιλαµβάνει τρεις βασικές φάσεις: 1. Ανακάλυψη πόρων: Σε αυτή την φάση παράγεται µία λίστα µε τους ενδεχόµενους για χρήση πόρους. 2. Συγκέντρωση πληροφοριών: Συγκεντρώνονται πληροφορίες για αυτούς τους πόρους και στη συνέχεια επιλέγεται το καλύτερο σύνολο. 3. Εκτέλεση εργασίας: Γίνεται ανασυγκρότηση των αρχείων και εκκαθάριση. Στην παρακάτω εικόνα φαίνονται αυτές οι φάσεις, καθώς και τα βήµατα που περιλαµβάνουν. Πρέπει να σηµειωθεί, ότι προς το παρόν δεν υπάρχει κάποιος Grid scheduler ο οποίος υλοποιεί όλα τα βήµατα που αναφέρονται για την αρχιτεκτονική. Εικόνα 5. Αρχιτεκτονική τριών φάσεων για την χρονοδροµολόγηση στο Grid. [8] 23

24 Πρώτη Φάση: Ανακάλυψη Πόρων Το πρώτο στάδιο για κάθε αλληλεπίδραση µιας διαδικασίας χρονοδροµολόγησης, είναι ο προσδιορισµός των πόρων που είναι διαθέσιµοι για κάποιον χρήστη. Η φάση της ανακάλυψης των πόρων, περιλαµβάνει την επιλογή ενός συνόλου πόρων οι οποίοι θα εξεταστούν αναλυτικότερα στην επόµενη φάση. Στην αρχή της πρώτης φάσης, το ενδεχόµενο σύνολο των πόρων, είναι το κενό σύνολο και στο τέλος αυτής της φάσης, οι ενδεχόµενοι πόροι που έχουν υπάρχουν σε ένα σύνολο, πληρούν κάποιες ελάχιστες προδιαγραφές. Η ανακάλυψη των πόρων γίνεται σε τρία στάδια: Authorization Filtering (Φιλτράρισµα Εξουσιοδότησης): Το πρώτο βήµα για την ανακάλυψη των πόρων που γίνεται για την χρονοδροµολόγηση µίας εργασίας, είναι ο προσδιορισµός των πόρων στους οποίους έχει πρόσβαση ο χρήστης που υποβάλλει την εργασία. Από αυτή την άποψη, οι υπολογισµοί στο Grid δεν διαφέρουν από την αποµακρυσµένη υποβολή µιας εργασίας, εφόσον για να τρέξει η εργασία θα πρέπει να γίνει εξουσιοδότηση εκτέλεσης στον ζητούµενο πόρο. Στο τελικό στάδιο αυτής της διαδικασίας, ο χρήστης θα έχει µία λίστα από µηχανήµατα ή πόρους στα οποία του επιτρέπεται η πρόσβαση. Application Requirement Definition (Ορισµός Απαιτήσεων Εφαρµογής): Για να προχωρήσει στην Ανακάλυψη Πόρων ένας χρήστης, θα πρέπει να καθορίσει κάποιες απαιτήσεις για την εργασία του, ώστε να µπορέσει να φιλτράρει τους εφικτούς πόρους. Οι πιθανές απαιτήσεις µίας εργασίας µπορεί να είναι πολλές και επίσης µπορούν να διαφέρουν ανά εργασία. Αυτές οι απαιτήσεις, µπορεί να περιλαµβάνουν στατικές και δυναµικές λεπτοµέρειες. Όσες περισσότερες λεπτοµέρειες υπάρχουν, τόσο αποδοτικότερες είναι οι προσπάθειες αντιστοίχισης των απαιτήσεων µε τις προσφορές. Minimal Requirement Filtering (Φιλτράρισµα Ελάχιστων Απαιτήσεων): Αφού βρεθούν οι πόροι στους οποίους ο χρήστης έχει πρόσβαση, το τρίτο βήµα της φάσης της Ανακάλυψης πόρων, είναι η αποβολή των πόρων που δεν πληρούν τις ελάχιστες απαιτήσεις της εργασίας. Στο τέλος αυτής της διαδικασίας, ο Grid scheduler θα έχει στη διάθεσή του να εξετάσει πιο λεπτοµερώς ένα µειωµένο σύνολο πόρων. Όπως προαναφέρθηκε, οι Υπηρεσίες Πληροφοριών του Grid περιλαµβάνουν στατικά και δυναµικά δεδοµένα. Πολλά από τα προσωρινά δεδοµένα, έχουν µία τιµή χρόνου ζωής (time-to-live value), έτσι ώστε τα δεδοµένα µε µεγαλύτερο όριο ζωής να έχουν καλύτερους χρόνους απόκρισης. Επειδή οι πόροι είναι κατανεµηµένοι και οι αποφάσεις σχετικά µε την χρονοδροµολόγηση τους µπορεί να καθυστερούν, σε αυτό το βήµα χρησιµοποιούνται ως επί το πλείστον, στατικά δεδοµένα για να αξιολογηθούν οι πόροι, αν πληρούν κάποιες βασικές προϋποθέσεις. 24

25 Ένας χρήστης, ο οποίος εκτελεί για χρέος του χρονοδροµολόγηση, θα πρέπει απλά να ελέγξει τη λίστα των πόρων και να αποκλείσει αυτούς που δεν πληρούν τις προϋποθέσεις που απαιτούνται από την εκάστοτε εργασία. εύτερη Φάση: Επιλογή Συστήµατος Αφού συγκεντρωθεί µία οµάδα πόρων (ή µία οµάδα συνόλων) οι οποίοι πληρούν τις προϋποθέσεις για την εργασία, θα πρέπει να επιλεχτεί ένας µοναδικός πόρος (ή ένα χωριστό σύνολο πόρων) για την χρονοδροµολόγηση της εργασίας. Η επιλογή αυτή περιλαµβάνει δύο βήµατα: την συγκέντρωση λεπτοµερών πληροφοριών και την λήψη µίας απόφασης. Dynamic Information Gathering ( υναµική Συγκέντρωση Πληροφοριών): Για να γίνει το καλύτερο δυνατό ταίριασµα εργασίας / πόρου, χρειάζεται να συγκεντρωθούν λεπτοµερείς και δυναµικές πληροφορίες για τους πόρους. Επειδή αυτές οι πληροφορίες µπορεί να ποικίλλουν ανάλογα µε την εφαρµογή που χρονοδροµολογείται ή και τους πόρους που εξετάζονται, δεν είναι δυνατό να βρεθεί µία µοναδική λύση για όλες τις περιπτώσεις. Στην διαδικασία συγκέντρωσης δυναµικών πληροφοριών προκύπτουν δύο ζητήµατα: ποιες πληροφορίες είναι διαθέσιµες και πώς µπορεί να έχει πρόσβαση σε αυτές ο χρήστης. Γενικά, τα θέµατα κλιµακωσιµότητας και προσαρµοστικότητας σε ένα σύστηµα Grid, περιπλέκουν την κατάσταση. Στην περίπτωση που οι πόροι δεν είναι προσβάσιµοι, το σύστηµα θα πρέπει να εξετάσει τι πρέπει να κάνει για να εξασφαλίσει τα δεδοµένα που χρειάζεται από τα sites αυτά. Προς το παρόν, αυτό το ενδεχόµενο αντιµετωπίζεται, θεωρώντας πως εφόσον δεν υπάρχουν διαθέσιµα δυναµικά δεδοµένα, τότε ο πόρος θα πρέπει να αγνοείται. System Selection (Επιλογή Συστήµατος): Μετά τη συγκέντρωση των λεπτοµερών πληροφοριών που έγινε στο προηγούµενο βήµα, θα πρέπει να επιλεγεί ο πόρος (ή σύνολο πόρων) που θα χρησιµοποιηθεί. Το σύστηµα που χρησιµοποιείται πιο συχνά για το ταίριασµα των απαιτήσεων της εφαρµογής µε τους πόρους είναι το Condor Matchmaker / ClassAd. Τρίτη Φάση: Εκτέλεση Εργασίας Η τρίτη φάση της χρονοδροµολόγησης στο Grid, περιλαµβάνει την εκτέλεση µίας εργασίας. Παρακάτω φαίνονται τα βήµατα που περιλαµβάνει αυτή η φάση: 25

26 Advance Reservation (Προκαταβολική Κράτηση): Για να γίνει η καλύτερη δυνατή χρήση ενός συστήµατος, κάποιοι ή και όλοι οι πόροι, θα πρέπει να κρατηθούν προκαταβολικά. Η διαδικασία της προκαταβολικής κράτησης, ανάλογα µε τον πόρο, µπορεί να είναι εύκολη ή δύσκολη διαδικασία και µπορεί να γίνει είτε µε µηχανικά, είτε µε ανθρώπινα µέσα. Επιπλέον, µερικές προκαταβολικές κρατήσεις µπορεί να έχουν όριο χρονικής διάρκειας το οποίο να ανανεώνεται δωρεάν ή και µε κάποιο κόστος. Ένα θέµα που προκύπτει συχνά στις προκαταβολικές κρατήσεις είναι η ανάγκη για τους πόρους χαµηλότερου επιπέδου να υποστηρίζουν τις βασικές υπηρεσίες των τοπικών πόρων. Job Submission (Υποβολή Εργασίας): Αφού έχουν επιλεχτεί οι πόροι, η εφαρµογή µπορεί πλέον να παραδοθεί σε αυτούς. Η διαδικασία της παράδοσης µίας εργασίας µπορεί µερικές φορές να είναι εύκολη, όπως είναι η εκτέλεση µίας εντολής, αλλά µπορεί να είναι και εξαιρετικά πολύπλοκη. Συγκεκριµένα, σε ένα σύστηµα Grid, η διαδικασία της υποβολής της εργασίας στους επιλεγµένους πόρους, µπορεί να αποδειχτεί πολύπλοκη, λόγω της έλλειψης καθιερωµένων προτύπων. Preparation Tasks (Προετοιµασία): Το στάδιο της προετοιµασίας των tasks συνήθως περιλαµβάνει την σχεδίαση, την απαίτηση για κάποια κράτηση ή οποιεσδήποτε άλλες ενέργειες πρέπει να γίνουν για να ετοιµαστεί ο πόρος να εκτελέσει την εφαρµογή. Monitoring Progress (Επίβλεψη Προόδου): Ανάλογα µε την εφαρµογή και τον χρόνο εκτέλεσής της, ο χρήστης έχει την δυνατότητα να επιβλέπει την πρόοδο των εφαρµογών του και πιθανώς να αλλάξει γνώµη για την τοποθεσία ή τον τρόπο εκτέλεσης. Αν µία εργασία δεν έχει επαρκή πρόοδο, τότε µπορεί να επαναδροµολογηθεί (re-schedule). Αυτή η διαδικασία παρουσιάζει µεγαλύτερη δυσκολία σε ένα σύστηµα Grid, από ότι είναι σε ένα παράλληλο µηχάνηµα, λόγω της έλλειψης ελέγχου στους πόρους. Job Completion (Ολοκλήρωση Εργασίας): Όταν η εργασία ολοκληρωθεί, πρέπει να ειδοποιηθεί ο χρήστης. Συνήθως, τα έγγραφα παράδοσης για παράλληλα µηχανήµατα περιλαµβάνουν µία παράµετρο ειδοποίησης µέσω e- mail. Όµως για λόγους ανοχής στα σφάλµατα, αυτή η ειδοποίηση µπορεί να αποδειχτεί εξαιρετικά δύσκολη. Cleanup Tasks (Εκκαθάριση): µετά την εκτέλεση µίας εργασίας, ο χρήστης µπορεί να χρειαστεί να ανακτήσει αρχεία από τον πόρο που χρησιµοποιήθηκε είτε για να αναλύσει τα δεδοµένα των αποτελεσµάτων, ή για να καταργήσει προσωρινές ρυθµίσεις κλπ. [8] 26

27 Κεφάλαιο 3. Τεχνολογίες Ο σκοπός των τεχνολογιών του Grid, είναι να υποστηρίξουν τον διαµοιρασµό και την συντονισµένη χρήση διάφορων πόρων σε δυναµικούς και κατανεµηµένους Εικονικούς Οργανισµούς. Πρέπει δηλαδή να κάνουν εφικτή την δηµιουργία εικονικών υπολογιστικών συστηµάτων, από γεωγραφικά κατανεµηµένα µηχανήµατα, τα οποία έχουν επαρκή βαθµό ολοκλήρωσης, ώστε να προσφέρουν τις επιθυµητές ποιότητες υπηρεσιών. Οι έννοιες και οι τεχνολογίες του Grid αναπτύχθηκαν αρχικά για να επιτρέψουν στις ευρέως διασκορπισµένες επιστηµονικές συνεργασίες, να διαµοιράζονται πόρους για ερευνητικούς σκοπούς. Οι εφαρµογές περιελάµβαναν την συνεργατική οπτικοποίηση (visualization) µεγάλων επιστηµονικών συνόλων δεδοµένων, κατανεµηµένους υπολογισµούς για απαιτητικές αναλύσεις δεδοµένων και την σύζευξη επιστηµονικών οργάνων µε αποµακρυσµένους υπολογιστές και αρχεία. Τέτοιες εφαρµογές αναµένεται να παίξουν σηµαντικό ρόλο σε εµπορικές συναλλαγές, αρχικά για επιστηµονικές και τεχνικές υπολογιστικές εφαρµογές και στη συνέχεια να επεκταθούν σε εµπορικές, κατανεµηµένες εφαρµογές. Παρακάτω, περιγράφονται οι δύο τεχνολογίες πάνω στις οποίες στηρίζεται η Αρχιτεκτονική Ανοικτών Υπηρεσιών του Grid (Open Grid Services Architecture OGSA), το Globus Toolkit και οι Web Services (υπηρεσίες Ιστού). Το Globus toolkit έχει ευρέως υιοθετηθεί ως µία τεχνολογία Grid, η οποία υποστηρίζει επιστηµονικούς και τεχνικούς υπολογισµούς. Οι Web services εµφανίστηκαν ως µία δηµοφιλής υποδοµή (framework) που βασίζεται σε καθιερωµένα πρότυπα, µε στόχο την πρόσβαση σε δικτυακές εφαρµογές. Επιπλέον, οι web services περιγράφουν τα αντικείµενα (objects) και τις διασυνδέσεις της αρχιτεκτονικής OGSA. 3.1 The Globus Toolkit Το Globus toolkit, αποτελεί µία ανοιχτή αρχιτεκτονική και περιλαµβάνει σύνολα υπηρεσιών ανοιχτών πόρων και βιβλιοθήκες λογισµικού, που υποστηρίζουν τα Grids και τις εφαρµογές τους. Τα εργαλεία (Toolkit) ασχολούνται µε θέµατα ασφάλειας, υποδοµής πληροφοριών, διαχείρισης πόρων και δεδοµένων, επικοινωνίας, ανίχνευσης σφαλµάτων και φορητότητας. Οι µηχανισµοί του Globus toolkit χρησιµοποιούνται σε εκατοντάδες sites καθώς και σε µεγάλα έργα που γίνονται για το Grid σε παγκόσµιο επίπεδο. Τα συνθετικά συστατικά του Globus toolkit τα οποία σχετίζονται και µε την αρχιτεκτονική OGSA, είναι το πρωτόκολλο GRAM (Grid Resource Allocation and Management protocol) κατανοµής και διαχείρισης πόρων, το οποίο επιτρέπει την ασφαλή και αξιόπιστη δηµιουργία υπηρεσιών και περιλαµβάνει την υπηρεσία 27

28 gatekeeper, που παρέχει ασφαλή και αξιόπιστη δηµιουργία και διαχείριση υπηρεσιών. Επιπλέον, το Globus toolkit περιλαµβάνει την υπηρεσία Meta Directory (MSD-2) και την υποδοµή ασφάλειας του Grid GSI (Grid Security Infrastructure). Όπως φαίνεται στην παρακάτω εικόνα 6, αυτά τα συστατικά προσφέρουν τα απαραίτητα στοιχεία µίας αρχιτεκτονικής προσανατολισµένης στις υπηρεσίες. Εικόνα 6. Οι µηχανισµοί του Globus toolkit, αρχικά φαίνεται η δηµιουργία ενός proxy credential και οι συνεχείς επικυρωµένες αιτήσεις για αποµακρυσµένες υπηρεσίες gatekeeper που έχουν ως αποτέλεσµα την δηµιουργία της διεργασίας του χρήστη #2 που ακολουθείται από µία αίτηση για µία άλλη αποµακρυσµένη υπηρεσία. Επίσης φαίνεται η υπηρεσία soft state registration µέσω του MSD-2. [9] Το πρωτόκολλο GRAM παρέχει την αξιόπιστη και ασφαλή αποµακρυσµένη δηµιουργία καθώς και την διαχείριση τυχαίων υπολογισµών. Οι µηχανισµοί της αρχιτεκτονικής GSI, χρησιµοποιούνται για την πιστοποίηση, την εξουσιοδότηση και την µεταβίβαση πιστοποιητικού - αντιπροσωπεία (delegation) των αποµακρυσµένων υπολογισµών. Το συστατικό gatekeeper αναλαµβάνει την µετάφραση ενός πιστοποιητικού Grid σε ένα τοπικό πιστοποιητικό, ενώ ένας GRAM ανταποκριτής (reporter), επιβλέπει και δηµοσιεύει πληροφορίες σχετικά µε την ταυτότητα και την κατάσταση των τοπικών υπολογισµών στην registry.. Η υπηρεσία MSD-2 παρέχει µία ενιαία υποδοµή για την ανακάλυψη και την πρόσβαση σε πληροφορίες, που σχετίζονται µε τον τρόπο διαµόρφωσης και την κατάσταση του συστήµατος. Αυτές οι πληροφορίες µπορεί να αφορούν την διαµόρφωση του υπολογιστικού server, την κατάσταση του δικτύου ή τις τοποθεσίες όπου βρίσκονται τα αντίγραφα (replicates) συνόλων δεδοµένων. Επίσης η υπηρεσία MSD-2, χρησιµοποιεί ένα soft-state πρωτόκολλο, το λεγόµενο πρωτόκολλο ειδοποιήσεων του Grid (Grid Notification protocol) το οποίο διαχειρίζεται το χρονικό όριο ζωής των δηµοσιευµένων πληροφοριών. Το υποδοµή ασφάλειας του Grid (Grid Security Infrastructure, GSI) που βασίζεται στην υπηρεσία δηµόσιου κλειδιού (public key), παρέχει εξακρίβωση ταυτότητα single sign-on, προστασία επικοινωνίας και κάποια αρχική υποστήριξη για περιορισµένη µεταβίβαση εξουσιοδότησης. Η εξακρίβωση ταυτότητας single sign-on, είναι µία µέθοδος ελέγχου πρόσβασης, που επιτρέπει στον χρήστη να κάνει εξακρίβωση της ταυτότητας του και συνεπώς να δηµιουργήσει ένα proxy πιστοποιητικό. Με αυτό το πιστοποιητικό, ένα πρόγραµµα µπορεί να εξασφαλίσει την πρόσβαση σε κάποια αποµακρυσµένη υπηρεσία εκ µέρους του χρήστη. Η υπηρεσία αντιπροσωπείας 28

29 επιτρέπει την εξουσιοδότηση µίας αποµακρυσµένη υπηρεσίας που κατέχει τα αναγκαία proxy credentials να ενεργήσει εκ µέρους του χρήστη. Συνήθως υπάρχουν διάφορους περιορισµοί σε αυτήν την λειτουργία. Αυτή η δυνατότητα είναι σηµαντική για nested λειτουργίες. Η υποδοµή GSI χρησιµοποιεί τα πιστοποιητικά Χ.509, ως βάση για την εξακρίβωση της ταυτότητας του χρήστη. Τα πιστοποιητικά Χ.509 χρησιµοποιούνται ευρέως, ως καθιερωµένο πρότυπο για την δηµιουργία πιστοποιητικών στην υποδοµή δηµόσιου κλειδιού (Public Key Infrastructure, PKI). Η υποδοµή GSI ορίζει ένα Χ.509 proxy πιστοποιητικό για να αυξήσει την ισχύ του και να µπορέσει να υποστηρίξει την λειτουργία single sign-on καθώς και την εξουσιοδότηση. Επίσης, η GSI χρησιµοποιεί το πρωτόκολλο ασφάλειας επιπέδου µεταφοράς (Transport Layer Security, TLS) για την διαδικασία πιστοποίησης. Ένα βασικό στοιχείο που υποστηρίζει το Χ.509 πιστοποιητικό είναι η περιορισµένη αντιπροσωπεία. Με αυτή την λειτουργία, µία οντότητα µπορεί να µεταβιβάσει µέρος των προνοµίων της σε µία άλλη οντότητα. Αυτός ο περιορισµός είναι σηµαντικός για να µειωθούν οι δυσάρεστες συνέπειες της εσκεµµένης ή συµπτωµατικής κατάχρησης των µεταβιβασµένων δικαιωµάτων. 3.2 Web Services Ο όρος Web services περιγράφει µία σηµαντική ανερχόµενη προσέγγιση στους κατανεµηµένους υπολογισµούς, και εστιάζει σε απλά καθιερωµένα πρότυπα βασισµένα στο διαδίκτυο, που απευθύνονται µε τη σειρά τους στους ετερογενείς κατανεµηµένους υπολογισµούς. Οι Web services ορίζουν µία τεχνική, η οποία περιγράφει τα προσβάσιµα συστατικά λογισµικού, τις µεθόδους για την πρόσβαση σε αυτά και µεθόδους ανακάλυψης των σχετικών προµηθευτών υπηρεσιών. Τα καθιερωµένα πρότυπα των Web services ορίζονται από το World Wide Web Consortium W3C, αλλά και από άλλους φορείς τυποποίησης οι οποίοι δηµιουργούν τη βάση για νέες σηµαντικές πρωτοβουλίες στον τοµέα της βιοµηχανίας. Παρακάτω περιγράφονται τρία από αυτά τα καθιερωµένα πρότυπα. The Simple Object Access Protocol (SOAP): Το πρότυπο κανάλι επικοινωνίας SOAP παρέχει έναν τρόπο επικοινωνίας µέσω µηνυµάτων, ανάµεσα σε µία εφαρµογή που ενεργεί ως προµηθευτής υπηρεσιών και µία εφαρµογή πελάτη. Το SOAP είναι ένας απλός µηχανισµός που χρησιµοποιεί ήδη υπάρχοντα πρωτόκολλα όπως για παράδειγµα τα HTTP, FTP, SMTP και άλλα παρόµοια, για την µεταφορά δεδοµένων ως µηνύµατα. Με την χρήση του SOAP πολλαπλασιάζονται οι δυνατότητες των Web services. 29

30 The Web Services Description Language: Η γλώσσα περιγραφής των Web services είναι ένα αρχείο XML το οποίο περιγράφει τις Web services ως ένα σύνολο από τελικά σηµεία (endpoints) που λειτουργούν σε µηνύµατα. Αυτά τα µηνύµατα µπορεί να περιέχουν πληροφορία, που είναι προσανατολισµένη είτε στα έγγραφα, είτε στις διαδικασίες. ηλαδή, η γλώσσα WSDL περιγράφει ένα σύνολο µηνυµάτων και τον τρόπο που αυτά ανταλλάσσονται. Επίσης επιτρέπει στους παροχείς υπηρεσιών να περιγράψουν την βασική µορφή των αιτήσεων για τις υπηρεσίες που αναζητούν, και τις απαντήσεις των προµηθευτών υπηρεσιών, µε τη χρήση διαφορετικών πρωτοκόλλων και υπηρεσιών. WS Inspection: Η υπηρεσία WS Inspection χρησιµοποιεί την γλώσσα XML και σχετικές τεχνικές, µε σκοπό να εντοπιστούν οι περιγραφές υπηρεσιών που έχει δηµοσιεύσει ένας προµηθευτής υπηρεσιών. Ένα αρχείο σε γλώσσα WSIL (WS Inspection Language) µπορεί να περιλαµβάνει µία συλλογή από περιγραφές υπηρεσιών και παραποµπές (links) σε άλλους πόρους περιγραφής υπηρεσιών. Μία περιγραφή υπηρεσίας, είναι συνήθως ένα αρχείο URL σε ένα έγγραφο WSDL. Συχνά, η περιγραφή µίας υπηρεσίας µπορεί να αποτελεί µία αναφορά για µία καταχώρηση σε µία UDDI (Universal Description Discovery and Integration) registry. Ένα link συνήθως αναφέρεται σε ένα URL το οποίο παραπέµπει σε ένα έγγραφο WS Inspection. Μία υπηρεσία, χρησιµοποιώντας την µέθοδο επικοινωνίας WS Inspection, µπορεί να δηµιουργήσει ένα έγγραφο σε γλώσσα WSIL, το οποίο µπορεί να είναι προσβάσιµο µέσω του δικτύου. Στην συνέχεια, οι πελάτες υπηρεσιών χρησιµοποιούν καθιερωµένους µηχανισµούς πρόσβασης, που βασίζονται στις Web υπηρεσίες µε σκοπό να ανακτήσουν αυτό το αρχείο και για να ανακαλύψουν τις υπηρεσίες που δηµοσιεύει ο προµηθευτής υπηρεσιών. Τα αρχεία WSIL µπορούν να οργανωθούν σε διαφορετικές µορφές στο ευρετήριο. Έχουν οριστεί διάφορα καθιερωµένα πρότυπα των Web services όπως για παράδειγµα είναι η γλώσσα Web Services Flow Language WBFL, που αφορά την orchestration (οργάνωση) των Web services, δηλαδή την ανάπτυξη εξελιγµένων Web services συνθέτοντας απλούστερες Web services. Η υποδοµή των Web services έχει δύο πλεονεκτήµατα. Πρώτον, υποστηρίζει την δυναµική ανακάλυψη και την σύνθεση υπηρεσιών σε ετερογενή περιβάλλοντα µε τη χρήση ειδικών µηχανισµών. Αυτοί οι µηχανισµοί δίνουν την δυνατότητα να ανακαλυφτούν και να καταχωρηθούν οι περιγραφές διασυνδέσεων, δηµιουργούν περιγραφές τελικών σηµείων (endpoints) καθώς και πληρεξούσια (proxies) που βασίζονται στις συνδέσεις µε ειδικές διεπαφές. Το δεύτερο πλεονέκτηµα των Web services είναι η διαδεδοµένη χρήση των ποικίλων µηχανισµών τους, δίνει την δυνατότητα σε µία υποδοµή που βασίζεται στις Web services, να µπορεί να εκµεταλλευτεί πολυάριθµα εργαλεία και υπάρχουσες υπηρεσίες. [9] 30

31 3.3 The Open Grid Services Architecture Η αρχιτεκτονική OGSA, ασχολείται µε την δηµιουργία, την διαχείριση καθώς και την εφαρµογή δυναµικών των συνόλων (ensembles) πόρων και υπηρεσιών, που απαρτίζουν τους Εικονικούς Οργανισµούς. Η υπηρεσία, ορίζεται σαν µία οντότητα εξουσιοδοτηµένη από το δίκτυο και προσφέρει κάποιες δυνατότητες όπως για παράδειγµα, υπολογιστικούς και αποθηκευτικούς πόρους, δίκτυα, προγράµµατα και βάσεις δεδοµένων. Η OGSA προσαρµόζει τις Web services έτσι ώστε να πληρούν κάποιες συγκεκριµένες απαιτήσεις του Grid. Για παράδειγµα, παρακάτω αναφέρονται οι πρότυπες διεπαφές που ορίζονται από την αρχιτεκτονική OGSA: Discovery (Ανακάλυψη): Οι πελάτες απαιτούν µηχανισµούς για την ανακάλυψη διαθέσιµων υπηρεσιών καθώς και για τον προσδιορισµό των χαρακτηριστικών τους, έτσι ώστε να µπορούν να διαµορφώσουν ανάλογα τις αιτήσεις τους για αυτές τις υπηρεσίες. Dynamic service creation ( υναµική δηµιουργία υπηρεσιών): Μία οποιαδήποτε υπηρεσία που χρησιµοποιείται για την δηµιουργία άλλων υπηρεσιών, θα πρέπει να παρέχει µία τυποποιηµένη διεπαφή (standard Interface) καθώς και σηµασιολογικά στοιχεία. Lifetime management ( ιαχείριση χρόνου ζωής): Σε ένα σύστηµα που ενσωµατώνει οντότητες προσωρινών και stateful (µακρόβιες) υπηρεσιών, θα πρέπει να παρέχονται µηχανισµοί για την ανάκτηση υπηρεσιών και πληροφορίες για την κατάσταση αποτυχηµένων λειτουργιών. Notification: Σε µία συλλογή δυναµικών και κατανεµηµένων υπηρεσιών, µία υπηρεσία θα πρέπει να µπορεί να ειδοποιήσει τις άλλες, µε ασύγχρονο τρόπο, για τυχόν σηµαντικές αλλαγές στην κατάστασή της. Manageability (Ικανότητα ιαχείρισης): Παρέχονται λειτουργίες που σχετίζονται µε την διαχείριση και την επίβλεψη πολλών οντοτήτων των υπηρεσιών του Grid. Simple hosting environment: Ένα απλό περιβάλλον εκτέλεσης υπηρεσιών είναι ένα σύνολο πόρων τοποθετηµένο εντός ενός διοικητικού πεδίου, το οποίο υποστηρίζει τοπικές εξυπηρετήσεις. Όπως έχει προαναφερθεί, τα τµήµατα του Globus toolkit που επηρεάζονται περισσότερο από την αρχιτεκτονική OGSA είναι το πρωτόκολλο GRAM, η υποδοµή πληροφοριών MSD-2 και η υποδοµή ασφάλειας GSI. Στο µέλλον, αναµένεται η υλοποίηση του Globus toolkit να στηρίζεται στην αρχιτεκτονική OGSA. [10] 31

32 Β ΜΕΡΟΣ 32

33 Κεφάλαιο 4. Πόροι Οι τεχνολογίες των συστηµάτων Grid προσφέρουν την δυνατότητα του διαµοιρασµού, της ανταλλαγής, της επιλογής και της συγκέντρωσης κατανεµηµένων γεωγραφικά ή και διαδικτυακά ετερογενών πόρων. Αυτοί οι πόροι µπορεί να είναι αισθητήρες, ηλεκτρονικοί υπολογιστές, βάσεις δεδοµένων, συσκευές οπτικοποίησης ή και επιστηµονικά όργανα. Σε ένα δυναµικό περιβάλλον όπως είναι αυτό του Grid, η δυνατότητα να περιγράφονται οι πόροι που χρειάζονται οι εφαρµογές είναι απαραίτητη, ώστε να µπορούν να έχουν συνεχή πρόσβαση σε αυτούς. Σε ένα περιβάλλον Grid, όπου οι πόροι βρίσκονται στην κατοχή διαφορετικών ατόµων, κοινοτήτων ή οργανισµών, οι οποίοι εφαρµόζουν διαφορετικές πολιτικές διοίκησης, η πρόσβαση και η διαχείριση των πόρων αποτελεί δύσκολη υπόθεση. Οι µεσολαβητές πόρων διευκολύνουν αυτήν την διαδικασία παρέχοντας ένα επίπεδο αφαίρεσης (abstraction level), επιτρέποντας έτσι στους χρήστες την διαφανή πρόσβαση σε ετερογενείς πόρους. Το µοντέλο Gridbus broker λειτουργεί ως ένας µεσολαβητής πόρων, που έχει σχεδιαστεί για να υποστηρίξει την χρονοδροµολόγηση των υπολογιστικών εφαρµογών και των εφαρµογών δεδοµένων του Grid. [24] 4.1 Είδη Πόρων Το Grid είναι µία συλλογή από µηχανήµατα τα οποία αναφέρονται και ως «κόµβοι», «πόροι», «µέλη», «δότες», «clients», «hosts» ή και «µηχανές». Όλα αυτά τα µηχανήµατα συνεισφέρουν οποιονδήποτε συνδυασµό πόρων, στο συνολικό σύστηµα Grid. Κάποιοι πόροι µπορεί να µπορούν να χρησιµοποιηθούν από όλους τους χρήστες του Grid ενώ κάποιοι άλλοι έχουν περιορισµούς. Παρακάτω περιγράφονται τα είδη των πόρων που χρησιµοποιούνται σε ένα σύστηµα Grid. Υπολογιστικοί πόροι Είναι το πιο συνηθισµένο είδος πόρων, και αναφέρεται σε υπολογιστικούς κύκλους που παρέχονται από επεξεργαστές µηχανηµάτων του συστήµατος. Οι επεξεργαστές µπορούν να διαφέρουν ως προς την ταχύτητα, την αρχιτεκτονική, την πλατφόρµα λογισµικού καθώς και άλλους σχετικούς παράγοντες όπως είναι η µνήµη και η συνδεσιµότητα. Υπάρχουν τρεις βασικοί τρόποι χρήσης των υπολογιστικών πόρων ενός συστήµατος Grid. Ο πιο εύκολος και εύχρηστος τρόπος είναι η εκτέλεση µίας εφαρµογής σε ένα διαθέσιµο µηχάνηµα του Grid παρά τοπικά. Ο δεύτερος τρόπος περιλαµβάνει τη χρήση µίας εφαρµογής η οποία έχει σχεδιαστεί έτσι ώστε να µπορεί να διαχωρίσει την εργασία της σε διαφορετικά τµήµατα τα οποία µπορούν να εκτελεστούν παράλληλα σε διαφορετικούς επεξεργαστές. Ο τρίτος τρόπος 33

34 αναφέρεται στην εκτέλεση µίας εφαρµογής η οποία θα πρέπει να εκτελεστεί πολλές φορές σε διαφορετικά µηχανήµατα του Grid. Η δυνατότητα κλιµάκωσης (scalability) είναι µία µονάδα µέτρησης της αποδοτικότητας πολλών επεξεργαστών οι οποίοι χρησιµοποιούνται ταυτόχρονα. Εάν ο διπλάσιος αριθµός επεξεργαστών καταφέρει να ολοκληρώσει την εκτέλεση µίας εργασίας στον µισό αναµενόµενο χρόνο, τότε υπάρχει απόλυτη κλιµάκωση. Παρόλα αυτά, µπορεί να υπάρχουνε περιορισµοί στην κλιµάκωση, στην περίπτωση που οι εφαρµογές µπορούν να διασπαστούν σε περιορισµένο αριθµό ανεξάρτητα εκτελέσιµων τµηµάτων ή αν αυτά τα τµήµατα έχουν ανταγωνισµό για κάποιους πόρους. Αποθηκευτικοί πόροι Το δεύτερο πιο συχνά χρησιµοποιούµενο είδος πόρων σε ένα σύστηµα Grid, είναι η αποθήκευση δεδοµένων. Ένα Grid, το οποίο παρέχει ενσωµατωµένες υπηρεσίες αποθήκευσης δεδοµένων, συχνά ονοµάζεται data grid. Κάθε µηχάνηµα στο σύστηµα, παρέχει κάποιες δυνατότητες αποθήκευσης για χρήση στο Grid ακόµα και αν αυτές είναι προσωρινές. Η αποθήκευση µπορεί να αναφέρεται σε µία µονάδα µνήµης ενσωµατωµένη στον επεξεργαστή ή µπορεί να είναι «δευτερεύουσα µνήµη» (secondary storage) που χρησιµοποιεί µονάδες σκληρών δίσκων ή και άλλου είδους µέσα µόνιµης αποθήκευσης. Μία µνήµη ενσωµατωµένη σε έναν επεξεργαστή συνήθως προσφέρει πολύ γρήγορη πρόσβαση αλλά είναι ασταθής. Για αυτόν τον λόγο, είναι προτιµότερο να χρησιµοποιείται για την απόκρυψη δεδοµένων ή για να παρέχει προσωρινή αποθήκευση στις τρέχουσες εφαρµογές. Η δευτερεύουσα µνήµη σε ένα σύστηµα Grid µπορεί να χρησιµοποιηθεί για να αυξήσει την χωρητικότητα, την απόδοση, τον διαµοιρασµό αλλά και την αξιοπιστία των δεδοµένων. Η χωρητικότητα µπορεί να αυξηθεί χρησιµοποιώντας την αποθήκευση σε πολλά µηχανήµατα, µε ένα ενοποιηµένο σύστηµα αρχείων. Κάθε ανεξάρτητο αρχείο ή βάση δεδοµένων µπορεί να χρησιµοποιήσει περισσότερες συσκευές αποθήκευσης ή µηχανήµατα ώστε να εξαλείψει τους περιορισµούς µέγιστου µεγέθους των αρχείων, που επιβάλλουν τα συστήµατα αρχείων των λειτουργικών συστηµάτων. Ένα ενοποιηµένο σύστηµα αρχείων µπορεί να παρέχει ένα µοναδικό οµοιόµορφο name space για την αποθήκευση στο Grid. Με αυτόν τον τρόπο, οι χρήστες µπορούν να απευθυνθούν ευκολότερα σε δεδοµένα, χωρίς να χρειάζεται να ξέρουν την ακριβή τους τοποθεσία. Με παρόµοιο τρόπο, ένα ειδικό λογισµικό βάσης δεδοµένων µπορεί να συνενώσει τις ανεξάρτητες βάσεις δεδοµένων µε τα αρχεία για να συνθέσει µία µεγαλύτερη και πιο εύχρηστη βάση δεδοµένων, η οποία θα µπορεί να είναι προσβάσιµη κάνοντας ερωτήσεις (queries) στην βάση δεδοµένων. Τα πιο προηγµένα συστήµατα αρχείων, σε ένα σύστηµα Grid µπορούν να δηµιουργήσουν αυτόµατα αντίγραφα από σύνολα αρχείων µε σκοπό να παρέχουν 34

35 περισσότερη αξιοπιστία αλλά και απόδοση στο σύστηµα. Ένας έξυπνος grid scheduler µπορεί να βοηθήσει στην επιλογή των κατάλληλων αποθηκευτικών συσκευών για να φυλάξει εκεί αρχεία, µε βάση τα πρότυπα χρησιµοποίησης. Στη συνέχεια, οι εργασίες µπορούν να χρονοδροµολογηθούν πιο κοντά στα δεδοµένα, κατά προτίµηση στα µηχανήµατα τα οποία συνδέονται άµεσα µε τις αποθηκευτικές συσκευές που φυλάσσουν τα δεδοµένα. Ικανότητα επικοινωνίας Η γρήγορη ανάπτυξη στην ικανότητα επικοινωνίας µεταξύ των µηχανηµάτων, καθιστά την τεχνολογία του Grid computing πιο πρακτική σε σύγκριση µε το περιορισµένο εύρος ζώνης που προσέφερε αρχικά η τεχνολογία των Κατανεµηµένων Υπολογισµών. Για αυτόν τον λόγο, δεν προκαλεί έκπληξη το γεγονός ότι ένας άλλος σηµαντικός πόρος για το Grid είναι η ικανότητα επικοινωνίας και περιλαµβάνει την επικοινωνία εσωτερικά αλλά και εξωτερικά από το Grid. Οι επικοινωνίες που γίνονται µέσα στο Grid, είναι σηµαντικές για την αποστολή εργασιών καθώς και των απαιτούµενων δεδοµένων τους, σε διάφορα σηµεία µέσα στο σύστηµα. Κάποιες εργασίες απαιτούν την επεξεργασία µίας µεγάλης ποσότητας δεδοµένων, η οποία είναι πιθανό να µπορεί να γίνει στο ίδιο µηχάνηµα στο οποίο εκτελείται η εργασία. Το διαθέσιµο εύρος ζώνης για τέτοιου είδους επικοινωνίες µπορεί να αποτελέσει έναν σηµαντικό πόρο, ο οποίος µπορεί να περιορίσει την δυνατότητα χρησιµοποίησης του grid. Η πρόσβαση σε εξωτερικές επικοινωνίες, στο διαδίκτυο για παράδειγµα, µπορεί να φανεί χρήσιµη στην κατασκευή µηχανών αναζήτησης. Τα µηχανήµατα του grid εκτός από τις µεταξύ τους συνδέσεις, µπορούν να έχουν συνδέσεις και στο διαδίκτυο. Όταν αυτές οι συνδέσεις δεν µοιράζονται το ίδιο επικοινωνιακό µονοπάτι, προσθέτουν στο συνολικό διαθέσιµο εύρος ζώνης, για την πρόσβαση στο διαδίκτυο. Τα πλεονάζοντα επικοινωνιακά µονοπάτια είναι κάποιες φορές χρήσιµα για την καλύτερη αντιµετώπιση των ενδεχόµενων αποτυχιών του δικτύου καθώς και της αυξηµένης κίνησης δεδοµένων. Σε µερικές περιπτώσεις, θα πρέπει να παρέχονται δίκτυα µε υψηλότερη ταχύτητα, για να ικανοποιήσουν τις απαιτήσεις των εργασιών που µεταφέρουν µεγαλύτερη ποσότητα δεδοµένων. Ένα σύστηµα διαχείρισης του grid µπορεί να παρουσιάσει καλύτερα την τοπολογία του συστήµατος και να επισηµάνει τα προβλήµατα στην επικοινωνία. 35

36 Λογισµικό και άδειες Ένα grid µπορεί να έχει εγκατεστηµένο λογισµικό, το οποίο όµως είναι πολύ ακριβό για να εγκατασταθεί σε κάθε µηχάνηµά του grid. Χρησιµοποιώντας ένα grid, οι εργασίες που χρειάζονται αυτό το λογισµικό αποστέλλεται στα ειδικά µηχανήµατα, στα οποία υπάρχει εγκατεστηµένο. Αυτή η προσέγγιση µπορεί να εξοικονοµήσει σηµαντικές δαπάνες για έναν οργανισµό όταν τα τέλη της άδειας του λογισµικού είναι ακριβά. Κάποιοι διακανονισµοί χορήγησης αδειών λογισµικού, επιτρέπουν να εγκατασταθεί το λογισµικό σε όλα τα µηχανήµατα του grid, αλλά µπορεί να περιορίζουν τον αριθµό των εγκαταστάσεων που µπορούν να χρησιµοποιηθούν ταυτόχρονα σε οποιαδήποτε δεδοµένη στιγµή. Ο φορέας διοίκησης της άδειας χορήγησης λογισµικού παρακολουθεί πόσα αντίγραφα του λογισµικού χρησιµοποιούνται ταυτόχρονα και αποτρέπει την χρήση των παραπάνω από το επιτρεπόµενο όριο. Οι schedulers εργασιών του grid µπορούν να διαµορφωθούν έτσι ώστε να λαµβάνουν υπόψη τις άδειες λογισµικού ή εναλλακτικά να τις εξισορροπούν µε άλλες πολιτικές ή προτεραιότητες. Ειδικός εξοπλισµός, χωρητικότητες, αρχιτεκτονικές και πολιτικές Οι πλατφόρµες στο grid συµβαίνει συχνά να έχουν διαφορετικές αρχιτεκτονικές, λειτουργικά συστήµατα, συσκευές, χωρητικότητες και εξοπλισµό. Καθένα από αυτά τα στοιχεία, αντιπροσωπεύει ένα διαφορετικό είδος πόρου, το οποίο µπορεί να χρησιµοποιηθεί από το grid ως κριτήριο για την ανάθεση εργασιών στα µηχανήµατα. Ενώ κάποιο λογισµικό µπορεί να είναι διαθέσιµο σε διάφορες αρχιτεκτονικές, προγράµµατα λογισµικού όπως είναι το PowerPC και το x86, συχνά σχεδιάζονται έτσι ώστε να µπορούν να εκτελεστούν σε συγκεκριµένο είδος υλικού hardware ή λειτουργικά συστήµατα. Τέτοιου είδους χαρακτηριστικά θα πρέπει να λαµβάνονται υπόψη κατά την ανάθεση εργασιών σε πόρους στο grid. Σε µερικές περιπτώσεις, ο διαχειριστής (administrator) ενός grid, µπορεί να δηµιουργήσει ένα νέο είδος τεχνητού πόρου, τον οποίο στη συνέχεια χρησιµοποιούν οι schedulers για να του αναθέσουν κάποια εργασία σύµφωνα µε κανόνες πολιτικής ή περιορισµούς. Για παράδειγµα, κάποια µηχανήµατα µπορεί να προορίζονται για χρήση, αποκλειστικά σε ιατρικές έρευνες. Αυτά τα µηχανήµατα προσδιορίζονται ότι έχουν µία ιδιότητα attribute, στη συγκεκριµένη περίπτωση, την ιατρική έρευνα, και ο scheduler διαµορφώνεται έτσι ώστε να αναθέτει εργασίες που απαιτούν µηχανήµατα του πόρου της ιατρικής έρευνας. Ένα άλλο σενάριο ορίζει ότι κάποια µηχανήµατα µπορεί να συµµετέχουν στο grid, µόνο εφόσον δεν θα χρησιµοποιηθούν για ιατρική έρευνα. Σε αυτή την περίπτωση, οι εργασίες που απαιτούν έναν πόρο ιατρικής έρευνας δεν µπορούν να ανατεθούν σε αυτά τα µηχανήµατα. Φυσικά, για να εφαρµοστεί µία τέτοιου είδους προσέγγιση, οι 36

37 διαχειριστές θα πρέπει να ταξινοµήσουν τις εργασίες σε κατηγορίες µέσω κάποιας διαδικασίας πιστοποίησης. [25] 4.2 Ανακάλυψη Πόρων Η ανακάλυψη ενός ειδικού πόρου στα συνηθισµένα υπολογιστικά περιβάλλοντα είναι µία σχετικά εύκολη διαδικασία, καθώς ο αριθµός των διαµοιραζόµενων πόρων είναι µικρός και όλοι οι πόροι τίθενται υπό κεντρικό έλεγχο. Σε ένα περιβάλλον Grid, υπάρχουν ορισµένοι παράγοντες οι οποίοι καθιστούν, την ανακάλυψη των πόρων, ως ένα δύσκολο πρόβληµα. Αυτοί οι παράγοντες είναι, ο µεγάλος αριθµός των πόρων, οι κατανεµηµένοι ιδιοκτήτες αυτών, η ετερογένεια των πόρων, οι ενδεχόµενες αποτυχίες των πόρων και η εξέλιξή τους. Ένας µηχανισµός ανακάλυψης πόρων για να είναι αποδοτικός, θα πρέπει να λάβει υπόψη αυτούς τους παράγοντες. Μία άλλη σηµαντική πτυχή του ζητήµατος, είναι η δυναµικότητα ενός τέτοιου συστήµατος, όπως είναι το grid. Οι πόροι που διαµοιράζονται σε ένα grid παρουσιάζονται σε δύο καταστάσεις: την εντός σύνδεσης και την εκτός σύνδεσης. Όλοι οι πόροι δεν εµφανίζονται µονίµως εντός σύνδεσης. Η κατάσταση ενός πόρου µπορεί να αλλάξει ανά χρονικές στιγµές, από εντός σύνδεσης σε εκτός σύνδεσης και το αντίστροφο. Η κύρια αιτία για την αλλαγή κατάστασης των πόρων, είναι η κατανεµηµένη ιδιοκτησία αυτών. Ένας ιδιοκτήτης µπορεί να καθιερώσει µία πολιτική σε έναν τερµατικό σταθµό, που δηλώνει ότι µία ξένη εργασία µπορεί να εκτελεστεί σε ένα µηχάνηµα µόνο σε συγκεκριµένες χρονικές περιόδους. Ένας άλλος λόγος για έναν πόρο να αναχωρήσει από ένα σύστηµα grid, δηλαδή να τεθεί σε κατάσταση εκτός σύνδεσης, είναι ο αυξηµένος τοπικός φόρτος εργασιών. Ένας ιδιοκτήτης µπορεί να ορίσει µία πολιτική σύµφωνα µε την οποία, µία ξένη εργασία µπορεί να εκτελεστεί σε ένα µηχάνηµα, µόνο εφόσον ο τοπικός φόρτος εργασιών είναι µικρότερος από ένα συγκεκριµένο όριο. Όταν ο τοπικός φόρτος εργασιών φτάσει αυτό το όριο, ένας πόρος θα πρέπει να αναχωρήσει από το grid και να συνεχίσει να εκτελεί µόνο τις τοπικές του εργασίες. Τέλος, ο τεράστιος αριθµός των πόρων σε ένα grid, αυξάνει τις πιθανότητες αποτυχίας που µπορούν να παρουσιαστούν σε αυτούς. Οι αποτυχίες των πόρων είναι απρόβλεπτες αλλά και συνηθισµένες, και µπορούν να προκληθούν από σφάλµατα του υλικού hardware ή του λογισµικού ή και από διακοπές ρεύµατος. Έχουν προταθεί διάφοροι µηχανισµοί και υποδοµές τα προηγούµενα χρόνια, κατά την προσπάθεια των ερευνητών να λύσουν το πρόβληµα της ανακάλυψης των πόρων σε ένα σύστηµα Grid. Μία από τις πιο δηµοφιλείς προσεγγίσεις είναι η επονοµαζόµενη αντιστοιχία (matchmaking). Η υποδοµή matchmaking σχεδιάστηκε µε σκοπό να λύσει σηµαντικά προβλήµατα που εµφανίστηκαν κατά την ανάπτυξη του συστήµατος υπολογισµών υψηλής ρυθµοαπόδοσης Condor. Σύµφωνα µε αυτή την υποδοµή, όλες οι οντότητες ενός συστήµατος Grid, χωρίζονται σε δύο κατηγορίες: τους προµηθευτές 37

38 και τους πελάτες. Όλες οι οντότητες, δηµοσιεύουν τα χαρακτηριστικά και τις προϋποθέσεις που χρειάζονται σε ταξινοµηµένες διαφηµίσεις (advertisements). Μία υπηρεσία αντιστοιχίας, είναι υπεύθυνη να βρει ένα ταίριασµα ανάµεσα στις διαφηµίσεις, καθώς και να πληροφορήσει της οντότητες για το σχετικό ταίριασµα. Οι οντότητες που έχουν αντιστοιχηθεί, συνδέονται και συνεργάζονται για την εκτέλεση της υπηρεσίας. Τα τελευταία χρόνια, εκτός από τα Grids, έχουν παρουσιάσει σηµαντικό ενδιαφέρον και τα συστήµατα peer-to-peer. Τα δύο αυτά συστήµατα έχουν την ίδια κεντρική ιδέα, είναι περιβάλλοντα διαµοιρασµού πόρων. Η διαφορά τους είναι ότι έχουν διαφορετικές εξελικτικές πορείες. Τα συστήµατα Grid, χρησιµοποιούνται κυρίως σε πολύπλοκες επιστηµονικές εφαρµογές, ενώ τα συστήµατα peer-to-peer αναπτύσσονται για βασικές υπηρεσίες, όπως είναι για παράδειγµα ο διαµοιρασµός των πόρων. Μία άλλη αξιοσηµείωτη προσέγγιση στο πρόβληµα της ανακάλυψης των πόρων είναι αυτή της Σηµασιολογικής κοινότητας. Το κίνητρο της προσέγγισης αυτής, αφορά την σύνδεση των κοινοτήτων του Grid µε αυτές των χρηστών, µε σκοπό τον διαµοιρασµό των πόρων και την µεταξύ τους επικοινωνία. Ο βασικός της στόχος, είναι η δηµιουργία κοινοτήτων Grid, που βασίζονται σε πολιτικές κοινών ενδιαφερόντων και επιτρέπουν στους κόµβους της κοινότητας, να µάθουν ο ένας για τον άλλον χωρίς να βασίζονται σε ένα κεντρικό σηµείο συνάντησης. Ο µηχανισµός πινάκων δροµολόγησης (Routing Tables) που εξετάζεται στο [27], προτείνει έναν τρόπο καθοδήγησης των πόρων σε ένα δίκτυο grid. Με βάση το µοντέλο ενός δροµολογητή του grid, κάθε δροµολογητής διατηρεί πίνακες δροµολόγησης µε σκοπό να µπορέσει να καθοδηγήσει τις αιτήσεις σε ένα σύστηµα Grid. Τέλος, πρέπει να σηµειωθεί ότι έχουν δηµοσιευτεί έρευνες οι οποίες προτείνουν συνδυασµούς των προσεγγίσεων που έχουν γίνει κατά το παρελθόν. [26] 4.3 Επιλογή Πόρων Η επιλογή των πόρων µπορεί να αποτελέσει ένα πολύπλοκο πρόβληµα λόγω του γεγονότος ότι σε πολλές περιπτώσεις, οι πόροι που ψάχνει κάποιος χρήστης να ανακαλύψει, θέτουν από µόνοι τους προϋποθέσεις για την αποδοχή αιτήσεων. Για παράδειγµα, ένας πόρος µπορεί να επιτρέπει την πρόσβαση µόνο σε χρήστες που ανήκουν σε µία συγκεκριµένη οµάδα, ή αυτούς που µπορούν να πληρώσουν κάποιο αντίτιµο. Αυτή η παρατήρηση, οδήγησε τον Raman et al. [28], στο συµπέρασµα ότι η αναζήτηση και η επιλογή των πόρων θα πρέπει να θεωρούνται ως µία αµφίπλευρη διαδικασία ταιριάσµατος. Σύµφωνα µε αυτή την προσέγγιση, οι ιδιότητες των αιτηµάτων και οι πόροι εκφράζονται σε µία κοινή σύνταξη η οποία αντιπροσωπεύει τις ιδιότητες αλλά και τις εφαρµοζόµενες πολιτικές. Στη συνέχεια, χρησιµοποιείται ένα συµµετρικό βήµα ταιριάσµατος το οποίο προσδιορίζει, για ένα ζεύγος αίτησης 38

39 πόρου, εάν ικανοποιούνται τα αιτήµατα και για τις δύο πλευρές. Αυτό το συµµετρικό βήµα µπορεί να ενσωµατωθεί σε µία µεγαλύτερη αναζήτηση όπως φαίνεται παρακάτω: 1. Οι ιδιοκτήτες των πόρων δηµοσιεύουν τις απαιτήσεις και τις πολιτικές πρόσβασης σε έναν matchmaker. 2. O matchmaker αποθηκεύει αυτές τις δηµοσιεύσεις. 3. Οι πελάτες πόρων δηµοσιεύουν τις απαιτήσεις τους, για τους πόρους που αναζητούν, στον matchmaker. 4. O matchmaker αντιστοιχεί την αίτηση µε τις δηµοσιεύσεις των πόρων και στη συνέχεια επιστρέφει ένα αποτέλεσµα, το οποίο αποτελεί ένα υποσύνολο των αποθηκευµένων δηµοσιεύσεων. Η προσέγγιση αυτή, του Condor matchmaker, έχει εφαρµοστεί επιτυχώς σε πολλά πεδία εφαρµογών. Μία άλλη προσέγγιση επεκτείνει την ισχύ και την εµβέλεια της µεθόδου που περιγράφηκε προηγουµένως, αντιµετωπίζοντας το ταίριασµα των αιτηµάτων µε τους πόρους, ως ένα γενικευµένο πρόβληµα ικανοποίησης των περιορισµών. Παρακάτω περιγράφονται οι δυνατότητες ενός νέου συστήµατος ταιριάσµατος οι οποίες όµως δεν υποστηρίζονται στα ClassAds: Περιγραφή πόρων µε διαφορετικά επίπεδα γενικότητας και πολυπλοκότητας: Με την µέθοδο ClassAds εκτελούνται ακριβή ταιριάσµατα µε τις ιδιότητες. Παρόλα αυτά, διαφορετικοί προµηθευτές και καταναλωτές µπορούν να χρησιµοποιήσουν περιγραφές µε ποικίλα επίπεδα γενικότητας και πολυπλοκότητας. Για παράδειγµα, ένας πελάτης σε µία αυτοκινητοβιοµηχανία µπορεί να περιγράψει τις απαιτήσεις του όπως: 1995 Corolla, πρώτος ιδιοκτήτης, 60,000km, 10,000. Ο προµηθευτής όµως, µπορεί να προτιµάει πιο γενικές περιγραφές όπως: Αυτοκίνητα που παράγονται από Toyota και Honda, µε τιµή µεταξύ 15,000 και 25,000 Ταίριασµα δηµοσιεύσεων µε βάση την πολιτική και τις ιδιότητες: Το ClassAd κωδικοποιεί τις πολιτικές που δεν µπορούν να ερωτηθούν µε queries, σε δηλώσεις απαιτήσεων. Επίσης, η πολιτική, µπορεί συχνά να διαµορφώσει ένα σηµαντικό κριτήριο, για την επιλογή πόρων. Για παράδειγµα, ο χρήστης µπορεί να ρωτήσει Βρες όλα τα µηχανήµατα που επιτρέπουν πρόσβαση µεταξύ 7:00πµ µε 9:00πµ. Οι απαιτήσεις µπορούν να αντιστοιχίζονται µε τον ίδιο τρόπο, όπως άλλες ιδιότητες. Ταίριασµα µε σύνολα πόρων καθώς και ανεξάρτητους πόρους: Το ClassAd µπορεί να κάνει αντιστοιχίσεις one-to-one:, δηλαδή, µία αίτηση µε έναν πόρο. Σε αυτή την προσέγγιση όµως ένας χρήστης µπορεί για παράδειγµα, να 39

40 απαιτήσει Σύνολο υπολογιστών, όπου όλοι να είναι γρηγορότεροι από 10MHz, µε συνολική µνήµη 10Gb. Υποστηρίζονται δηλαδή ταιριάσµατα µε πολλούς τρόπους, που επιτρέπουν σε έναν χρήστη να εντοπίσει ένα σύνολο υπολογιστών, που ικανοποιούν τις απαιτήσεις που αναφέρθηκαν στο παράδειγµα,. Για να µπορέσουν να εκτελεστούν πειράµατα για αυτήν την προσέγγιση, έχουν σχεδιαστεί µία γλώσσα, η σηµασιολογία, ένας µηχανισµός matchmaking, και ένα σύστηµα που κάνει ταιριάσµατα, τα οποία συνολικά ονοµάστηκαν RedLine. Τα πειράµατα που πραγµατοποιήθηκαν, είχαν στόχο να καθορίσουν τα χαρακτηριστικά της απόδοσης του πρoτύπου RedLine. Επιπλέον, η προσέγγιση RedLine, χρησιµοποιήθηκε για την επίλυση προβληµάτων ταιριάσµατος για διάφορα πεδία εφαρµογών. Τα αρχικά αποτελέσµατα, έδειξαν ότι η απόδοση του, είναι παρόµοια µε αυτή του Condor matchmaker, ενώ η εκφραστικότητα του RedLine εµφανίστηκε καλύτερη. Το πρόβληµα ταιριάσµατος εµφανίζεται σε πολλούς τοµείς και για αυτόν τον λόγο, εκτός από τις προσεγγίσεις που αναφέρονται παραπάνω, έχουν αναπτυχθεί διάφορες άλλες για την επίλυση του. Πολλές προσπάθειες επίσης, έχουν γίνει για την ανάπτυξη συστηµάτων πληροφοριών για την δηµοσίευση, την συγκέντρωση και την υποστήριξη των ερωτηµάτων σε συλλογές από περιγραφές υπηρεσιών. Τέτοιου είδους συστήµατα, όπως είναι τα: LDAP (Lightweight Directory Access Protocol), MDS και UDDI, διαφέρουν σε διάφορα χαρακτηριστικά όπως είναι η σύνταξη περιγραφής τους, η γλώσσα διατύπωσης ερωτηµάτων και γενικά οι τεχνικές που χρησιµοποιούνται για να δηµοσιεύσουν και να συγκεντρώσουν τις περιγραφές των υπηρεσιών. Ωστόσο, αυτά τα συστήµατα έχουν όλα ένα κοινό χαρακτηριστικό, η αλληλεπίδραση του προµηθευτή υπηρεσιών µε τον πελάτη είναι ασύµµετρη. ηλαδή, ο πελάτης θέτει ερωτήµατα στις δηµοσιευµένες ιδιότητες από τον προµηθευτή, για να ορίσει τις υποψήφιες υπηρεσίες, πριν αυτός δηµιουργήσει τις αιτήσεις του για υπηρεσίες. Η διαδικασία επιλογής του πελάτη, µπορεί να αποτελεί ένα απλό ερώτηµα ή εναλλακτικά, µπορεί να περιλαµβάνει για παράδειγµα., έναν αλγόριθµο διαδικασιών που βασίζεται σε ένα µοντέλο απόδοσης. Τέτοιου είδους στρατηγικές προϋποθέτουν ότι η πολιτική του προµηθευτή υπηρεσιών επιβάλλεται µετά την επιλογή των υποψήφιων υπηρεσιών από τον καταναλωτή, κάτι το οποίο µπορεί να καταλήξει σε σπαταληµένη προσπάθεια. [29] 40

41 4.4 Κατανοµή πόρων Η απόδοση ενός συστήµατος Grid σχετίζεται σε µεγάλο βαθµό µε τον τρόπο που εκτελείται η κατανοµή των πόρων. Έχουν αναπτυχθεί διάφορες µέθοδοι για την κατανοµή και την χρονοδροµολόγηση των πόρων. Το σύστηµα κατανοµής πόρων του Grid, ασχολείται µε την διανοµή της άφθονης υπολογιστικής ισχύος των πόρων, στους χρήστες. [30] Η αποδοτική χρονοδροµολόγηση των εργασιών στα grids αποτελεί πρόκληση λόγω του µεγάλου αριθµού των κατανεµηµένων, αυτόνοµων πόρων. Στα υπολογιστικά grids, τα οποία είναι η συνηθέστερη κατηγορία grid, η χρονοδροµολόγηση των εργασιών εφαρµόζεται σε δύο επίπεδα: το επίπεδο grid και το τοπικό επίπεδο. Στην πρώτη περίπτωση, ο scheduler επιλέγει τα κατάλληλα συστήµατα για την εκτέλεση των εργασιών, ενώ στην δεύτερη περίπτωση, οι τοπικοί schedulers κατανέµουν τις εργασίες στους πόρους σύµφωνα µε µία στρατηγική. Οι grid schedulers και οι τοπικοί schedulers συνθέτουν µία υποδοµή χρονοδροµολόγησης η οποία µπορεί να κεντρικοποιηθεί (centralized) ή και να αποκεντρικοποιηθεί (decentralized). Η πιο συνηθισµένη αποκεντρικοποιηµένη αρχιτεκτονική είναι η ιεραρχική αρχιτεκτονική, η οποία περιλαµβάνει έναν grid scheduler, διάφορους κατανεµηµένους τοπικούς schedulers και πολλούς πόρους. Οι grid schedulers µπορούν να ταξινοµηθούν σε δύο κατηγορίες, τα κεντρικοποιηµένα µοντέλα και τα αποκεντρικοποιηµένα µοντέλα. Στα αποκεντρικοποιηµένα µοντέλα, οι grid schedulers συνεργάζονται µεταξύ τους για να βρουν ένα κατάλληλο σύστηµα για να εξυπηρετήσουν µία εργασία. [31] Ένα από τα πιο σηµαντικά συστατικά µίας διεπαφής σε ένα υπολογιστικό Grid, είναι ο µεσολαβητής πόρων. Αυτή η υπηρεσία, συχνά αναφέρεται και ως metascheduler λόγω της ιδιότητάς του να λειτουργεί ως scheduler των schedulers. Ο µεσολαβητής πόρων, είναι υπεύθυνος για την κατανοµή των πόρων του grid, στις αιτήσεις των πελατών των πόρων, που συνήθως έχουν την µορφή εργασιών ή tasks. Κάθε task προσδιορίζει τις απαιτήσεις των πόρων του, που συνήθως είναι ο αριθµός των αιτούµενων επεξεργαστών, η απαιτούµενη διαθέσιµη µνήµη, το περιβάλλον εκτέλεσης καθώς και άλλες. Τα tasks µπορεί να είναι είτε προσαρµόσιµα είτε όχι, που σηµαίνει ότι µπορούν να χρησιµοποιήσουν µία ποικιλία επεξεργαστών. Αυτά τα tasks υποβάλλονται από έναν τελικό χρήστη στην διεπαφή του grid, η οποία χρησιµοποιεί το συστατικό resource brokering για να τοποθετήσει το task στο grid. 41

42 Η διαδικασία επιλογής ενός συνόλου tasks για τους διαθέσιµους πόρους εξαρτάται από τις διαθέσιµες πληροφορίες που υπάρχουν σχετικά µε το task και τους πόρους. Κάποιες από τις πληροφορίες αυτές που µπορούν να χρησιµοποιηθούν για την λήψη αποφάσεων σχετικά µε την χρονοδροµολόγηση είναι οι εξής: Απαιτήσεις Χρόνος υποβολής Προτεραιότητα Εκτιµώµενος χρόνος εκτέλεσης Ιδιοκτήτης πόρου Επιπλέον, οι πληροφορίες για τους πόρους που µπορεί να χρησιµοποιήσει ο scheduler είναι οι εξής: ιαθεσιµότητα Χωρητικότητα Μήκος ουράς Εκτιµώµενος χρόνος αναµονής Αρχιτεκτονική Απόδοση Λειτουργικό σύστηµα Λογισµικό και βιβλιοθήκες Time of day (Χρόνος) Παρακάτω περιγράφονται δύο τεχνικές για την κατανοµή των πόρων στο grid. Πολλές από τις τεχνικές που έχουν εφαρµοστεί, είναι αποτελέσµατα από έρευνα που έγινε στις λειτουργίες, κατά τα αρχικά στάδια της ανάπτυξης των παράλληλων υπολογιστών και ως εκ τούτου προηγούνται της τεχνολογίας του Grid computing. First come first - served Η πιο απλή µέθοδος χρονοδροµολόγησης είναι η first come first served FCFS. Σύµφωνα µε αυτή την µέθοδο, τα tasks µε βάση την σειρά που έφτασαν στην ουρά αναµονής, αναθέτονται σε έναν τυχαίο πόρο, ο οποίος ικανοποιεί τις απαιτήσεις του task. Η µέθοδος FCFS ορίζει ότι η προτεραιότητα ενός task ισούται µε τον χρόνο που περίµενε στην ουρά (τρέχον χρόνος χρόνος υποβολής). 42

43 Backfilling Η µέθοδος backfilling είναι αποδοτική για την αποτελεσµατική χρονοδροµολόγηση παράλληλων tasks. Στα συστήµατα παράλληλων tasks, οι εργασίες που βρίσκονται την αρχή της ουράς συχνά καθυστερούν λόγω έλλειψης διαθέσιµων πόρων. Ωστόσο στην ουρά, συχνά υπάρχουν λιγότερο απαιτητικές εργασίες, οι οποίες µπορούν να εκτελεστούν νωρίτερα χωρίς να καθυστερούν την εργασία που βρίσκεται στην αρχή της ουράς. Η εύκολη µέθοδος backfilling εφαρµόζει αυτή την στρατηγική. Εάν οι πόροι για την εργασία που βρίσκεται στην αρχή της ουράς αναµένονται να είναι διαθέσιµοι την χρονική στιγµή t, τότε η εύκολη µέθοδος backfilling επιτρέπει σε µία εργασία µε αναµενόµενο µήκος l, όπου l < t, να ξεκινήσει να εκτελείται ώστε να µην περιµένει υποθέτοντας ότι οι απαιτούµενοι πόροι είναι διαθέσιµοι. Με αυτόν τον τρόπο, συµπληρώνονται τα αδρανή κενά στο πρόγραµµα εξυπηρέτησης, µε αποτέλεσµα να µειώνεται ο συνολικός χρόνος ολοκλήρωσης της εκτέλεσης των εργασιών. [32] 4.5 ιαµοιρασµός Πόρων Τα υπολογιστικά grids εξελίσσονται γύρω από τον διαµοιρασµό των δικτύων, των υπολογιστών και άλλων πόρων. Υποστηρίζουν υπηρεσίες οι οποίες διανέµονται σε πολλούς δικτυωµένους υπολογιστές, οι οποίοι είναι γνωστοί ως συστοιχίες. Η υποδοµή του Grid, όπως φαίνεται στην εικόνα 15, αποτελείται από στοιχεία όπως είναι η επαλήθευση της αυθεντικότητας, ο διαµοιρασµός των πόρων, συντονισµός και συγχρονισµός. Αυτά τα στοιχεία υπάρχουν πάνω σε µία διαδικτυακή εφαρµογή. Εικόνα 15. Μία υποδοµή Grid [33] 43

44 Προκειµένου να προταθεί µία κατάλληλη υποδοµή για τον διαµοιρασµό των πόρων, θα πρέπει να διευκρινιστούν οι ιδιότητες του Grid. Τα grids είναι µεγάλα από την άποψη των ενδεχόµενων διαθέσιµων πόρων, αλλά και των γεωγραφικών µεταξύ τους, αποστάσεων. Τα grids είναι κατανεµηµένα και ως εκ τούτου υπάρχουν καθυστερήσεις στην µεταφορά των δεδοµένων, γεγονός που µπορεί να επηρεάζει τις εφαρµογές. Τα grids είναι δυναµικά, δηλαδή οι διαθέσιµοι πόροι αλλάζουν σύµφωνα µε την διάρκεια ζωής µίας συνηθισµένης εφαρµογής. Τα grids είναι ετερογενή, η µορφή και οι ιδιότητες των sites διαφέρουν µεταξύ τους µε ποικίλους τρόπους. Τα Grids διασχίζουν τα όρια των ανθρώπινων οργανισµών, εποµένως οι πολιτικές για την πρόσβαση και την χρήση των πόρων, είναι διαφορετικές για τα διαφορετικά sites. Εξακρίβωση Ταυτότητας (Authentication) Η εξακρίβωση ταυτότητας είναι η διαδικασία επαλήθευσης της ταυτότητας του χρήστη. Αυτή η διαδικασία αναγνωρίζει το δικαίωµα του χρήστη να χρησιµοποιεί και να µοιράζεται τους διαθέσιµους πόρους στο grid. Επιπλέον, θα πρέπει να ληφθούν υπόψη οι διάφοροι ισχύοντες τοπικοί περιορισµοί ασφάλειας. Μόλις ο χρήστης γίνει µέλος ενός περιβάλλοντος Grid, µπορεί να έχει πρόσβαση σε όλους τους διαθέσιµους πόρους για τους οποίους έχει εξουσιοδοτηθεί. Η εξουσιοδότηση παίζει καθοριστικό ρόλο στην διαδικασία απόκτησης πρόσβασης στους πόρους ενός υπολογιστικού πλέγµατος. Το πρωτόκολλο εξουσιοδότησης είναι αυτό που καθορίζει εάν ένας χρήστης ή ένα µηχάνηµα, έχουν τα δικαίωµα να εκτελέσουν κάποιες ενέργειες. Υπάρχουν τρία βασικά στοιχεία στην ασφάλεια των πληροφοριών: η εµπιστευτικότητα, η ακεραιότητα και η διαθεσιµότητα. ιαµοιρασµός (Sharing) Ο διαµοιρασµός περιλαµβάνει την πρόσβαση σε εξουσιοδοτηµένους πόρους. Αυτοί οι πόροι µπορεί να είναι υλικού hardware όπως η RAM, ο χώρος στον δίσκο και τα κανάλια επικοινωνίας, ή λογισµικού όπως για παράδειγµα, προγράµµατα, αρχεία και δεδοµένα. Όλα τα µηχανήµατα στο διαδίκτυο, µπορούν να µοιραστούν αυτούς τους πόρους για να πραγµατοποιήσουν τις δραστηριότητές τους, εφόσον τους έχουν παραχωρηθεί τα κατάλληλα δικαιώµατα. Επιπλέον, θα πρέπει να υπάρχει η δυνατότητα επίβλεψης των πόρων σε οποιαδήποτε χρονική στιγµή. Για να γίνει αυτό, όλα τα µηχανήµατα ενός περιβάλλοντος Grid, θα πρέπει να καταχωρήσουν τους 44

45 διαθέσιµους πόρους τους, οι οποίοι συντηρούνται και ενηµερώνονται δυναµικά κατά την διάρκεια των υπολογισµών. Συντονισµός και Συγχρονισµός Ο συντονισµός διαχειρίζεται τις σχέσεις εξάρτησης που υπάρχουν µεταξύ των δραστηριοτήτων. Η αλληλεξάρτηση θεωρείται ως µία χρονική σχέση µεταξύ των δραστηριοτήτων. Για παράδειγµα, ένα πρόγραµµα το οποίο θα πρέπει να εκτελεστεί σε πολλά µηχανήµατα θα πρέπει να διαχωριστεί σε ανεξάρτητα υποπρογράµµατα, λόγω έλλειψης διαθέσιµων πόρων στο µηχάνηµά του. Αυτά τα υποπρογράµµατα θα πρέπει να συντονιστούν και να συγχρονιστούν ώστε να ολοκληρωθεί το task. Για παράδειγµα, υπάρχουν δύο περιπτώσεις υποπρογραµµάτων τα οποία εκτελούνται παράλληλα. Η πρώτη περίπτωση αποτελείται από τρία υποπρογράµµατα µε δύο διαθέσιµους πόρους, οπότε οποιαδήποτε δύο από τα τρία υποπρογράµµατα εκτελούνται µέχρι να ολοκληρωθούν. Το τρίτο θα πρέπει να περιµένει εωσότου ένα από τα δύο υποπρογράµµατα αποδεσµεύσει τους πόρους του. Στην δεύτερη περίπτωση, το τρίτο υποπρόγραµµα εξαρτάται από την ολοκλήρωση της εκτέλεσης των δύο υποπρογραµµάτων, δηλαδή τα αποτελέσµατα των δύο υποπρογραµµάτων επιτρέπουν την εκτέλεση του τρίτου. Οποιαδήποτε καθυστέρηση σε κάποιο πρόγραµµα επηρεάζει την εκτέλεση του τρίτου υποπρογράµµατος. Το Grid επιτρέπει τον διαµοιρασµό των πόρων είτε µε συγχρονισµένο τρόπο είτε µε ασύγχρονο. Στην πρώτη περίπτωση, οι πόροι µπορούν να διαµοιραστούν σε πολλά µέλη του grid ή συµµετέχουσες εφαρµογές, ενώ στην δεύτερη περίπτωση οι πόροι µοιράζονται κατόπιν παραγγελίας (on-demand) ή και σε διαφορετικές χρονικές ζώνες. Στο περιβάλλον του Grid, ο υπολογιστής θα πρέπει να µπορεί να αποφασίσει τί ποσότητα από τους πόρους του, για παράδειγµα ποιες λειτουργίες και ποια στοιχεία, µπορεί να µοιραστεί µε άλλους υπολογιστές. Οι λεπτοµέρειες των διαθέσιµων πόρων καταγράφονται σε ένα Κατάλογο Αναφοράς RD (Reference Directory). Ο κατάλογος αναφοράς βρίσκεται σε έναν server αναφοράς RS (Reference Server) όπως φαίνεται στην παρακάτω εικόνα 16. Ο κατάλογος αναφοράς ενηµερώνεται δυναµικά ώστε να καταγράφει τους διαθέσιµους πόρους, σε οποιαδήποτε χρονική στιγµή. Αυτό σηµαίνει πως αν µία εφαρµογή χρειάζεται πόρους από µία µακρινή τοποθεσία, θα πρέπει να απευθυνθεί σε έναν κατάλογο αναφοράς στο διαδίκτυο. Αυτός ο κατάλογος αναφοράς ενεργεί ως κεντρικό σηµείο, το οποίο αποθηκεύει λεπτοµέρειες στους διαθέσιµους πόρους, που βρίσκονται σε εξουσιοδοτηµένες τοποθεσίες του διαδικτύου. 45

46 Οποιαδήποτε εφαρµογή στο Grid, θα πρέπει να έχει το δικαίωµα να χρησιµοποιεί διαθέσιµους πόρους οποιαδήποτε χρονική στιγµή. Για παράδειγµα, µία εφαρµογή µπορεί να χρειάζεται µία συγκεκριµένη χωρητικότητα µνήµης RAM για να ολοκληρώσει ένα task, το οποίο δεν µπορεί να ολοκληρώσει µε την µνήµη RAM που διαθέτει. Οι αδρανείς υπολογιστές που υπάρχουν στο διαδίκτυο θα πρέπει να συνεισφέρουν για να ολοκληρωθεί το task. Εικόνα 16. Κατανεµηµένος διαµοιρασµός πόρων. [33] 4.6 Μοντέλα για την ιαχείριση Πόρων Η αυξανόµενη δηµοτικότητα του διαδικτύου και η διαθεσιµότητα ισχυρών υπολογιστών και δικτύων υψηλών ταχυτήτων, ως συστατικά προϊόντων µε χαµηλό κόστος, αλλάζουν τον τρόπο εκτέλεσης των υπολογισµών καθώς και την χρήση των ηλεκτρονικών υπολογιστών. Το ενδιαφέρον για την σύζευξη γεωγραφικά κατανεµηµένων, συνήθως υπολογιστικών, πόρων αυξάνεται για την επίλυση προβληµάτων µεγάλης κλίµακας, και οδηγεί στην ευρέως διαδεδοµένη τεχνολογία του Grid computing. Οι έρευνες και οι επενδύσεις που γίνονται για τα υπολογιστικά grids, υποκινούνται από το συµπέρασµα ότι η συντονισµένη πρόσβαση σε διάφορους γεωγραφικά κατανεµηµένους πόρους είναι πολύτιµη. Η διαχείριση των πόρων σε ένα περιβάλλον grid, γίνεται πολύπλοκη υπόθεση καθώς οι πόροι είναι διασκορπισµένοι σε διαφορετικά sites, είναι ετερογενείς εκ φύσεως και βρίσκονται υπό την κυριότητα διαφόρων ατόµων ή οργανισµών, καθένας από τους οποίους εφαρµόζει τις δικές του πολιτικές διαχείρισης των πόρων, καθώς και διαφορετικά µοντέλα πρόσβασης και κοστολόγησης αυτών. 46

47 Η επιλογή του κατάλληλου µοντέλου αρχιτεκτονικής για την διαχείριση των πόρων παίζει καθοριστικό ρόλο για την ενδεχόµενη εµπορική επιτυχία του grid. Υπάρχουν διάφορες προσεγγίσεις που µπορεί κάποιος να χρησιµοποιήσει για την ανάπτυξη συστηµάτων διαχείρισης πόρων στο grid. Παρακάτω περιγράφονται τρία διαφορετικά µοντέλα αρχιτεκτονικής για την διαχείριση πόρων στο Grid. Ιεραρχικό Μοντέλο Μοντέλο Abstract Owner Μοντέλο Αγοράς Τα µοντέλα αρχιτεκτονικής του grid θα πρέπει να ενθαρρύνει τους ιδιοκτήτες πόρων, να συµβάλλουν τους πόρους τους και να προσφέρουν µία δίκαιη βάση για τον διαµοιρασµό των πόρων αυτών µεταξύ των χρηστών, καθώς και την ρύθµιση της προσφοράς και της ζήτησης αυτών. Οι ιδιοκτήτες των πόρων επηρεάζουν τον τρόπο κατασκευής των συστηµάτων χρονοδροµολόγησης, για την καθοδήγηση των αιτηµάτων των χρηστών στους κατάλληλους πόρους. Τα συστήµατα χρονοδροµολόγησης του grid θα πρέπει να υιοθετήσουν την αρχιτεκτονική πολλών επιπέδων, επειδή κάθε πόρος έχει το δικό του σύστηµα χρονοδροµολόγησης και οι χρήστες προγραµµατίζουν τις εφαρµογές τους στο grid χρησιµοποιώντας τους µεσολαβητές πόρων Ιεραρχική ιαχείριση Πόρων Το Ιεραρχικό µοντέλο για την αρχιτεκτονική διαχείρισης των πόρων, αναπτύχθηκε από το Global Grid Forum. Τα βασικά συστατικά αυτής της αρχιτεκτονικής διαχωρίζονται σε ενεργητικά και παθητικά. Τα παθητικά συστατικά είναι τα εξής: Πόροι: Οι πόροι είναι µέσα, τα οποία χρησιµοποιούνται για µία χρονική περίοδο και µπορούν να είναι είτε ανανεώσιµοι είτε όχι. Βρίσκονται υπό την κατοχή ιδιοκτητών, οι οποίοι µπορεί να χρεώσουν τους χρήστες για την χρησιµοποίηση των πόρων τους, καθώς επίσης και να τους διαθέσουν σε διάφορους χρήστες ή και να µην τους διαθέτουν, δηλαδή οι πόροι να είναι αποκλειστικοί. Οι πόροι µπορούν να έχουν µία αποκλειστική ονοµασία ή και να περιγράφονται µε παραµετρικό τρόπο. Tasks: Τα tasks είναι καταναλωτές των πόρων και µπορεί να περιλαµβάνουν τα συνηθισµένα υπολογιστικά tasks ή και µη υπολογιστικά tasks. Εργασίες: Οι εργασίες είναι ιεραρχικές οντότητες και συχνά έχουν περιοδική δοµή. Για παράδειγµα, οι εργασίες µπορεί να αποτελούνται από υπο-εργασίες ή και tasks. Επίσης, οι υπο-εργασίες µπορεί να περιλαµβάνουν και αυτές µε την σειρά τους άλλες υπο-εργασίες. Η πιο απλή µορφή µίας εργασίας είναι αυτή που περιλαµβάνει ένα µόνο task. 47

48 Χρονοδιαγράµµατα (Schedules): Τα χρονοδιαγράµµατα καθοδηγούν τα tasks στους κατάλληλους πόρους, µε την πάροδο του χρόνου. Εδώ πρέπει να σηµειωθεί ότι τα tasks οδηγούνται στους πόρους, και όχι οι εργασίες, οι εργασίες περιλαµβάνουν τα tasks, και τα tasks είναι οι καταναλωτές των πόρων. Τα ενεργά συστατικά της αρχιτεκτονικής είναι τα παρακάτω: Schedulers: Οι schedulers σχεδιάζουν ένα ή περισσότερα προγράµµατα για τις εισερχόµενες λίστες εργασιών, οι οποίες θα πρέπει να προσαρµόζονται σύµφωνα µε τους περιορισµούς που µπορεί να διευκρινιστούν στον χρόνο εκτέλεσης. Υπηρεσίες Πληροφοριών: Οι υπηρεσίες πληροφοριών ενεργούν ως βάσεις δεδοµένων για την περιγραφή των στοιχείων ενδιαφέροντος που αφορούν τα συστήµατα διαχείρισης πόρων, όπως είναι οι πόροι, οι εργασίες, οι schedulers και οι πράκτορες. Αυτές οι υπηρεσίες δεν χρειάζονται κάποια ειδική µέθοδο πρόσβασης ή υλοποίησης. Πράκτορες Πεδίου Ελέγχου: Οι πράκτορες αυτοί µπορούν να δεσµεύσουν πόρους για χρήση. Όπως φαίνεται και από την ονοµασία, το σύνολο των πόρων που ελέγχουν αυτοί οι πράκτορες, αποτελούν ένα πεδίο ελέγχου. Οι πράκτορες πεδίου ελέγχου θα πρέπει να υποστηρίζουν προκαταβολικές κρατήσεις πόρων. Επίσης πρέπει να αναφερθεί ότι αυτοί οι πράκτορες δεν ταυτίζονται µε τους schedulers, τα πεδία ελέγχου όµως µπορεί να περιλαµβάνουν schedulers. Ένας πράκτορας πεδίου ελέγχου µπορεί να παρέχει πληροφορίες σχετικά µε την κατάσταση των πόρων είτε µέσω της δηµοσίευσης σε µία υπηρεσία πληροφοριών, είτε µέσω άµεσων ερωτηµάτων. Πράκτορες Ανάπτυξης: Οι πράκτορες ανάπτυξης υλοποιούν χρονοδιαγράµµατα, κάνοντας διαπραγµατεύσεις µε τους πράκτορες πεδίου ελέγχου, για την απόκτηση επιθυµητών πόρων αλλά και για την έναρξη εκτέλεσης των tasks. Χρήστες: Οι χρήστες υποβάλλουν εργασίες για εκτέλεση, στο σύστηµα διαχείρισης πόρων. Πράκτορες Ελέγχου Εισόδου: Οι πράκτορες αυτοί καθορίζουν εάν το σύστηµα µπορεί να εξυπηρετήσει τις υποβαλλόµενες εργασίες και απορρίπτουν ή αναβάλλουν εργασίες, όταν το σύστηµα είναι απασχοληµένο. Όργανα Ελέγχου (Monitors): Τα όργανα ελέγχου παρακολουθούν την πρόοδο των εργασιών. Επίσης, λαµβάνουν πληροφορίες για την κατάσταση της εργασίας, από τα tasks που περιλαµβάνει η εργασία και από τους πράκτορες πεδίου ελέγχου, όπου εκτελούνται τα tasks. Με βάση αυτές τις πληροφορίες, µπορούν να επικαλεστούν τους πράκτορες ελέγχου εργασίας και τους schedulers για να αναπρογραµµατίσουν την εργασία. 48

49 Πράκτορες Ελέγχου Εργασιών: Οι πράκτορες ελέγχου εργασιών είναι αρµόδιοι για µία εργασία και µπορούν να ενεργήσουν, ως ένα πιστοποιητικό για έναν χρήστη ή ως ένα συνεχές σηµείο ελέγχου για µία εργασία. Επίσης, είναι υπεύθυνοι για τον συντονισµό των διαφορετικών συστατικών ενός συστήµατος διαχείρισης πόρων. Οι schedulers που βρίσκονται έξω από τα πεδία ελέγχου δεν µπορούν να δεσµεύσουν πόρους. Αυτοί οι schedulers είναι γνωστοί ως metaschedulers ή super schedulers. Όπως παρατηρείται, δεν έχει οριστεί σκόπιµα, καµία σχέση ανάµεσα στον αριθµό των χρηστών, τις εργασίες και τις βασικές οντότητες του συστήµατος. Επίσης, στο µοντέλο δεν αναφέρεται η έννοια της ουράς. Αυτό συµβαίνει επειδή τα συστήµατα ουρών, προϋποθέτουν την οµογένεια των πόρων και έναν βαθµό ελέγχου, που δεν υπάρχουν στα πραγµατικά συστήµατα grid. Τα συστήµατα ουρών συνήθως υπάρχουν στα πεδία ελέγχου. Στην παρακάτω εικόνα 17, απεικονίζονται οι αλληλεπιδράσεις µεταξύ των συστατικών, του συστήµατος διαχείρισης του grid. Τα βέλη υποδεικνύουν την ύπαρξη επικοινωνίας µεταξύ των συστατικών. Εικόνα 17. Ιεραρχικό µοντέλο για την διαχείριση πόρων στο Grid. [34] 49

50 ίνεται ένα παράδειγµα επικοινωνίας των συστατικών του συστήµατος. Ένας χρήστης υποβάλλει µία εργασία σε έναν πράκτορα ελέγχου εργασιών, ο οποίος µε την σειρά του καλεί έναν πράκτορα ελέγχου εισόδου. Ο πράκτορας ελέγχου εισόδου εξετάζει τις απαιτήσεις για πόρους της εργασίας και επικυρώνει ότι είναι ασφαλής η εργασία για να προστεθεί στην τρέχουσα δεξαµενή εργασιών του συστήµατος. Στη συνέχεια, στέλνει την εργασία σε έναν scheduler, ο οποίος εκτελεί ανακάλυψη πόρων, χρησιµοποιώντας το σύστηµα πληροφοριών του grid και συνεργάζεται µε τους πράκτορες πεδίου ελέγχου, για να καθορίσει την τρέχουσα κατάσταση και την διαθεσιµότητα των πόρων. Ο scheduler σχεδιάζει ένα σύνολο αντιστοιχιών (mappings) των εργασιών µε τους πόρους και τα στέλνει σε έναν πράκτορα ανάπτυξης. Ο πράκτορας ανάπτυξης διαπραγµατεύεται για τους πόρους που υποδεικνύονται στο πρόγραµµα µε πράκτορες πεδίου ελέγχου, ώστε να εξασφαλίσει κρατήσεις για τους πόρους. Στην συνέχεια, αυτές οι κρατήσεις στέλνονται στον πράκτορα ελέγχου εργασιών. Στην κατάλληλη χρονική στιγµή, ο πράκτορας ελέγχου εργασιών, συνεργάζεται µε έναν άλλο πράκτορα ανάπτυξης που συντονίζεται µε τους κατάλληλους πράκτορες πεδίου ελέγχου, για να ξεκινήσει η εκτέλεση των tasks. Ένα όργανο ελέγχου επιβλέπει την πρόοδο της εργασίας και µπορεί να αποφασίσει να δροµολογήσει ξανά την εργασία, εάν η απόδοση της εµφανίζεται να είναι χαµηλότερη από την αναµενόµενη Μοντέλο Abstract Owner Οι χρήστες του Grid, στην πραγµατικότητα δεν ενδιαφέρονται να γνωρίζουν πού ακριβώς βρίσκεται το Grid, ή ποιος είναι ο ιδιοκτήτης του. Αυτό που θέλουν, είναι να κάνουν µία συµφωνία µε µία οντότητα, σχετικά µε τους όρους υπό τους οποίους µπορούν να χρησιµοποιήσουν τους πόρους του Grid, τους µηχανισµούς που χρειάζονται οι πόροι, το κόστος τους και τους τρόπους πληρωµής. Η οντότητα µε την οποία διαπραγµατεύεται ο χρήστης, σίγουρα δεν είναι πάντα ο ιδιοκτήτης των πόρων, αλλά ο χρήστης µπορεί να θεωρεί αυθαίρετα ότι είναι. Αυτές οι οντότητες, στην ουσία είναι µεσολαβητές (brokers), οι οποίοι στην συνέχεια µπορεί να συνεργάζονται µε τους ιδιοκτήτες των πόρων, ή ακόµα και µε παραπάνω µεσολαβητές. Σε κάθε στάδιο, ο µεσολαβητής αντιπροσωπεύει τους ιδιοκτήτες. Στο µοντέλο Abstract Owner, κάθε πόρος του Grid, που η πολυπλοκότητά του κυµαίνεται από έναν ατοµικό επεξεργαστή ή κάποιο όργανο, έως και ολόκληρο το σύστηµα Grid, µπορεί να αντιπροσωπευτεί από έναν ή περισσότερους Abstract Owners AOs, οι οποίοι σχετίζονται έντονα µε τους schedulers. Όσον αφορά τους πολύπλοκους πόρους, ένας AO θα είναι ένας µεσολαβητής για τους πραγµατικούς ιδιοκτήτες ή άλλους µεσολαβητές, παρόλο που ο χρήστης των πόρων δεν χρειάζεται να το γνωρίζει. Ο διακανονισµός µεταξύ του πελάτη και ενός ΑΟ για την απόκτηση και την χρήση κάποιου πόρου, µπορεί να γίνει µέσω µίας προϋπάρχουσας σύµβασης ή βάση ενός διαλόγου ανάµεσα στον πελάτη και τον ΑΟ, σχετικά µε την τιµή και την διαθεσιµότητα του πόρου. 50

51 Πρέπει να διευκρινιστεί σχετικά µε το παρόν µοντέλο, πως οι πόροι ορίζονται ως οποιοσδήποτε συνδυασµός λογισµικού και υλικού hardware, που βοηθάει τον πελάτη να λύσει ένα πρόβληµα. Το task αποτελεί µέρος του προβλήµατος που καθορίζεται από τον πελάτη, µετά την παράδοση του πόρου από τον ΑΟ. Αντίθετα µε άλλους ορισµούς για το task, τα tasks που περιγράφονται στο µοντέλο του ΑΟ, µπορεί να είναι πολύ απλά, όπως ένα µήνυµα που πρέπει να αποσταλεί, ή πιο γενικά, όπως µία διεργασία που πρέπει να εκτελεστεί, αλλά και πολύ πολύπλοκα, όπως είναι ένα σύνολο προγραµµάτων ή διεργασιών που πρέπει να εκτελεστούν µε συγκεκριµένη σειρά. Οι πόροι µπορούν να θεωρηθούν ως αντικείµενα, υπό την έννοια ότι έχουν µία ταυτότητα, ή ως ένα σύνολο µεθόδων για την εκκίνηση εκτέλεσης και τον έλεγχο των tasks ή και ως ιδιότητες που χρησιµεύουν στην προσαρµογή του πόρου. Οι επιθυµητές ιδιότητες καθορίζονται κατά την διαπραγµάτευση που γίνεται µέσω του παραθύρου εντολών (Order Window). Οι µέθοδοι που χρησιµοποιούνται µπορούν να πάρουν πολλές διαφορετικές µορφές, ανάλογα µε τις περιστάσεις, όπως το είδος του πόρου, την διαθεσιµότητα της προστασίας υλικού, και σύµφωνα µε το εάν η µέθοδος πρόκειται να κληθεί τοπικά ή από αποµακρυσµένες τοποθεσίες. Ένας πόρος µπορεί να αποδεσµευτεί καλώντας την µέθοδο αποδέσµευσης (relinquish method), ή εξαντλώντας τα χρονικά του περιθώρια. Η εξωτερική δοµή ενός ΑΟ έχει διαµορφωθεί έτσι ώστε να επιτρέπει την ενσωµάτωση συστατικών σε κάθε επίπεδο. Εσωτερικά, ένας ΑΟ µπορεί να διαφέρει στην δοµή, ανάλογα µε το αν ενεργεί σαν µεσολαβητής ή σαν ιδιοκτήτης. Ένας γνήσιος ιδιοκτήτης ενός µοναδικού φυσικού πόρου µπορεί να είναι πολύ απλός, όπως φαίνεται στην εικόνα 18 (3b), ενώ ο διαχειριστής (manager) περιλαµβάνει τα απαραίτητα προσόντα για να µπορεί να διαπραγµατευτεί, να διατηρήσει το πρόγραµµα και να παραδώσει τον πόρο. Ένας µεσολαβητής υψηλότερου επιπέδου µπορεί να αποτελεί µία πιο πολύπλοκη οντότητα. Στην εικόνα 18, οι Abstract Owners ΑΟ1, ΑΟ2 και ΑΟ3 αναπαριστούν άλλους AOs, καθένας από τους οποίους, περιλαµβάνει ένα Order Window που χρησιµοποιείται από τον Αντιπρόσωπο Πωλήσεων (Sales Representative) και ένα Pickup Window που χρησιµοποιείται από τον Αντιπρόσωπο Παράδοσης (Delivery Representative). Παρόλο που αυτοί οι θυγατρικοί AOs φαίνονται να ανήκουν σε έναν µοναδικό γονέα ΑΟ, δεν υπάρχει λόγος αυτή η σχέση να είναι ιεραρχική. Ένας µοναδικός ΑΟ, µπορεί να παρέχει πόρους σε έναν αριθµό διαφορετικών ΑΟs γονέων, οι οποίοι µπορούν να τους συνενώσουν και να σχηµατίσουν πιο πολύπλοκους πόρους µε διάφορους τρόπους και για διαφορετικούς πελάτες. 51

52 Εικόνα 18. Μοντέλο Abstract Owner για την αρχιτεκτονική ιαχείρισης Πόρων στο Grid. [34] Μοντέλο Αγοράς Όπως έχει προαναφερθεί, οι πόροι στο περιβάλλον του Grid, είναι γεωγραφικά διασκορπισµένοι και καθένας από αυτούς ανήκει σε κάποιον διαφορετικό οργανισµό. Κάθε πόρος, έχει τους δικούς του µηχανισµούς διαχείρισης και πολιτικές, και ως εκ τούτου µπορεί να χρεώσει µε διαφορετικές τιµές τους διαφορετικούς χρήστες που χρειάζονται τους πόρους, για να υποστηρίξουν την υπολογιστική οικονοµία διαχείρισης των πόρων. Πρέπει να σηµειωθεί, ότι η αγορά αποτελεί έναν σηµαντικό θεσµό για τον εξισορρόπηση της ζήτησης µε την προσφορά. Είναι φυσικό, πως σε ένα περιβάλλον υπολογιστικής αγοράς, οι χρήστες των πόρων επιδιώκουν να ελαχιστοποιούν τα έξοδά τους ενώ από την άλλη µεριά, οι ιδιοκτήτες των πόρων, θέλουν να κάνουν απόσβεση τις επενδύσεις που έχουν κάνει. Για αυτόν τον λόγο, ένα σύστηµα διαχείρισης πόρων του Grid, θα πρέπει να παρέχει εργαλεία και υπηρεσίες για να επιτρέψει στους χρήστες και στους ιδιοκτήτες των πόρων αντίστοιχα, να εκφράσουν τις απαιτήσεις τους. Για παράδειγµα, οι χρήστες θα πρέπει να µπορούν να καθορίσουν τις απαιτήσεις τους, για την ποιότητα υπηρεσιών QoS µε τέτοιο τρόπο, ώστε να ελαχιστοποιήσουν το υπολογιστικό κόστος ή την τιµή που είναι πρόθυµοι να πληρώσουν, τηρώντας όµως την προθεσµία µέχρι την οποία χρειάζονται τα αποτελέσµατα. Οι ιδιοκτήτες από την άλλη πλευρά, θα πρέπει να µπορούν να καθορίσουν τις χρεώσεις τους, οι οποίες µπορεί να ποικίλλουν ανά χρονική περίοδο ή ανά χρήστη. 52

53 Συστήµατα όπως είναι το Mariposa, Nimrod/G, JaWS και EcoGrid αναπτύσσουν το µοντέλο υπηρεσιών για τους χρήστες, µε βάση την οικονοµία των υπολογισµών και είναι πιθανό, ότι όλο και περισσότερα συστήµατα θα εµφανιστούν που θα βασίζονται σε αυτή την ιδέα. Για να αντιµετωπιστούν τα στατικά και δυναµικά ζητήµατα που προκύπτουν στην διαχείριση της χρήσης των πόρων εντός των πεδίων, τα υπολογιστικά συστήµατα του Grid θα πρέπει να υποστηρίζουν τα ακόλουθα χαρακτηριστικά: Ευελιξία και Επεκτασιµότητα Αυτονοµία Πεδίου υνατότητα Κλιµάκωσης Μοναδικό δηµόσιο name space Ευκολία στην χρήση και διαφανής πρόσβαση Υψηλή Απόδοση Ασφάλεια ιαχείριση και Εξερεύνηση της ετερογένειας των πόρων υνατότητα σύνδεσης µε πολλά συστήµατα Κατανοµή πόρων Ανοχή στα σφάλµατα υναµική Προσαρµοστικότητα Ποιότητα Υπηρεσιών QoS Οικονοµία των υπολογισµών Καθένα από τα συστατικά του Grid, η υποδοµή, το ενδιάµεσο λογισµικό, τα εργαλεία υψηλού επιπέδου και οι εφαρµογές, αντιµετωπίζει ένα ή περισσότερα από τα παραπάνω ζητήµατα µε συντονισµένο τρόπο. Για παράδειγµα, το ενδιάµεσο λογισµικό προσφέρει υπηρεσίες για την αντιµετώπιση της ετερογένειας και της ασφάλειας. Το µοντέλο αγοράς για την διαχείριση των πόρων στο Grid, περιέχει τα βασικά στοιχεία του Ιεραρχικού µοντέλου και του µοντέλου AO που περιγράφηκαν παραπάνω. Πολλά από τα σύγχρονα συστήµατα Grid, ταιριάζουν µε το Ιεραρχικό µοντέλο, ενώ το µοντέλο AO εµφανίζεται πιο φουτουριστικό, αλλά επισηµαίνει 53

54 σαφώς την ανάγκη για την οικονοµία στους υπολογισµούς. Τα θέµατα που διαπραγµατεύεται το Ιεραρχικό µοντέλο εφαρµόζονται στο µοντέλο Αγοράς, το οποίο όµως δίνει έµφαση στην διαχείριση και την χρονοδροµολόγηση των πόρων µε βάση τα οικονοµικά θέµατα. Στην εικόνα 19 παρουσιάζεται µία από τις πιθανές αρχιτεκτονικές για την διαχείριση των πόρων στο Grid µε βάση το µοντέλο της υπολογιστικής οικονοµίας. Ο τρόπος εµπορικών συναλλαγών των πόρων, µπορεία να ποικίλλει, ανάλογα µε την µέθοδο ή το πρωτόκολλο που χρησιµοποιείται, για τον καθορισµό του κόστους πρόσβασης στους πόρους. Τα βασικά συστατικά ενός συστήµατος διαχείρισης πόρων υποκινούµενο από οικονοµικά θέµατα, είναι τα εξής: User Applications (Εφαρµογές χρηστών) Grid Resource Broker (Super / Global / Meta Scheduler) Ενδιάµεσο λογισµικό του Grid Domain Resource Manager (Τοπικός scheduler ή Σύστηµα Ουρών) Εικόνα 19. Μοντέλο Αγοράς για την αρχιτεκτονική της διαχείρισης των πόρων στο Grid. [34] 54

55 Κεφάλαιο 5. Ασφάλεια στα συστήµατα Grid Η τεχνολογία του Grid computing, ασχολείται µε τον διαµοιρασµό και την συντονισµένη χρήση διάφορων πόρων, που βρίσκονται σε διασκορπισµένους Εικονικούς Οργανισµούς. Η δυναµική φύση που έχουν αυτά τα περιβάλλοντα, εισάγει θέµατα ασφάλειας, τα οποία απαιτούν νέες τεχνικές προσεγγίσεις. Ένα συνηθισµένο σενάριο για το Grid computing, περιλαµβάνει την ανάπτυξη δυναµικών Ε.Ο., που αποτελούνται από οµάδες ατόµων που συνδέονται µε συναφείς πόρους και υπηρεσίες από διαφορετικά διοικητικά πεδία, για έναν κοινό σκοπό. Η ανάγκη που υπάρχει για την ένταξη και την διαχείριση των πόρων στους Ε.Ο., δηµιουργεί προκλήσεις στα θέµατα ασφάλειας. Σε ποικίλα θέµατα που αφορούν την πιστοποίηση, την ένταξη ενός µέλους σε µία οµάδα, την εξουσιοδότηση και τα συναφή, οι σχέσεις µεταξύ των συµµετεχόντων στους Ε.Ο. αντιπροσωπεύουν µία «επικάλυψη» (overlay) των ήδη υπαρχόντων σχέσεων µεταξύ των συµµετεχόντων µε τους µητρικούς τους οργανισµούς. Οι τεχνολογίες που αναπτύχθηκαν από τους ερευνητές του Grid computing, δεν βασίζονται στις άµεσες σχέσεις εµπιστοσύνης εντός των οργανισµών, αλλά στη χρήση των Ε.Ο. ως γέφυρα που ενώνει τις οντότητες που συµµετέχουν σε µία ειδική κοινότητα ή λειτουργία. Στη συνέχεια, αυτές οι τεχνολογίες ενσωµατώθηκαν στο σύστηµα λογισµικού Globus toolkit ¹, το οποίο χρησιµοποιεί τεχνολογίες δηµόσιου κλειδιού για να αντιµετωπίσει θέµατα single sign-on, αντιπροσωπείας και µετατροπής ταυτότητας (identity mapping), ενώ παράλληλα υποστηρίζει τυποποιηµένα APIs (Application Programming Interfaces) όπως είναι το GSS-API. Η υποδοµή ασφάλειας GSI, είναι το όνοµα που δόθηκε στο τµήµα του Globus toolkit που εκτελεί λειτουργίες ασφάλειας. Ο πρόσφατος ορισµός της υποδοµής OGSA καθώς και άλλων στοιχείων αυτής, από το Global Grid Forum, δηµιούργησε νέες προκλήσεις για την ασφάλεια στο Grid. Συγκεκριµένα, η ένωση µε τις Web services και τις τεχνολογίες των hosting environments, δηµιούργησαν ευκαιρίες ανέλιξης των ανερχόµενων προτύπων και των τεχνολογιών ασφάλειας, όπως για παράδειγµα είναι η γλώσσα δήλωσης ασφάλειας SAML (Security Assertion Markup Language). Η ενσωµάτωση της υποδοµής GSI στην αρχιτεκτονική OGSA, δίνει την δυνατότητα να χρησιµοποιηθούν οι τεχνικές των Web services, για να εκφράσουν και να δηµοσιεύσουν µία πολιτική, η οποία επιτρέπει στις εφαρµογές να καθορίσουν τις πολιτικές ασφάλειας και τους µηχανισµούς που απαιτούν. Η υλοποίηση των λειτουργιών της ασφάλειας στην µορφή των υπηρεσιών, στην αρχιτεκτονική OGSA, επιτρέπει στις εφαρµογές να χρησιµοποιούν αυτές τις υπηρεσίες όποτε τις χρειάζονται, για να ικανοποιήσουν τις απαιτήσεις τους. Τα εξελιγµένα hosting environments απλοποιούν την ανάπτυξη, επιτρέποντας την υλοποίηση των λειτουργιών ασφάλειας εξωτερικά, και όχι στην ίδια την εφαρµογή. 55

56 5.1 Οι προκλήσεις στην ασφάλεια του Grid Οι απαιτήσεις ασφάλειας σε ένα περιβάλλον Grid, καθοδηγούνται από την ανάγκη να υποστηριχθούν δυναµικοί, κατανεµηµένοι και επεκτάσιµοι Ε.Ο., καθώς και από οµάδες που απαρτίζονται από διασκορπισµένους χρήστες, οι οποίοι ψάχνουν διάφορους πόρους, για να τους µοιραστούν και να τους χρησιµοποιήσουν µε συντονισµένο τρόπο. Ένα βασικό χαρακτηριστικό των Ε.Ο. είναι ότι οι συµµετέχοντες αλλά και οι πόροι, διοικούνται σύµφωνα µε τους κανόνες και τις πολιτικές που εφαρµόζονται σε συνηθισµένους οργανισµούς, στους οποίους και είναι µέλη. Επιπλέον, κάποιοι Ε.Ο. όπως είναι για παράδειγµα, οι πολυετείς επιστηµονικές συνεργασίες, µπορεί να είναι µεγάλοι και µεγάλης χρονικής διάρκειας, ενώ άλλοι Ε.Ο. µπορεί να ιδρύονται για περιορισµένη χρονική διάρκεια, συνήθως για να υποστηρίξουν κάποιο task. Σε αυτή την περίπτωση, τα γενικά έξοδα για την δηµιουργία ενός προσωρινού Ε.Ο. πρέπει να είναι όσο το δυνατόν λιγότερα. Μία βασική προϋπόθεση, είναι να επιτρέπεται στους Ε.Ο. να έχουν πρόσβαση σε πόρους που βρίσκονται σε συνηθισµένους οργανισµούς, δεδοµένου όµως, ότι αυτοί οι οργανισµοί εφαρµόζουν πολιτικές, που απευθύνονται στους τοπικούς χρήστες. Η πρόσβαση των Ε.Ο. σε αυτούς τους πόρους, πρέπει να ιδρυθεί και να συντονιστεί µέσω δυαδικών σχέσεων εµπιστοσύνης, ανάµεσα µόνο (α) στον τοπικό χρήστη και τον οργανισµό στον οποίο ανήκει και (β) στον Ε.Ο. και τον χρήστη. ηλαδή, δεν µπορούν να δηµιουργηθούν σχέσεις εµπιστοσύνης ανάµεσα στον συνηθισµένο οργανισµό και τον Ε.Ο. ή τους εξωτερικούς χρήστες του. Οι µηχανισµοί ασφάλειας του Grid, αντιµετωπίζουν αυτές τις προκλήσεις επιτρέποντας σε έναν Ε.Ο. να χρησιµοποιηθεί ως policy domain overlay (πολιτική επικάλυψης πεδίων), όπως φαίνεται στην εικόνα 7. Ο έλεγχος για την εφαρµογή κάποιας πολιτικής, µπορεί να ανατεθεί σε κάποιον τρίτο, τον Ε.Ο., ο οποίος συντονίζει την εξωτερική αυτή πολιτική, έτσι ώστε να επιτρέπεται ο συντονισµένος διαµοιρασµός και η χρήση των πόρων. 56

57 Εικόνα 7. Ο Ε.Ο. ως policy domain overlay συγκεντρώνει όλους τους συµµετέχοντες, από διαφορετικά πεδία, σε ένα κοινό πεδίο εµπιστοσύνης. [11] Μία πολύπλοκη υπόθεση στην ασφάλεια του Grid, είναι η δυναµική ανάπτυξη νέων υπηρεσιών, καθώς και η δηµιουργία των οντοτήτων τους, κατά την χρονική διάρκεια ζωής ενός Ε.Ο.. Η κοινή εφαρµογή της ισχύουσας πολιτικής, καθώς και η δυναµική δηµιουργία οντοτήτων, επιβάλλουν τρεις βασικές λειτουργίες για ένα µοντέλο ασφάλειας του Grid. 1. Πολυάριθµοι µηχανισµοί ασφάλειας: Οι οργανισµοί που συµµετέχουν σε έναν Ε.Ο. συχνά κάνουν σηµαντικές επενδύσεις, σε υπάρχοντες µηχανισµούς και την υποδοµή ασφάλειας. Είναι προτιµότερο, όσον αφορά την ασφάλεια στο Grid, να γίνεται χρήση αυτών των µηχανισµών από το να αντικατασταθούν. 2. υναµική δηµιουργία υπηρεσιών: Οι χρήστες θα πρέπει να µπορούν να δηµιουργήσουν δυναµικά υπηρεσίες, χωρίς την µεσολάβηση κάποιου διαχειριστή. Αυτές οι υπηρεσίες, θα πρέπει να συντονίζονται και να αλληλεπιδρούν µε ασφαλή τρόπο, µε τις άλλες υπηρεσίες. Επιπλέον, θα πρέπει να υπάρχει η δυνατότητα να δοθεί ένα όνοµα σε µία υπηρεσία µε µία ισχύουσα ταυτότητα. Σε αυτήν την ταυτότητα, θα πρέπει να µπορούν να παραχωρούνται δικαιώµατα, χωρίς όµως να παραβιάζεται η διοικούσα τοπική πολιτική. 57

58 3. υναµική ίδρυση πεδίων εµπιστοσύνης: Για να συντονιστούν οι πόροι, οι Ε.Ο. πρέπει να δηµιουργούν σχέσεις εµπιστοσύνης, όχι µόνο ανάµεσα στους χρήστες και τους πόρους του Ε.Ο., αλλά και µεταξύ των ίδιων των πόρων του Ε.Ο., ώστε να µπορούν να συντονίζονται Αυτά τα πεδία εµπιστοσύνης µπορούν να συνδέσουν πολυάριθµους οργανισµούς και θα πρέπει να προσαρµόζονται δυναµικά, καθώς οι συµµετέχοντες, συνδέονται, δηµιουργούνται ή αφήνουν τον Ε.Ο.. Τα συνηθισµένα µέσα διαχείρισης της ασφάλειας, που περιλαµβάνουν την χειροκίνητη επεξεργασία των βάσεων δεδοµένων µίας πολιτικής, ή την χειροκίνητη έκδοση πιστοποιητικών, δεν ικανοποιούν τις απαιτήσεις αυτών των δυναµικών σεναρίων που περιγράφηκαν παραπάνω. 5.2 Απαιτήσεις ασφάλειας Οι προκλήσεις στα θέµατα ασφάλειας, οδηγούν στον ορισµό ειδικών απαιτήσεων για την αντιµετώπισή τους. Αυτές οι απαιτήσεις µπορεί να διαφέρουν για κάθε σύστηµα Grid και εξαρτώνται από τους κανόνες πολιτικής που εφαρµόζονται στο κάθε σύστηµα, καθώς και από τα είδη των εφαρµογών και των υπηρεσιών που χρησιµοποιούνται. Οι πιο σηµαντικές απαιτήσεις ασφάλειας είναι οι εξής: Confidentiality (Εµπιστευτικότητα): Πρέπει να διασφαλίζεται, ότι τα µηνύµατα που διακινούνται στο δίκτυο, δεν αποκαλύπτονται σε µη εξουσιοδοτηµένες οντότητες. Integrity (Ακεραιότητα): Οι οντότητες που λαµβάνουν τα µηνύµατα, είναι πιθανό να ανιχνεύσουν µη εξουσιοδοτηµένες αλλαγές σε αυτά. Privacy (Μυστικότητα): Μία υπηρεσία ή κάποιος που έχει κάνει αίτηση για πόρους, καθώς και ο προµηθευτής αυτών, έχουν το δικαίωµα να καθορίσουν και να εφαρµόσουν πολιτικές εχεµύθειας. Identification (Αναγνωριστικό): Καθεµία οντότητα σχετίζεται µε ένα µοναδικό αναγνωριστικό (identifier). Authentication (Εξακρίβωση ταυτότητας): Η ταυτότητα µίας οντότητας που συµµετέχει σε µία λειτουργία ή αίτηση, πρέπει να επαληθεύεται. Single logon (Μοναδική επαλήθευση): Μία οντότητα που έχει ολοκληρώσει µε επιτυχία την διαδικασία επαλήθευσης της αυθεντικότητας της, δεν χρειάζεται να επαναλάβει αυτή την διαδικασία για να της επιτραπεί η πρόσβαση, σε άλλα συστήµατα που συµµετέχουν στο Grid. 58

59 Authorization (Εξουσιοδότηση): Επιτρέπεται ο έλεγχος πρόσβασης σε πόρους ή υπηρεσίες, σύµφωνα µε τις πολιτικές εξουσιοδότησης που συνδέονται µε κάθε οντότητα. Delegation (Αντιπροσωπεία): Επιτρέπεται η µεταβίβαση κάποιων από τα δικαιώµατα µίας οντότητας σε µία άλλη. Assurance (Επιβεβαίωση): Πρέπει να παρέχονται τρόποι, ώστε να περιγράφεται το επίπεδο ασφάλειας, που αναµένεται να έχει ένα hosting environment. Autonomy (Αυτονοµία): Οι οντότητες µπορούν να έχουν πλήρη έλεγχο στις τοπικές πολιτικές ασφάλειας που εφαρµόζουν οι ίδιες, χωρίς να δεσµεύονται από την πολιτική που εφαρµόζει το συνολικό σύστηµα Grid. Policy Exchange (Ανταλλαγή πληροφοριών πολιτικής): Οι οντότητες έχουν το δικαίωµα να ανταλλάσσουν πληροφορίες σχετικά µε την πολιτική ασφάλειας που εφαρµόζουν. Firewall Traversal: Παρέχονται µηχανισµοί που επιτρέπουν την διέλευση των firewalls ενδιάµεσα των διοικητικών πεδίων. Manageability (Ικανότητα διαχείρισης): Παρέχονται οι κατάλληλοι µηχανισµοί για την διαχείριση, των µηχανισµών ασφάλειας και των κανόνων πολιτικής. [13] 5.3 Μοντέλα ασφάλειας Το µοντέλο GT2 Το µοντέλο GT2 είναι µία τεχνολογία ασφάλειας, η οποία είναι ενσωµατωµένη στην δεύτερη έκδοση του Globus toolkit. Περιλαµβάνει τεχνολογίες για την κατανοµή και την διαχείριση των πόρων (πρωτόκολλο GRAM), την επίβλεψη και την ανακάλυψη αυτών (Monitoring and Discovery, MDS) καθώς και για την κίνηση δεδοµένων (GridFTP). Αυτές οι υπηρεσίες χρησιµοποιούν µία κοινή υποδοµή ασφάλειας του Grid, την GSI, µε σκοπό να προσφέρουν λειτουργίες ασφάλειας όπως είναι οι παρακάτω. Μηχανισµοί ασφάλειας για sites: Η υποδοµή ασφάλειας GSI ορίζει µία κοινή µορφή πιστοποιητικού που βασίζεται στα πιστοποιητικά ταυτότητας Χ.509, καθώς και ένα κοινό πρωτόκολλο το SSL (Secure Sockets Layer), που βασίζεται στο πρωτόκολλο ασφάλειας TLS (Transport Layer Security). Ένα πιστοποιητικό Χ.509 σε συνδυασµό µε ένα ιδιωτικό κλειδί, σχηµατίζει ένα µοναδικό σύνολο πιστοποιητικών τα οποία χρησιµοποιεί µία οντότητα του Grid, για να εξακριβώσει την ταυτότητά της στις 59

60 άλλες οντότητες. Το πρωτόκολλο SSL χρησιµοποιείται για να εκτελέσει εξακρίβωση ταυτότητας και στην συνέχεια παρέχει ένα µήνυµα προστασίας, εφόσον ζητηθεί, την ροή δεδοµένων που ακολουθεί. Κάθε πιστοποιητικό GSI εκδίδεται από µία οντότητα εµπιστοσύνης (trusted party), η οποία είναι γνωστή ως Αρχή Πιστοποίησης CA (Certificate authority), και διοικείται συνήθως, από κάποιον µεγάλο οργανισµό ή από κάποια εταιρεία. Για να είναι έµπιστο το πιστοποιητικό Χ.509 που παρουσιάζει µία οντότητα, θα πρέπει να είναι έµπιστη και η αρχή πιστοποίησης CA, που εξέδωσε το συγκεκριµένο πιστοποιητικό. Ένα σηµαντικό πλεονέκτηµα των πιστοποιητικών ταυτότητας Χ.509 είναι ότι η επαλήθευση της εµπιστοσύνης τους αποτελεί µία σχετικά απλή διαδικασία σε σχέση µε άλλα πιστοποιητικά. Το γεγονός αυτό, αποτελεί βασικό χαρακτηριστικό για την ίδρυση των Ε.Ο., που δικαιούνται από ένα µικρό µερίδιο ενός οργανισµού, ο οποίος στο σύνολό του παρέχει ελάχιστη ή και καθόλου υποστήριξη στον Ε.Ο.. υναµική δηµιουργία οντοτήτων και παραχώρηση προνοµίων σε αυτές: Η υποδοµή ασφάλειας GSI, εισάγει τα πιστοποιητικά proxy X.509 (proxy credentials), τα οποία είναι µία επέκταση των πιστοποιητικών ταυτότητας Χ.509. Τα πιστοποιητικά proxy, επιτρέπουν στο χρήστη να καταχωρήσει δυναµικά, µία νέα ταυτότητα Χ.509 σε µία οντότητα, και στη συνέχεια να της παραχωρήσει κάποια δικαιώµατα. Οι χρήστες µπορούν να δηµιουργήσουν ένα πιστοποιητικό proxy, µε την έκδοση ενός νέου πιστοποιητικού Χ.509 υπογεγραµµένου, χρησιµοποιώντας τα δικά τους πιστοποιητικά, χωρίς να χρειαστεί να µεσολαβήσει ένα CA. Αυτός ο µηχανισµός, επιτρέπει την γρήγορη δηµιουργία πιστοποιητικών και ταυτοτήτων, χωρίς την συµµετοχή κάποιου διαχειριστή. υναµική δηµιουργία και διαχείριση των επικαλυπτόµενων πεδίων εµπιστοσύνης: Τα επικαλυπτόµενα πεδία εµπιστοσύνης χρησιµοποιούν πιστοποιητικά proxy και υπηρεσίες ασφάλειας όπως για παράδειγµα τις υπηρεσίες πιστοποίησης κοινότητας CAS (Community Authorization Services), ώστε να ικανοποιήσουν τις απαιτήσεις, για την ίδρυση ενός Ε.Ο.. Η υποδοµή ασφάλειας GSI, εφαρµόζει µία πολιτική σύµφωνα µε την οποία, δύο οποιεσδήποτε οντότητες που κατέχουν πιστοποιητικά proxy, τα οποία έχουν εκδοθεί από τον ίδιο χρήστη, εµπιστεύονται αυτόµατα η µία την άλλη. Αυτή η πολιτική, επιτρέπει στους χρήστες να δηµιουργούν πεδία εµπιστοσύνης δυναµικά, απλά εκδίδοντας proxy πιστοποιητικά για οποιεσδήποτε υπηρεσίες αυτοί επιθυµούν να συνεργαστούν µεταξύ τους. Παρόλο που η πολιτική εµπιστοσύνης ανάµεσα στους κατόχους proxy πιστοποιητικών επιτρέπει την γρήγορη και δυναµική δηµιουργία απλών πεδίων εµπιστοσύνης, µπορεί να υπάρξουν περιορισµοί σε περιπτώσεις πολύπλοκων πεδίων εµπιστοσύνης, όπως για παράδειγµα όταν υπάρχει εµπιστοσύνη ανάµεσα σε πολυάριθµες οµάδες που υπόκειται υπό περιορισµούς. Σε αυτή την περίπτωση, χρησιµοποιούνται υπηρεσίες ασφάλειας όπως η υπηρεσία CAS που επιτρέπει την δηµιουργία µίας ευέλικτης πολιτικής, που αφορά τους πολυάριθµους χρήστες ενός Ε.Ο.. Ένας Ε.Ο. µπορεί να εφαρµόσει την πολιτική που του ανατίθεται από τους προµηθευτές πόρων του Ε.Ο.. Αυτή η διαδικασία όπως φαίνεται στην εικόνα παρακάτω, περιλαµβάνει τρία βήµατα. 60

61 1. Ο χρήστης εξακριβώνει την ταυτότητά του στην υπηρεσία CAS, και στη συνέχεια λαµβάνει επιβεβαιώσεις από αυτήν. Η υπηρεσία CAS εκφράζει την πολιτική του Ε.Ο., όσον αφορά τον τρόπο που µπορεί ο χρήστης να χρησιµοποιήσει τους πόρους του Ε.Ο.. 2. Ο χρήστης στην συνέχεια, παρουσιάζει την επιβεβαίωση που έλαβε στον επιθυµητό πόρο του Ε.Ο., µαζί µε την αίτηση του για χρήση. 3. Κατά την διαδικασία αξιολόγησης για το αν θα πρέπει να γίνει δεκτή η αίτηση, ο πόρος ελέγχει την τοπική πολιτική καθώς και την πολιτική που εξέφρασε ο Ε.Ο. στην επιβεβαίωση CAS. Εικόνα 9. Η υπηρεσία CAS επιτρέπει στους Ε.Ο. να εκφράσουν πολιτικές όπως επίσης και στους πόρους να εφαρµόσουν πολιτική η οποία αποτελεί υποσύνολο της τοπικής πολιτικής. [11] Η υπηρεσία CAS επιτρέπει σε έναν πόρο να έχει την απόλυτη εξουσία επί του αιτούµενου πόρου, όπως επίσης επιτρέπει σε έναν Ε.Ο., να ελέγχει ένα υποσύνολο της επιβαλλόµενης πολιτικής. Έτσι, µε την σειρά του ο Ε.Ο. µπορεί να συντονίσει την εφαρµογή της πολιτικής σε έναν αριθµό πόρων, για να ελέγξει τον διαµοιρασµό αυτών των πόρων. Κατά την σχεδίαση της υποδοµής ασφάλειας GSI, αξιολογήθηκαν κάποιες σχετικές προσπάθειες που είχαν γίνει, πριν επιλεχτεί η υποδοµή δηµόσιου κλειδιού PKI. Στη συνέχεια, σηµειώθηκαν οι αδυναµίες που παρουσίασαν οι άλλες προσεγγίσεις σε σχέση µε τις απαιτήσεις ασφάλειας του Grid. 61

62 Το σύστηµα ασφάλειας Κέρβερος απαιτεί την µεσολάβηση διαχειριστών sites για την ίδρυση σχέσεων εµπιστοσύνης εντός του πεδίου, ή για την δηµιουργία νέων οντοτήτων. Το ευρείας περιοχής σύστηµα ασφάλειας CRISIS, ορίζει µία ενιαία και κλιµακώσιµη υποδοµή ασφάλειας για συστήµατα ευρείας περιοχής, αλλά δεν υποστηρίζει την συνεργασία της µε τους τοπικούς µηχανισµούς ασφάλειας. Το σύστηµα Secure Shell SSH, παρέχει ένα ισχυρό σύστηµα πιστοποίησης και προστασίας µηνυµάτων, αλλά δεν υποστηρίζει την µετάφραση ανάµεσα σε διαφορετικούς µηχανισµούς που χρησιµοποιούνται για την δηµιουργία δυναµικών οντοτήτων. Το µοντέλο ασφάλειας Legion, είναι ίσως το πιο παρεµφερές µε αυτό του GT2. Χρησιµοποιεί πιστοποιητικά Χ.509 για την αντιπροσωπεία. Παρόλα αυτά, στερείται από µηχανισµούς για την δηµιουργία δυναµικών οντοτήτων Μοντέλο ασφάλειας GT3 για την αρχιτεκτονική OGSA Η Τρίτη έκδοση του Globus toolkit και η συνοδευόµενη υποδοµή ασφάλειας GSI3, παρέχουνε την πρώτη υλοποίηση των µηχανισµών της αρχιτεκτονικής OGSA. Το µοντέλο ασφάλειας GT3, επιτρέπει στις εφαρµογές και στους χρήστες, να λειτουργούν στο Grid, µε τον καλύτερο δυνατό, συνεχή και αυτοµατοποιηµένο τρόπο. Οι µηχανισµοί ασφάλειας, θα πρέπει να παρέχονται από το περιβάλλον της υποδοµής του Grid, και να επιτρέπουν την προσαρµογή αυτής µε τέτοιον τρόπο ώστε να ικανοποιήσει τις απαιτήσεις της εφαρµογής. Η εφαρµογή θα πρέπει να ακολουθήσει τους κανονισµούς µίας ειδικά προσαρµοσµένης πολιτικής. Για να πετύχει αυτόν τον στόχο, το µοντέλο GT3 χρησιµοποιεί τα ακόλουθα χαρακτηριστικά ασφάλειας της αρχιτεκτονικής OGSA και των Web services: Εφαρµόζει λειτουργίες ασφάλειας όπως αυτές των υπηρεσιών της αρχιτεκτονικής OGSA, µε σκοπό να µπορούν να εγκατασταθούν και να χρησιµοποιηθούν από τις εφαρµογές όταν χρειαστούν. Χρησιµοποιεί εξελιγµένα hosting environments, για να προσφέρει ασφάλεια στις εφαρµογές και για να επιτρέψει την προσαρµογή της ασφάλειας, χωρίς να χρειαστεί να αλλάξει η εφαρµογή. ηµοσιεύει πολιτική ασφάλειας για τις υπηρεσίες, ώστε οι clients να µπορούν να ανακαλύψουν δυναµικά τα πιστοποιητικά και τους µηχανισµούς που χρειάζονται, για να δηµιουργήσουν σχέση εµπιστοσύνης µε µία υπηρεσία. Καθορίζει τους τρόπους ανταλλαγής των τεκµηρίων ασφάλειας για την επίτευξη διασύνδεσης. [11] 62

63 5.4 Αρχιτεκτονικές Ασφάλειας Η ασφάλεια αποτελεί βασικό ζήτηµα για την ευρύτερη ανάπτυξη και αποδοχή των υπολογιστικών grids. Παρόλο που έχουν προταθεί διάφορες αρχιτεκτονικές ασφάλειας για το περιβάλλον του Grid, καµία από αυτές δεν κατάφερε να ανταποκριθεί µε ικανοποιητικό τρόπο σε όλες τις απαιτήσεις. Παρακάτω αναφέρονται οι υπάρχουσες αρχιτεκτονικές ασφάλειας. Οι µηχανισµοί που υλοποιεί η κάθε αρχιτεκτονική σχετίζονται µε τις απαιτήσεις ασφάλειας που ικανοποιούν ως προς την αποδοτικότητα και τα θέµατα εµπιστοσύνης Αρχιτεκτονική Ασφάλειας για Ανοιχτές Υπηρεσίες του Grid Η αρχιτεκτονική ανοιχτών υπηρεσιών του Grid, η OGSA, αναπτύχθηκε από ερευνητές οι οποίοι στόχευαν να παράγουν µία αρχιτεκτονική συστηµάτων Grid, η οποία ενσωµατώνει τις αρχές και τις τεχνολογίες του Grid και των υπηρεσιών Ιστού. Συγχρόνως, αναπτύχθηκε µία στρατηγική, για την εγκατάσταση ενός µοντέλου ασφάλειας στην νέα αρχιτεκτονική OGSA. Ο στόχος της στρατηγικής αυτής, ήταν η αντιµετώπιση των θεµάτων ασφάλειας στην OGSA. Οι προσπάθειες που αναφέρθηκαν παραπάνω, για την ανάπτυξη του κατάλληλου µοντέλου ασφάλειας, οδήγησαν στο συµπέρασµα ότι η δυνατότητα αφαίρεσης των συστατικών του µοντέλου, αποτελεί σηµαντικό παράγοντα. Με τον τρόπο αυτό, οι οργανισµοί έχουν το περιθώριο να χρησιµοποιήσουν υπάρχουσες επενδύσεις σε τεχνολογίες ασφάλειας, καθώς και να επικοινωνούν µε άλλες τεχνολογίες, στα πλαίσια ενός περιβάλλοντος Grid. Ως εκ τούτου, το προτεινόµενο µοντέλο ασφάλειας θα πρέπει: να παρέχει προστασία στις υπηρεσίες γενικά, και να µπορεί να αναπτύξει ειδικές υπηρεσίες ασφάλειας ώστε να παρέχουν την απαραίτητη λειτουργικότητα. Για την επίτευξη των παραπάνω στόχων, θα πρέπει να ληφθούν υπόψη αρκετά θέµατα σχετικά µε την κλήση των υπηρεσιών του Grid, που πραγµατοποιείται χρησιµοποιώντας τα διάφορα συστατικά του µοντέλου ασφάλειας, που φαίνονται στην παρακάτω εικόνα

64 Εικόνα 10. Τα συνθετικά συστατικά του µοντέλου ασφάλειας. [13] Υποδοµή ασφάλειας GSI (Grid Security Infrastructure) Το 1998, ο Ian Foster et al [14], πρότεινε µία αρχιτεκτονική ασφάλειας για τα υπολογιστικά Grids. Σε αυτήν την αρχιτεκτονική βασίστηκε, η σχεδίαση πολλών αρχιτεκτονικών ασφάλειας που προτάθηκαν αργότερα, µία από αυτές είναι η υποδοµή GSI. Η κάθε οντότητα του Grid χαρακτηρίζεται από ένα πιστοποιητικό Χ.509. Αυτό το πιστοποιητικό περιλαµβάνει ένα ζευγάρι κλειδιών και πρέπει να επικυρωθεί από κάποιο CA, για να επιβεβαιωθεί η σύνδεση της οντότητας µε το ζευγάρι κλειδιών. Το πρωτόκολλο TLS χρησιµοποιείται για την αµοιβαία εξακρίβωση ταυτότητας, για τον ίδιο σκοπό µπορεί να χρησιµοποιηθεί επίσης, και το πρωτόκολλο SSL. Οι οντότητες που συµµετέχουν στην GSI, θα πρέπει να αλλάζουν την δηµόσια ταυτότητά τους, ώστε να µπορούν να είναι αναγνωρίσιµες σε τοπικές δοµές που χρησιµοποιούνται από αποµακρυσµένα sites. Η υποδοµή GSI δεν υποστηρίζει την κρυπτογραφηµένη επικοινωνία, παρόλο που η διάταξη της είναι απλή, υπό την προϋπόθεση όµως να εξασφαλίζεται η εµπιστευτικότητα στην επικοινωνία. Μία οντότητα µπορεί να µεταβιβάσει κάποια από τα δικαιώµατά της σε κάποια άλλη οντότητα, δηµιουργώντας έτσι µία προσωρινή ταυτότητα που ονοµάζεται proxy. Το proxy κατέχει ένα προσωρινό πιστοποιητικό που έχει υπογραφεί από τον χρήστη, ή από κάποιο προηγούµενο proxy, µε σκοπό να του παραχωρηθεί η εξουσιοδότηση σε αποµακρυσµένα sites. Αυτή η διαδικασία δηµιουργεί µία αλυσίδα υπογραφών που καταλήγει µε ένα CA, το οποίο έχει εκδοθεί από το αρχικό πιστοποιητικό. Το χρονικό όριο ζωής του proxy είναι περιορισµένο για να µπορεί να ελέγχεται η χρήση των πόρων. 64

65 Η αρχιτεκτονική GSI επιτρέπει την διαδικασία single sign-on, σε όλους τους χρήστες του Grid, ενώ παράλληλα επιτρέπει στις οντότητες να έχουν πρόσβαση σε αποµακρυσµένα sites, εκ µέρους του χρήστη. Επιπλέον, αυτή η υποδοµή δεν απαιτεί την αλλαγή της τοπικής υποδοµής ασφάλειας, αλλά και της πολιτικής των sites, στα οποία εκτείνεται το Grid Η Αρχιτεκτονική Ασφάλειας Legion Το σύστηµα Legion αναπτύχθηκε στο πανεπιστήµιο της Virginia σε µια προσπάθεια να προσφέρει στις υπηρεσίες του Grid την ψευδαίσθηση ενός εικονικού µηχανήµατος. Αυτό το εικονικό µηχάνηµα ασχολείται µε βασικά θέµατα του Grid όπως είναι η δυνατότητα κλιµάκωσης, η ευκολία προγραµµατισµού, η ανοχή στα σφάλµατα, η ασφάλεια και η αυτονοµία των sites. Η πραγµατοποίηση αυτού του µηχανήµατος, µπορεί να πραγµατοποιηθεί, υλοποιώντας ένα επίπεδο ενδιάµεσου λογισµικού, ακριβώς πάνω από το τρέχον λειτουργικό σύστηµα. Το Legion είναι ένα αντικειµενοστραφές µετασύστηµα και για αυτό τον λόγο βασίζεται στις αρχές του αντικειµενοστραφούς προγραµµατισµού, που περιλαµβάνει τεχνικές όπως είναι η κληρονοµικότητα (inheritance), η ενθυλάκωση (encapsulation) και ο πολυµορφισµός. Η βασική µονάδα σε ένα σύστηµα Legion, είναι το αντικείµενο (object). Κάθε οντότητα του συστήµατος, για παράδειγµα οι διεργασίες, οι χρήστες, οι πόροι κλπ, αντιπροσωπεύονται από ένα αντικείµενο. Για να υπάρχει ασφάλεια σε ένα τέτοιο σύστηµα, πρωταρχικά θα πρέπει να προστατευτούν αυτά τα αντικείµενα καθώς και η µεταξύ τους επικοινωνία. Η αρχιτεκτονική ασφάλειας του Legion βασίζεται στις παρακάτω αρχές: Η εγκατάσταση του Legion σε ένα site δεν θα πρέπει να επηρεάζει τις πολιτικές ασφάλειας και τους στόχους του site. Το σύστηµα Legion θα πρέπει να προσαρµόζεται στις ανάγκες ασφάλειας διαφορετικών οργανισµών. Τα αντικείµενα θα πρέπει να έχουν ευέλικτη πρόσβαση σε µηχανισµούς ελέγχου, ώστε να εξουσιοδοτούν ή να απορρίπτουν τις διάφορες κλήσεις σε µεθόδους. Το σύστηµα Legion θα πρέπει να παρέχει προστασία στις ταυτότητες, καθώς και να µειώνει την διασπορά της εξουσίας, που προκαλείται από την διαδικασία της αντιπροσωπείας. Θα πρέπει να είναι εξασφαλισµένη η ακεραιότητα και η µυστικότητα της επικοινωνίας που πραγµατοποιείται µεταξύ των αντικειµένων. 65

66 Σε γενικές γραµµές, ο στόχος της αρχιτεκτονικής ασφάλειας του Legion είναι να δώσει την δυνατότητα στους συµµετέχοντες ενός συστήµατος Grid, να εκθέσουν τους πόρους τους χωρίς όµως να παραβιάζουν τις τοπικές πολιτικές. Παρακάτω αναφέρονται οι βασικοί µηχανισµοί ασφάλειας και οι πολιτικές που χρησιµοποιούνται για αυτόν τον σκοπό. Ταυτότητα: Η ταυτότητα είναι σηµαντική για υπηρεσίες ασφάλειας υψηλού επιπέδου, όπως είναι ο έλεγχος πρόσβασης, ο οποίος βασίζεται σε ένα µοναδικό αναγνωριστικό αντικειµένου ανεξαρτήτου τοποθεσίας, το LOID (location independent Legion Object Identifier). Από προεπιλογή, η αρχιτεκτονική ασφάλειας του Legion αποθηκεύει ένα ζευγάρι κλειδιών RSA σε ένα από τα πεδία του LOID. Ο RSA είναι ένας κρυπταλγόριθµος ασύµµετρου κλειδιού που µπορεί να χρησιµοποιηθεί και ως ψηφιακή υπογραφή [15]. Το ζευγάρι κλειδιών εξασφαλίζει την εµπιστευτικότητα και την ακεραιότητα στην επικοινωνία µεταξύ των αντικειµένων, µέσω της αποκρυπτογράφησης των µηνυµάτων και της χρήσης ψηφιακής υπογραφής. Στην ουσία, ένα LOID κατέχει ένα άδειο και ανυπόγραφο πιστοποιητικό Χ.509, το οποίο περιλαµβάνει το ζευγάρι κλειδών. Με τον τρόπο αυτό, δεν είναι απαραίτητη η µεσολάβηση των CAs, παρόλο που µπορούν να φανούν χρήσιµα για την δηµιουργία ταυτοτήτων για τους χρήστες. Πιστοποιητικά: Σε ένα κατανεµηµένο σύστηµα αντικειµένων, ένας χρήστης µπορεί να έχει πρόσβαση στους πόρους έµµεσα, για αυτό τον λόγο χρειάζονται κατάλληλα αντικείµενα, τα οποία µπορούν να εκτελέσουν ενέργειες εκ µέρους του. Παρόλο που θα µπορούσε να δοθεί εξαρχής, το ιδιωτικό κλειδί στα µεσάζοντα αντικείµενα, ο κίνδυνος είναι υψηλός. Για να µειωθεί αυτός ο κίνδυνος, το σύστηµα Legion εκδίδει πιστοποιητικά για αυτά τα αντικείµενα. Στα πιστοποιητικά αυτά, περιγράφονται τα δικαιώµατα του αντικειµένου για µία συγκεκριµένη χρονική περίοδο. Η χρονική περίοδος αυτή, ορίζει την περίοδο κατά την οποία το πιστοποιητικό είναι ευάλωτο σε κλοπή ή κατάχρηση. Όσο συντοµότερη είναι η χρονική περίοδος, τόσο δυσκολότερη είναι η χρήση του πιστοποιητικού, αλλά εξασφαλίζεται µεγαλύτερη ασφάλεια. Εξουσιοδότηση: Η εξουσιοδότηση στο σύστηµα Legion γίνεται µε την χρήση πιστοποιητικών. Ένα αντικείµενο που κάνει αίτηση για να επικοινωνήσει µε ένα άλλο αντικείµενο, λαµβάνει ένα πιστοποιητικό εξουσιοδότησης. Το πιστοποιητικό αυτό δεν είναι τίποτα παραπάνω, από το αναγνωριστικό LOID του ζητούµενου αντικειµένου για επικοινωνία, το οποίο όµως είναι υπογεγραµµένο από το αντικείµενο που έκανε την αίτηση. Έλεγχος Πρόσβασης: Σε ένα σύστηµα Legion, πρόσβαση ορίζεται η δυνατότητα κλήσης µίας µεθόδου ή ενός αντικειµένου. Ο έλεγχος πρόσβασης είναι αποκεντρικοποιηµένος, που σηµαίνει πως κάθε αντικείµενο είναι υπεύθυνο για την επιβολή της δικιάς του πολιτικής όσον αφορά έλεγχο πρόσβασης. Όλες οι κλήσεις µεθόδων σε ένα αντικείµενο πρέπει πρώτα να περάσουν τον έλεγχο πρόσβασης πριν ενεργοποιηθεί η ζητούµενη µέθοδος. Η αίτηση για την πρόσβαση σε µία µέθοδο γίνεται δεκτή µόνο εφόσον ο καλών κατέχει τα κατάλληλα δικαιώµατα. 66

67 Επικοινωνία: Μία κλήση µεθόδου από ένα αντικείµενο σε ένα άλλο, µπορεί να αποτελείται από πολλά µηνύµατα. Αυτά τα µηνύµατα µπορούν να χρησιµοποιήσουν ένα από τα βασικά πρωτόκολλα µεταφοράς (UDP/IP, TCP/IP) ή υπηρεσίες διανοµής µηνυµάτων, και πρέπει να µεταβιβάζονται χωρίς να αποκαλύπτονται ή να τροποποιούνται από µη εξουσιοδοτηµένες οντότητες. Υπάρχουν τρεις τρόποι για την αποστολή ενός µηνύµατος: clear mode, protected mode και private mode. Με τον πρώτο τρόπο clear mode, δεν χρησιµοποιείται κρυπτογράφηση ή κάποιος άλλος µηχανισµός ασφάλειας στο µήνυµα. Ο δεύτερος τρόπος protected mode χρησιµοποιεί µία κωδικοποίηση µέσω ενός αλγορίθµου, του message digest. Αυτός ο αλγόριθµος εισάγει ένα αλφαριθµητικό συγκεκριµένου µεγέθους για κάθε αρχείο δεδοµένων, έτσι ώστε να ανιχνεύεται η παραµικρή αλλαγή στο περιεχόµενο του µηνύµατος. Με τον τρόπο αυτό, εξασφαλίζεται η ακεραιότητα του µηνύµατος. Τέλος, ο τρίτος τρόπος private mode περιλαµβάνει την κρυπτογράφηση του µηνύµατος. ιαχείριση αντικειµένων: Όπως έχει προαναφερθεί, το σύστηµα Legion υλοποιείται ως ένα ενδιάµεσο λογισµικό πάνω από το υπάρχον λειτουργικό σύστηµα. Το κάθε λειτουργικό σύστηµα θεσπίζει τους δικούς του µηχανισµούς ασφάλειας και πολιτικές. Για αυτόν τον λόγο, είναι σηµαντικό το σύστηµα να υλοποιείται µε τέτοιον τρόπο, ώστε να µην συγκρούονται οι πολιτικές του µε αυτές του λειτουργικού συστήµατος Αρχιτεκτονική Ασφάλειας Globe Ο όρος Globe αναφέρεται στο Global Object Based Environment. Όπως φαίνεται από την ονοµασία του, το Globe είναι ένα κατανεµηµένο σύστηµα ευρείας περιοχής, το οποίο σχεδιάστηκε µε σκοπό να συνθέσει ένα επίπεδο ενδιάµεσου λογισµικού που τοποθετείται ανάµεσα στο λειτουργικό σύστηµα και το επίπεδο εφαρµογών, ακριβώς όπως και στο σύστηµα Legion. Τα βασικά χαρακτηριστικά ενός συστήµατος Globe είναι τα εξής: Αποτελεί ένα ενιαίο µοντέλο που υποστηρίζει κατανεµηµένα συστήµατα. Παρέχει ευέλικτη υλοποίηση υποδοµής. Παρουσιάζει υψηλό βαθµό κλιµάκωσης. Το Globe βασίζεται στα κατανεµηµένα διαµοιραζόµενα αντικείµενα DSOs (Distributed Shared Objects). Καθένα από αυτά τα τοπικά αντικείµενα, είναι τοποθετηµένο σε έναν µοναδικό χώρο διευθύνσεων (address space), κατέχει ένα µοναδικό object ID και αποτελείται από πέντε υπο-αντικείµενα: το Σηµασιολογικό (Semantics), το υπο-αντικείµενο Ελέγχου, Αντιγραφής (Replication), Επικοινωνίας και Ασφάλειας. Τα αντικείµενα αντίγραφα (replica objects) δηµιουργούνται από την αντιγραφή ενός τοπικού αντικειµένου και τοποθετούνται σε ξεχωριστά address spaces, όπως φαίνεται στην παρακάτω εικόνα 11. Τα αντίγραφα επικοινωνούν µεταξύ τους και συνεργάζονται προσφέροντας λειτουργικότητα στο DSO. 67

68 Εικόνα 11. Τέσσερα αντικείµενα αντίγραφα του Globe DSO τοποθετηµένα σε τέσσερα address spaces [16]. Κάθε χρήστης ή προγραµµατιστής ενός τοπικού συστήµατος, αλληλεπιδρά µε το DSO, µε τον ίδιο τρόπο που θα το έκανε αν το πρωτότυπο αντικείµενο ήταν αποθηκευµένο στο τοπικό του σύστηµα. Τα ξεχωριστά υπο-αντικείµενα από τα τοπικά αντικείµενα, ελέγχουν την διαδικασία της αντιγραφής των τοπικών αντικειµένων καθώς και την µεταξύ τους επικοινωνία, ενώ το σηµασιολογικό υποαντικείµενο είναι υπεύθυνο για την λειτουργικότητά τους. Η έννοια του DSO είναι σηµαντική γιατί δίνει την δυνατότητα στα αντικείµενα του Globe να διαµοιράζονται µεταξύ διαφορετικών συστηµάτων, τα οποία σχηµατίζουν ένα δίκτυο ευρείας περιοχής. Κατά την αρχική φάση της ανάπτυξης της αρχιτεκτονικής ασφάλειας του Globe, τα θέµατα ασφάλειας των κατανεµηµένων συστηµάτων ευρείας περιοχής ταξινοµήθηκαν σε τρεις κατηγορίες. Secure binding (Ασφάλεια σύνδεσης): Περιλαµβάνει την επιβεβαίωση ότι κάποιο τοπικό αντικείµενο αλλά και τα αντίγραφα, αποτελούν τµήµα ενός συγκεκριµένου DSO, καθώς και την σύνδεση του DSO µε εξωτερικές οντότητες. Security platform (Ασφάλεια πλατφόρµας): Προστασία των hosts από κακόβουλο κινητό κώδικα (mobile code) καθώς και προστασία κινητού κώδικα από κακόβουλους hosts. Secure method invocation (Ασφάλεια στις κλήσεις µεθόδων): Για την ασφάλεια στις κλήσεις προς τις µεθόδους, είναι απαραίτητο να γίνει εξακρίβωση της ταυτότητας του χρήστη, καθώς και έλεγχος πρόσβασης στις επιθυµητές µεθόδους. Η αρχιτεκτονική ασφάλειας του Globe βασίζεται στην κρυπτογράφηση, µε την χρήση δηµόσιου κλειδιού, αλλά και στα ψηφιακά πιστοποιητικά µε σκοπό αντιµετωπίσει τα 68

69 θέµατα που αναφέρθηκαν παραπάνω. Συγκεκριµένα, τα DSOs, τα αντίγραφα, και οι χρήστες εφοδιάζονται µε ένα ζευγάρι κλειδιών, ένα ιδιωτικό και ένα δηµόσιο, για να µπορούν να επιβεβαιώσουν την ταυτότητά τους ώστε να τους παραχωρούνται τα επιθυµητά δικαιώµατα. Παρακάτω αναφέρονται οι τρόποι µε τους οποίους η αρχιτεκτονική ασφάλειας αντιµετωπίζει αυτά τα ζητήµατα. Secure binding: Όπως έχει αναφερθεί η ασφάλεια σύνδεσης ασχολείται µε την ασφαλή αντιστοίχιση ενός DSO µε το δηµόσιο κλειδί του, ενός αντιγράφου µε το αντίστοιχο DSO και ένα DSO µε µία εξωτερική οντότητα. Η ασφαλής σύνδεση του DSO µε το δηµόσιο κλειδί του, επιτυγχάνεται µε την ένωση του κλειδιού µε την ταυτότητα του αντικειµένου OID. Στην δεύτερη περίπτωση, χρειάζεται να εξεταστούν η ταυτότητα OID, το πιστοποιητικό που κατέχει το αντίγραφο καθώς και τα υπόλοιπα πιστοποιητικά του. Τέλος, οι ανεξάρτητοι clients είναι υπεύθυνοι για την ίδρυση ενός ασφαλούς αναγνωριστικού ονόµατος για τα DSOs που χρησιµοποιούν. Platform security: Η ασφάλεια πλατφόρµας ασχολείται µε την προστασία των hosts από κακόβουλο κινητό κώδικα και το αντίστροφο. Αυτό το ζήτηµα αρχικά αντιµετωπίστηκε χρησιµοποιώντας µία τεχνική java, την sand boxing, σε συνδυασµό µε την κρυπτογράφηση του κώδικα, ενώ αργότερα εφαρµόστηκε η χρήση ενός µηχανισµού για τον έλεγχο πρόσβασης. Secure method invocation: Αρχικά αναφέρεται ένα σενάριο ώστε να διευκρινιστεί η έννοια της ασφάλειας στην κλήση κάποιας µεθόδου. Για παράδειγµα, η κλήση µίας µεθόδου Μ εκδίδεται από έναν χρήστη U και εκτελείται σε ένα αντίγραφο R. Για να είναι ασφαλής αυτή η διαδικασία θα πρέπει να ικανοποιούνται οι παρακάτω όροι: Ο χρήστης U µπορεί να καλέσει την µέθοδο M, εφόσον υπακούει την πολιτική ασφάλειας του DSO. Το αντίγραφο R µπορεί να εκτελέσει την µέθοδο M εφόσον υπακούει την πολιτική ασφάλειας του DSO και Η επικοινωνία ανάµεσα στον χρήστη U και το αντίγραφο R γίνεται µέσω ενός καναλιού που διασφαλίζει την ακεραιότητα προέλευσης, την αυθεντικότητα του προορισµού των µηνυµάτων και κάποιες φορές την εµπιστευτικότητα. Οι χρήστες µπορούν να καλέσουν µεθόδους σε ένα DSO, χρησιµοποιώντας τα κατάλληλα proxies που κατέχουν. Στη συνέχεια οι αιτήσεις του χρήστη µετατρέπονται σε αποµακρυσµένες κλήσεις µεθόδων, οι οποίες αποστέλλονται στα αρµόδια αντίγραφα που τους επιτρέπεται να χειριστούν αυτές τις αιτήσεις. Τα αντίγραφα αυτά µε την σειρά τους περιµένουν να τους επιστραφούν τα αποτελέσµατα για την αίτηση, τα οποία και παρουσιάζουν στον χρήστη. 69

70 5.4.4 CRISIS Το Crisis είναι ένα σύστηµα που εκτελεί λειτουργίες εξακρίβωσης ταυτότητας του χρήστη, και έλεγχου πρόσβασης, ενώ αποτελεί συνθετικό συστατικό του λειτουργικού συστήµατος WebOS. Το WebOS είναι ένα σύστηµα το οποίο σχεδιάστηκε στο πανεπιστήµιο του Barkley, µε σκοπό να επεκτείνει τις δυνατότητες των λειτουργικών συστηµάτων ώστε να απλοποιήσει την χρήση γεωγραφικά κατανεµηµένων πόρων. Το σύστηµα Crisis παρέχει υπηρεσίες ασφάλειας, αποµακρυσµένης επεξεργασίας και διαχείρισης πόρων, µε σκοπό να υποστηρίξει κατανεµηµένες εφαρµογές ευρείας περιοχής. Στο σύστηµα παρουσιάζονται τρεις οντότητες. Η πρώτη οντότητα, principles, αναφέρεται στους διαθέσιµους πόρους για χρήση όπως για παράδειγµα η αίτηση για κάποιο µηχάνηµα. Η δεύτερη οντότητα, τα αντικείµενα objects, αντιπροσωπεύει τους γενικούς πόρους ενώ η τρίτη οντότητα, τα reference monitors, περιλαµβάνει διαδικασίες απόφασης για το αν θα γίνει αποδεκτή ή όχι µία ληφθείσα αίτηση. Όλες οι δηλώσεις (statements) στο Crisis, όπως για παράδειγµα η δήλωση ταυτότητας, η δήλωση προνοµίου και η αντιπροσωπεία, έχουν την µορφή πιστοποιητικών Χ.509. Αυτά τα πιστοποιητικά υπογράφονται από τον φορέα (χρήστης ή µηχάνηµα) που έκανε την δήλωση και στη συνέχεια επικυρώνονται από κάποιον άλλο φορέα της επιλογής του. Χρησιµοποιούνται δύο βασικά είδη πιστοποιητικών. Τα πιστοποιητικά ταυτότητας για διαδικασίες εξακρίβωσης ταυτότητας και εξουσιοδότησης, ενώ τα πιστοποιητικά µεταφοράς για την µεταφορά της εξουσιοδότησης από µία οντότητα σε κάποια άλλη (αντιπροσωπεία). Το σύστηµα Crisis αποτελείται από µία σειρά αποµακρυσµένων κόµβων. Σε κάθε κόµβο υπάρχουν προµηθευτές πόρων και ένας διαχειριστής ασφάλειας. Υπάρχουν τρία είδη προµηθευτών, καθένας από τους οποίους περιλαµβάνει το δικό του σύνολο από «όργανα αναφοράς» (reference monitor). Το πρώτο είδος προµηθευτών είναι οι διαχειριστές επεξεργασίας, οι οποίοι είναι υπεύθυνοι για την εκτέλεση των εργασιών στους αιτούµενους κόµβους. Οι WebFS servers υλοποιούν ένα προσωρινό συνεκτικό σύστηµα αρχείων (cache coherent global file system), µε σκοπό να παρέχουν ένα υπόστρωµα για την ανάπτυξη διαδικτυακών εφαρµογών, και τέλος οι φορείς πιστοποίησης οι οποίοι λαµβάνουν αιτήσεις για την δηµιουργία πιστοποιητικών ταυτότητας. Στο σύστηµα Crisis όλα τα προγράµµατα εκτελούνται στο πλαίσιο ενός πεδίου ασφάλειας. Ένα πεδίο ασφάλειας σχηµατίζεται από την σύνδεση ενός κελύφους εισόδου (login shell) που βρίσκεται σε έναν αποµακρυσµένο κόµβο, µε ένα σύνολο πιστοποιητικών που έχουν µεταδοθεί από τον κύριο κόµβο. Οι διαχειριστές ασφάλειας µεσολαβούν για να παρέχουν πρόσβαση σε όλους τους τοπικούς πόρους και επιπλέον είναι υπεύθυνοι για την αντιστοίχιση των προαναφερθέντων πιστοποιητικών στα διοικητικά πεδία. 70

71 5.4.5 Αξιολόγηση των Αρχιτεκτονικών Ασφάλειας Σε αυτή την ενότητα παρουσιάζεται µία συγκριτική αξιολόγηση των αρχιτεκτονικών ασφάλειας που αναφέρονται παραπάνω, όσον αφορά την ικανοποίηση των απαιτήσεων που αναφέρονται στην ενότητα 5.2. Πρέπει να σηµειωθεί, πως αυτή η αξιολόγηση είναι εµπειρικής φύσεως και δεν περιλαµβάνει συµπεράσµατα βασισµένα σε µετρήσεις. Πίνακας 1. Αξιολόγηση Αρχιτεκτονικών Ασφάλειας του Grid. [13] Θα µπορούσε κάποιος να παρατηρήσει πως στον παραπάνω πίνακα αξιολογούνται οι τέσσερις από τις πέντε αρχιτεκτονικές που έχουν περιγραφεί. Αυτό συµβαίνει επειδή η αρχιτεκτονική OGSA και η συνεπαγόµενη αρχιτεκτονική ασφάλειας, βρίσκονται στην φάση όπου ορίζονται οι προδιαγραφές της. Για αυτόν τον λόγο, θα ήταν ανούσια η προσπάθεια αξιολόγησής της. Αυτή η προσπάθεια θα ήταν εφικτή µόνο για συγκεκριµένες υλοποιήσεις της αρχιτεκτονικής. [13] 71

72 Κεφάλαιο 6. Προγραµµατισµός στο Grid Ο προγραµµατισµός του Grid διαχειρίζεται περιβάλλοντα τα οποία εκ φύσεως τους υποστηρίζουν τον παραλληλισµό, και επίσης είναι ετερογενή και δυναµικά όσον αφορά τους πόρους που περιλαµβάνουν αλλά και την απόδοσή τους. Βασικός στόχος είναι η µελέτη των προγραµµατιστικών µοντέλων, των εργαλείων και των µεθόδων που χρησιµοποιούνται για την αποτελεσµατική ανάπτυξη αλγορίθµων και εφαρµογών υψηλής απόδοσης. Οι εφαρµογές του Grid συνθέτουν δυναµικά πόρους και υπηρεσίες σε αυτά τα δυναµικά περιβάλλοντα. Ενώ υπάρχει η δυνατότητα ανάπτυξης των εφαρµογών του Grid χρησιµοποιώντας τα καθιερωµένα προγραµµατιστικά εργαλεία, αυτά δεν είναι κατάλληλα να διαχειριστούν αποδοτικά την ευέλικτη σύνθεση των πόρων ή των υπηρεσιών, αλλά και να χειριστούν ετερογενείς ιεραρχίες µηχανηµάτων, δεδοµένων και δικτύων µε ετερογενή απόδοση. Αυτές οι εφαρµογές εκτελούνται σε διαφορετικά είδη πόρων, των οποίων η διαµόρφωση µπορεί να αλλάζει κατά την διάρκεια της εκτέλεσης. Οι αλλαγές που προκύπτουν, συνήθως προκαλούνται από αλλαγές που συµβαίνουν στο περιβάλλον εκτέλεσης, όπως για παράδειγµα είναι η αποτυχηµένη λειτουργία µίας συσκευής. Τα Grids όπως έχει προαναφερθεί, χρησιµοποιούνται για υπολογισµούς ευρείας κλίµακας και υψηλής απόδοσης. Για να επιτευχθεί η υψηλή απόδοση, απαιτείται να υπάρχει µία ισορροπία στους υπολογισµούς αλλά και στην επικοινωνία µεταξύ των συµπεριλαµβανοµένων πόρων. Αυτό γίνεται µε την διαχείριση των υπολογισµών αλλά και της επικοινωνίας χρησιµοποιώντας µεθόδους ανταλλαγής µηνυµάτων ή αποµακρυσµένες κλήσεις υπηρεσιών αφού ο προγραµµατιστής πρέπει να ενηµερώνεται για τα αιτήµατα για λειτουργίες καθώς και για την µεταφορά τους από τους πόρους στον κατάλληλο προορισµό. Ο όρος προγραµµατιστικό µοντέλο δεν χρησιµοποιείται για να ορίσει µόνο τις γλώσσες προγραµµατισµού, αντιθέτως όµως µπορεί να εµφανιστεί σε διάφορες µορφές, όπως για παράδειγµα µία βιβλιοθήκη µε APIs ή ένα εργαλείο µε λειτουργικότητα που µπορεί να επεκταθεί. Επίσης τα προγραµµατιστικά µοντέλα µπορούν να εµφανίζονται σε υποδοµές, σε portals ή και σε περιβάλλοντα για την επίλυση προβληµάτων. Τα πιο επιτυχηµένα από αυτά, καταφέρνουν να προσφέρουν υψηλή απόδοση και προσαρµόσιµη διαχείριση αλλά και σύνθεση πόρων. Ένα άλλο βασικό στοιχείο, είναι ότι επηρεάζουν ολόκληρο τον κύκλο ζωής του λογισµικού µέρους του συστήµατος, δηλαδή την σχεδίαση, την υλοποίηση, την εκσφαλµάτωση (debugging), την λειτουργία και την συντήρηση. Επιπλέον, τα επιτυχηµένα προγραµµατιστικά µοντέλα θα πρέπει να προσφέρουν εύκολη και αποτελεσµατική χρήση για κάθε είδους εργαλεία, όπως για παράδειγµα για µεταγλωττιστές, debuggers, όργανα παρακολούθησης απόδοσης κλπ. 72

73 6.1 Ιδιότητες Προγραµµατιστικών Μοντέλων Φορητότητα, ιασυνδεσιµότητα και Προσαρµοστικότητα: Οι γλώσσες προγραµµατισµού υψηλού επιπέδου που χρησιµοποιούνται µέχρι και σήµερα, επιτρέπουν στους κώδικες να είναι ανεξάρτητοι από τον επεξεργαστή. Η έννοια της φοτηρότητας αναφέρεται στην ανεξαρτησία της αρχιτεκτονικής µε την έννοια ενός µεταγλωττιστικού εικονικού µηχανήµατος, ή ακόµα µπορεί να αναφέρεται στην ικανότητα να χρησιµοποιούνται κώδικες ή υπηρεσίες που βρίσκονται σε διαφορετικές τοποθεσίες αλλά παρόλα αυτά παρέχουν ικανοποιητική απόδοση. Η έννοια της διασυνδεσιµότητας των προγραµµατιστικών µοντέλων αναφέρεται στην χρήση διαφορετικών αλλά ισοδύναµων υπηρεσιών και κωδικών προγραµµατισµού. Η ανοιχτή και ευέλικτη αρχιτεκτονική του Grid υποδηλώνει ένα κατανεµηµένο περιβάλλον το οποίο µπορεί να χρησιµοποιήσει πρωτόκολλα, APIs και εργαλεία ανάπτυξης εφαρµογών όπου αυτά χρειάζονται. Η φορητότητα και η διασυνδεσιµότητα προωθούν την προσαρµοστικότητα. Ένα πρόγραµµα θα πρέπει να µπορεί να προσαρµοστεί σε διαφορετικούς τύπους διαµορφώσεων που βασίζονται στους διαθέσιµους πόρους. Οι αλλαγές στην διαµόρφωση µπορούν να προκύψουν κατά την εκκίνηση της εκτέλεσης αλλά και κατά την διάρκεια λόγω αλλαγών στις απαιτήσεις της εφαρµογής ή σε κάποια ανάκαµψη σφάλµατος. Η προσαρµοστικότητα σε µια τέτοια περίπτωση µπορεί να περιλαµβάνει την επανεκκίνηση µίας εκτέλεσης ή µία πραγµατική επεξεργασία ή και τη µεταφορά δεδοµένων. Ανακάλυψη πόρων: Η ανακάλυψη των πόρων σίγουρα αποτελεί ένα αναπόσπαστο κοµµάτι της τεχνολογίας του Grid computing. Οι κώδικες του grid θα πρέπει να ανακαλύψουν hosts στους οποίους και θα εκτελεστούν. Παρόλο που τα grids φιλοξενούν πολλές σταθερές υπηρεσίες, θα πρέπει επίσης να µπορούν να ανακαλύψουν αυτές τις υπηρεσίες καθώς και τις διασυνδέσεις που αυτές υποστηρίζουν. Η χρήση αυτών των υπηρεσιών πρέπει να προγραµµατίζεται και να παράγεται µε ενιαίο τρόπο. Για αυτόν τον λόγο τα προγραµµατιστικά περιβάλλοντα και τα εργαλεία του grid θα πρέπει να ενηµερώνονται για τις διαθέσιµες υπηρεσίες ανακάλυψης πόρων αλλά και να προσφέρουν στον χρήστη µηχανισµούς που του επιτρέπουν να εκµεταλλεύεται αυτές τις υπηρεσίες όταν αναπτύσσει εφαρµογές για το grid. Απόδοση: Για πολλές εφαρµογές του Grid, η απόδοση αποτελεί σηµαντικό παράγοντα. Η ετερογένεια που παρουσιάζεται στο διαθέσιµο εύρος ζώνης αλλά και στην καθυστέρηση της εκτέλεσης εργασιών, προκαλεί δυσκολίες στην επίτευξη της επιθυµητής υψηλής απόδοσης αλλά και στην αποδοτική χρήση των πόρων που χρονοδροµολογούνται παράλληλα. Η αναλογία µεταξύ της επικοινωνίας και των υπολογισµών που υποστηρίζει ένα συνηθισµένο περιβάλλον grid, δυσκολεύει την κατάσταση ιδιαίτερα για σφιχτά συζευγµένες εφαρµογές. Παρόλα αυτά, η αξιόπιστη απόδοση αποτελεί εξίσου σηµαντικό παράγοντα για πολλές εφαρµογές του Grid. Ένα δυναµικό και ετερογενές περιβάλλον µπορεί να παράγει ποικίλα αποτελέσµατα όσον αφορά την απόδοση, τα οποία όµως σε ορισµένες περιπτώσεις δεν είναι αποδεκτά. Για αυτόν τον λόγο η ποιότητα των 73

74 υπηρεσιών σε ένα διαµοιραζόµενο περιβάλλον είναι απαραίτητη, για την αξιοπιστία µίας προγραµµατιστικής κατασκευής σε κάποιον τύπο διαµόρφωσης των πόρων. Ενώ κάποιοι χρήστες απαιτούν ένα ακριβές ντετερµινιστικό µοντέλο απόδοσης, φαίνεται πιο λογικό να παρέχεται αξιόπιστη απόδοση σύµφωνα µε κάποια στατιστική δέσµευση. Ανοχή στα σφάλµατα: Η δυναµική φύση των grids έχει την προϋπόθεση ότι είναι απαραίτητη η ανοχή στα σφάλµατα σε ένα ορισµένο όριο. Αυτό ισχύει, ιδιαίτερα στην περίπτωση που παρόµοιες αλλά ανεξάρτητες εργασίες, ξεκινούν να εκτελούνται σε πολλούς hosts. Καθώς αυξάνεται ο αριθµός των χρησιµοποιούµενων πόρων, αυξάνεται και η πιθανότητα ότι η φορητότητα κάποιων πόρων κατά την διάρκεια υπολογισµών θα αποτύχει. Οι εφαρµογές του grid θα πρέπει να µπορούν να κάνουν ελέγχους για σφάλµατα κατά την διάρκεια της εκτέλεσης των υπολογιστικών ή και επικοινωνιακών πόρων καθώς και να παρέχουν λειτουργίες για την διόρθωση ή την αντιµετώπιση αυτών των σφαλµάτων. (Παράλληλα, τα εργαλεία θα πρέπει να διασφαλίζουν κάποιο ελάχιστο επιθυµητό επίπεδο αξιόπιστων υπολογισµών ). Ασφάλεια: Οι κώδικες του grid διασχίζουν πολυάριθµα διοικητικά πεδία και χρησιµοποιούν διαµοιραζόµενους πόρους όπως για παράδειγµα είναι τα δίκτυα. Ενώ η παροχή ισχυρής εξακρίβωσης ταυτότητας ανάµεσα σε δύο sites αποτελεί κρίσιµο ζήτηµα, στο µέλλον δεν θα είναι ασυνήθιστο για µία εφαρµογή να περιλαµβάνει πολυάριθµα sites, όλα υπό τον έλεγχο προγράµµατος. Θα µπορούσαν µάλιστα να χρησιµοποιούνται δέντρα µε αυθαίρετο βάθος όπου η επιλογή των πόρων αποφασίζεται δυναµικά. Για αυτόν τον λόγο, είναι απαραίτητο να υπάρχει ένας µηχανισµός ασφάλειας σε όλα τα προγραµµατιστικά µοντέλα που να παρέχει εξακρίβωση ταυτότητας. [17] 6.2 Προγραµµατιστικά εργαλεία Για να οριστούν τα απαραίτητα εργαλεία για τον προγραµµατισµό σε περιβάλλοντα Grid, θα πρέπει πρώτα να οριστούν οι συµµετέχοντες. Σύµφωνα µε τον Ian Foster και τον Carl Kesselman [18], οι συµµετέχοντες αυτοί είναι οι σχεδιαστές και οι χρήστες. Οι σχεδιαστές υποδιαιρούνται περαιτέρω στους σχεδιαστές συστηµάτων Grid και στους σχεδιαστές εργαλείων και εφαρµογών. Οι σχεδιαστές συστηµάτων Grid, ασχολούνται κυρίως µε την σχεδίαση και την υλοποίηση των δοµικών στοιχείων του Grid, όπως είναι για παράδειγµα τα πρωτόκολλα, οι βασικές υπηρεσίες του Grid και τα APIs. Αυτά τα δοµικά στοιχεία στην συνέχεια χρησιµοποιούνται από τους σχεδιαστές εργαλείων για να κατασκευάσουν ειδικά εργαλεία υψηλού επιπέδου όπως είναι για παράδειγµα οι µεταγλωττιστές, οι γλώσσες προγραµµατισµού και οι βιβλιοθήκες. Στο υψηλότερο επίπεδο ιεραρχικά βρίσκονται οι σχεδιαστές εφαρµογών οι οποίοι αναπτύσσουν εφαρµογές καλώντας υπηρεσίες που έχουν οριστεί σε χαµηλότερα επίπεδα. 74

75 Σύµφωνα µε τους συγγραφείς [19], υπάρχουν τρία είδη χρηστών στα συστήµατα Grid. Οι πιο πολλοί από αυτούς είναι οι τελικοί χρήστες οι οποίοι προγραµµατίζουν προκατασκευασµένες εφαρµογές του Grid, χρησιµοποιώντας ένα απλό γραφικό περιβάλλον διασύνδεσης GUI (Graphical User Interface) ή κάποιο web interface αντίστοιχα. Αυτοί οι χρήστες δεν χρειάζονται να έχουν ειδικές προγραµµατιστικές ικανότητες και συνήθως γνωρίζουν µόνο τα σηµασιολογικά στοιχεία του προβλήµατος που µελετούν. Οι προγραµµατιστές του Grid είναι η δεύτερη κατηγορία χρηστών. Αυτοί οι χρήστες γνωρίζουν πώς να κατασκευάσουν µία εφαρµογή για το Grid, χρησιµοποιώντας υπάρχοντα συστατικά τα οποία µπορεί να είναι ανεξάρτητες εφαρµογές ή υπηρεσίες του Grid. Πρέπει να είναι έµπειροι προγραµµατιστές ειδικά όσον αφορά την σύνδεση και την τοποθέτηση των συστατικών. Η τρίτη κατηγορία χρηστών του Grid είναι οι σχεδιαστές συστατικών οι οποίοι είναι συνήθως εξειδικευµένοι χρήστες, που έχουν τα απαραίτητα προσόντα για την κατασκευή µεµονωµένων συστατικών µίας εφαρµογής του Grid. Παρακάτω, περιγράφονται κάποια από τα πιο σηµαντικά προγραµµατιστικά εργαλεία που χρησιµοποιούνται στα συστήµατα Grid. Τα περισσότερα από αυτά που είναι διαθέσιµα για χρήση, είναι προσαρµογές εργαλείων που προέρχονται από παράλληλα και κατανεµηµένα περιβάλλοντα. Σύµφωνα µε το επίπεδο αφαίρεσης των συστατικών τους αλλά και τις λειτουργίες που προσφέρουν, ταξινοµούνται στις παρακάτω κατηγορίες: Grid enabled message passing libraries (Βιβλιοθήκες διαβίβασης µηνυµάτων) Middleware Problem solving environments (Περιβάλλοντα επίλυσης προβληµάτων) Portals (Θύρες) Grid enabled message passing libraries: Η χρήση της βιβλιοθήκης µεταβίβασης µηνυµάτων θεωρείται ως µία προσέγγιση χαµηλού επιπέδου συγκριτικά µε την χρήση της γλώσσας προγραµµατισµού Assembly. Υπάρχουν διάφορα έργα που σχετίζονται µε την δηµιουργία βιβλιοθηκών µεταβίβασης µηνυµάτων, για την τεχνολογία του Grid computing και των µετα-υπολογισµών (metacomputing): MagPle, MPICH-G2, MPI_Connect, MetaMPICH, PACX-MPI, PVMPI, Stampi και άλλα. Για την προσέγγιση της αµφίπλευρης µεταβίβασης µηνυµάτων (two sided message passing) σαν πιο αντιπροσωπευτικά έργα αναφέρονται τα MPICH-G2 και PACX-MPI. [20] Η διεργασία MPI (Message Passing Interface) σχεδιάστηκε για να υποστηρίξει την ανάπτυξη βιβλιοθηκών παράλληλου λογισµικού και επιτρέπει στους χρήστες του Grid να έχουν πρόσβαση σε προηγµένο παράλληλο υλικό hardware. Η πιο ολοκληρωµένη υλοποίηση του MPI, είναι το MPICH-G2 το οποίο χρησιµοποιεί κάποιες από τις υπηρεσίες του Globus toolkit για να παρέχει εξακρίβωση της 75

76 ταυτότητας, κατανοµή των πόρων, καθώς κι άλλες λειτουργίες. Η υλοποίηση MPICH-G2 είναι ιδιαιτέρως χρήσιµη για κατανεµηµένες εφαρµογές που εκτελούνται σε κάποιο παράλληλο σύστηµα. Το αποτέλεσµα είναι, ότι ο χρήστης µπορεί να εκτελέσει προγράµµατα MPI σε πολλά µηχανήµατα που είναι τοποθετηµένα σε διαφορετικά sites χρησιµοποιώντας τις εντολές που θα χρησιµοποιούσε σε ένα παράλληλο µηχάνηµα. Οι ασύγχρονες λειτουργίες του MPI µπορούν να χρησιµοποιηθούν για την διαχείριση της καθυστέρησης σε δίκτυα ευρείας περιοχής. Επιπλέον, µελέτες που έγιναν για την απόδοση του MPI έδειξαν πως τα γενικά έξοδα για τις τοπικές υλοποιήσεις των βασικών λειτουργιών επικοινωνίας είναι αµελητέα. Η βιβλιοθήκη MPICH-2 κάνει δυνατή την χρήση διαφόρων χαρακτηριστικών του προτύπου MPI, ώστε ο χρήστης να µπορέσει να διαχειριστεί την ετερογένεια στον προγραµµατισµό του Grid. Επίσης έχει χρησιµοποιηθεί ευρέως για την εκτέλεση συνηθισµένων κατανεµηµένων εφαρµογών αλλά και για υπολογιστικές εφαρµογές σε τοπικά δίκτυα και δίκτυα ευρείας περιοχής αντίστοιχα. Η βιβλιοθήκη MPICH-G2 δεν είναι η µοναδική υλοποίηση του προτύπου MPI για ετερογενή συστήµατα, όπως έχει προαναφερθεί παραπάνω. Υπάρχουν και άλλες υλοποιήσεις όπως για παράδειγµα η MPICH µε την συσκευή ch_p4 η οποία παρέχει κάποια υποστήριξη για την αντιµετώπιση της ετερογένειας του συστήµατος, η PACH-MPI και η STAMPI καθεµία από τις οποίες παρουσιάζουν σηµαντικά χαρακτηριστικά. Ωστόσο, η βιβλιοθήκη MPICH-2 ξεχωρίζει σε σύγκριση µε τις υπόλοιπες, ως προς τον βαθµό διαχείρισης αλλά και της απόκρυψης της ετερογένειας του συστήµατος αλλά και την διαδεδοµένη χρήση της. [21] Middleware: Ο ρόλος του ενδιάµεσου λογισµικού είναι να διευκολύνει τον προγραµµατιστή στην σχεδίαση, τον προγραµµατισµό και την διαχείριση κατανεµηµένων εφαρµογών παρέχοντας ένα απλό και ολοκληρωµένο κατανεµηµένο προγραµµατιστικό περιβάλλον. Στην ουσία, το ενδιάµεσο λογισµικό είναι ένα κατανεµηµένο επίπεδο λογισµικού, το οποίο µειώνει την πολυπλοκότητα και την ετερογένεια του επικείµενου κατανεµηµένου περιβάλλοντος, µε το πλήθος των δικτυακών τεχνολογιών, των µηχανηµάτων και των λειτουργικών συστηµάτων που περιλαµβάνει. Συχνά ονοµάζεται «σωλήνας» (plumbing) επειδή ενώνει δύο πλευρές µίας εφαρµογής και µεταφέρει δεδοµένα ανάµεσά τους. Σύµφωνα µε την ορολογία του Grid, το ενδιάµεσο λογισµικό ορίζεται ως ένα λογισµικό το οποίο επιτρέπει στους επιστήµονες να µοιράζονται εφαρµογές, επιστηµονικά εργαλεία και δεδοµένα, µε σκοπό να επικοινωνούν µε τους συναδέλφους τους, σε ένα σύστηµα Grid. Συγκεκριµένα, στην αρχιτεκτονική επιπέδων του Grid, το ενδιάµεσο λογισµικό αποτελεί ένα επίπεδο λογισµικού ανάµεσα στο επίπεδο εφαρµογών και το επίπεδο πόρων, το οποίο παρέχει υπηρεσίες εξακρίβωσης ταυτότητας, εξουσιοδότησης, ανακάλυψης πόρων, ασφάλειας και άλλες. Από την άποψη του προγραµµατιστή, ο βασικός στόχος του ενδιάµεσου λογισµικού είναι να δίνει την δυνατότητα αφαίρεσης συστατικών του συστήµατος, ώστε να µειώσει την πολυπλοκότητα κάποιων προγραµµατιστικών tasks. Τα εργαλεία ενδιάµεσου λογισµικού του Grid, κατατάσσονται σε τρεις υποκατηγορίες, τα Network-enabled servers networks, τα Frameworks και τις τεχνολογία Componentbased Technology (CBT). 76

77 Problem solving environments: Ένα περιβάλλον επίλυσης προβληµάτων PSE, είναι ένα υπολογιστικό σύστηµα το οποίο παρέχει στους χρήστες όλες τις απαραίτητες υπολογιστικές ευκολίες για την επίλυση µίας οµάδας προβληµάτων. Αυτά τα χαρακτηριστικά περιλαµβάνουν προηγµένες µεθόδους, την αυτόµατη ή και ηµιαυτόµατη επιλογή των διαδικασιών για την επίλυση προβληµάτων καθώς και την εύκολη τοποθέτηση των εργαλείων, που χρησιµοποιούν αυτές οι καινοτόµες προσεγγίσεις. Ένα περιβάλλον επίλυσης προβληµάτων σχεδιάζεται µε σκοπό να παρέχει διαφανή πρόσβαση σε ετερογενείς κατανεµηµένους υπολογιστικούς πόρους. Επιπλέον, ενισχύει την έρευνα παραγωγικότητας διευκολύνοντας την κατασκευή, εκτέλεση και την ανάλυση των αποτελεσµάτων που παράγουν οι υπολογιστικές προσοµοιώσεις. Από την άποψη της τεχνολογίας του Grid, ένα PSE µπορεί να θεωρηθεί ως ένα περιβάλλον µέσω του οποίου οι χρήστες ενός Ε.Ο. αξιοποιούν τους πόρους που τους παρέχει το Grid. Αυτό έχει ως αποτέλεσµα, ένα PSE να θεωρείται ως µία «Θύρα Εφαρµογών» (Application Portal). Έχουν προταθεί διάφορα περιβάλλοντα ανάπτυξης PSE ώστε να βοηθηθούν οι σχεδιαστές αυτών, ενδεικτικά αναφέρονται τα Webflow και Commodity Grid (CoG) Kits. Portals: εν υπάρχει ακριβής ορισµός που να περιγράφει τι ακριβώς είναι µία θύρα. Οι θύρες παρέχουν πληροφορίες και υπηρεσίες σχετικά µε µία συγκεκριµένη εµπορική υπηρεσία ή κάποια κοινωνία χρηστών, µέσω ενός συνδυασµού από πληροφορίες που αντλούνται από sites µε συνδέσµους (links). Οι θύρες συνήθως επικεντρώνονται σε µία κοινωνία (Community) ή σε κάποιον επιχειρησιακό τοµέα. Μία θύρα θα πρέπει να παρέχει µία ευέλικτη υποδοµή, η οποία µπορεί να επεκταθεί καθώς αυξάνονται οι απαιτήσεις της. Επίσης πρέπει να µπορεί να ενοποιηθεί µε τα υπάρχοντα συστήµατα ασφάλειας, ελέγχου πρόσβασης χρήστη, καθώς και να επιτρέπει στον χρήστη να κάνει διάφορες προσαρµογές, σύµφωνα µε τις απαιτήσεις του. Παραδείγµατα των πιο γνωστών θυρών είναι τα: Yahoo, Excite, Infoseek, Lycos, Netcenter, Start, AOL, Snap και AltaVista. Στο επιστηµονικό πεδίο, µία θύρα µπορεί να θεωρηθεί ως ένα γραφικό προγραµµατιστικό περιβάλλον προσβάσιµο µέσω δικτύου, που ασχολείται µε την επίλυση ενός συγκεκριµένου συνόλου προβληµάτων. [20] 77

78 6.4 Περιβάλλοντα Προγραµµατισµού Εφαρµογών στο Grid Τα συστήµατα Grid δίνουν την δυνατότητα του διαµοιρασµού, της επιλογής αλλά και της συγκέντρωσης πόρων οι οποίοι είναι γεωγραφικά κατανεµηµένοι σε διάφορες τοποθεσίες. Τα σύγχρονα συστήµατα Grid προσφέρουν πολλών ειδών υπηρεσίες, όπως για παράδειγµα, υπολογιστικές υπηρεσίες, υπηρεσίες δεδοµένων, πληροφοριών και υπηρεσίες γνώσεων. Για να παρέχονται αυτού του είδους οι λειτουργίες, το Grid δηµιουργεί ένα περιβάλλον µε ετερογενή και κατανεµηµένα χαρακτηριστικά. Η ανάπτυξη ενός καλού προγραµµατιστικού περιβάλλοντος ή αλλιώς GPE (Grid Programming Environment), είναι απαραίτητη καθώς διευκολύνει την διαδικασία ανάπτυξης εφαρµογών. Ένα καλό προγραµµατιστικό περιβάλλον θα πρέπει να επιτυχαίνει τους ακόλουθους στόχους. Ικανότητα προγραµµατισµού υψηλού επιπέδου και παραγωγικότητα για ποικίλες εφαρµογές του Grid. Θα πρέπει να υποστηρίζει διαφορετικές γλώσσες προγραµµατισµού και πιθανώς διαφορετικά είδη ενδιάµεσου λογισµικού. Θα πρέπει να επιτρέπει την επαναχρησιµοποίηση και τον διαµοιρασµό λογισµικού. Πρέπει να είναι εύχρηστο. Θα πρέπει να προσφέρει υψηλή απόδοση και να έχει χαµηλό κόστος υλοποίησης. Τα βασικά συνθετικά συστατικά των περισσοτέρων προγραµµατιστικών περιβαλλόντων στο Grid είναι οι διεπαφές, τα APIs, οι υπηρεσίες χρησιµότητας (utility) και τα εργαλεία που χρησιµοποιούνται. Βασική προϋπόθεση για αυτά τα περιβάλλοντα είναι να υποστηρίζουν πλήρως, τις πιο συχνά χρησιµοποιούµενες γλώσσες προγραµµατισµού όπως είναι η Java, η C, η C++ και η Fortran. Επιπλέον, θα πρέπει να υπάρχουν διαθέσιµες προγραµµατιστικές διεπαφές εφαρµογών, όπως είναι οι MPI και PVM (Parallel Virtual Machine) καθώς επίσης θα πρέπει να περιλαµβάνονται και κάποια βασικά προγραµµατιστικά υποδείγµατα µεταβίβασης µηνυµάτων και κατανεµηµένης διαµοιραζόµενης µνήµης. [22] Χαρακτηριστικά Όπως έχει αναφερθεί παραπάνω τα προγραµµατιστικά περιβάλλοντα εφαρµογών του Grid παρέχουνε APIs και περιβάλλοντα εκτέλεσης λογισµικού (runtime environments) για την υλοποίηση αυτών, επιτρέποντας τους κώδικες των εφαρµογών να εκτελούνται σε ένα περιβάλλον Grid. Παρακάτω αναφέρονται τα χαρακτηριστικά που παρουσιάζουν αυτά τα προγραµµατιστικά περιβάλλοντα. 78

79 Μη λειτουργικά χαρακτηριστικά (Non-functional properties): Οι µη λειτουργικές ιδιότητες των προγραµµατιστικών περιβαλλόντων είναι εκείνες που ορίζουν τους περιορισµούς στην λειτουργικότητα των APIs, στο Grid. Θέµατα όπως είναι η απόδοση, η ασφάλεια και η ανοχή στα σφάλµατα, πρέπει να λαµβάνονται υπόψη κατά την σχεδίαση των PSEs όπου εκτελούνται οι εφαρµογές του Grid. Απόδοση: Οι υπολογισµοί υψηλής απόδοσης είναι µία από τις κινητήριες δυνάµεις των συστηµάτων Grid και για αυτόν τον λόγο, η απόδοση αποτελεί την πιο σηµαντική µη λειτουργική ιδιότητα των λειτουργιών που εκτελούν τις λειτουργικές ιδιότητες που περιγράφονται παρακάτω. Η δροµολόγηση και η τοποθέτηση των εργασιών για εκτέλεση, εξαρτάται από τους αναµενόµενους χρόνους εκτέλεσης ενώ η απόδοση της πρόσβασης σε δεδοµένα εξαρτάται από το εύρος ζώνης και την καθυστέρηση του δικτύου. Η εξισορρόπηση ανάµεσα στην ανεξάρτητη λειτουργικότητα από κάποιο προγραµµατιστικό περιβάλλον και την προγραµµατισµένη απόδοση είναι ένα θέµα που απασχολούσε τους ερευνητές από τον πρώτο καιρό που εφαρµόστηκε ο παράλληλος προγραµµατισµός. Στα συστήµατα Grid ωστόσο, αποτελεί θέµα ιδιαίτερης σηµασίας λόγω των µεγάλων φυσικών αποστάσεων ανάµεσα στα sites ενός Grid. Ανοχή στα σφάλµατα: Οι περισσότερες λειτουργίες σε ένα API περιλαµβάνουν την επικοινωνία µε αποµακρυσµένους χρήστες, υπηρεσίες και πόρους. Λόγω της απόστασης, µπορεί να εµφανιστούν αστάθειες στην επικοινωνία µέσω του δικτύου ή η σύνδεση µε κάποιο site να αποτύχει ή να σταθεί ανέφικτη ενώ είναι πιθανό να προκύψουν και άλλες αποτυχηµένες καταστάσεις. Τα προσωρινά σφάλµατα είναι ένα συχνό φαινόµενο. Για αυτόν τον λόγο η αντιµετώπισή τους είναι απαραίτητη στα προγράµµατα εκτέλεσης λογισµικού του Grid αλλά και στα APIs αντίστοιχα. Ασφάλεια και εµπιστοσύνη: Τα συστήµατα Grid συνδέουν χρήστες και υπηρεσίες από διάφορα sites. Η επικοινωνία αυτών εκτελείται συνήθως µέσω µη ασφαλισµένων συνδέσεων του διαδικτύου. Η σύνδεση και η επικοινωνία, απαιτούν µηχανισµούς για την διασφάλιση της ασφάλειας και της εµπιστοσύνης µεταξύ των εταίρων. Για αυτόν τον λόγο, ένα API θα πρέπει να υποστηρίζει την αµοιβαία εξακρίβωση της ταυτότητας, µεταξύ των χρηστών και των πόρων. Ο έλεγχος της πρόσβασης σε πόρους (εξουσιοδότηση), είναι επίσης µία πηγή προσωρινών σφαλµάτων, τα οποία καλούνται να αντιµετωπίσουν, τα συστήµατα εκτέλεσης λογισµικού και τα APIs τους. Εκτός από την εξακρίβωση της ταυτότητας και την εξουσιοδότηση, η εµπιστευτικότητα παίζει σηµαντικό ρόλο στα συστήµατα που βασίζονται στο ιαδίκτυο, τα οποία µπορούν να διασφαλιστούν χρησιµοποιώντας µηχανισµούς κρυπτογράφησης. Ανεξαρτησία από την πλατφόρµα: Μία σηµαντική ιδιότητα των PSEs είναι να η ανεξαρτησία του προγραµµατιστικού κώδικα µίας εφαρµογής, από τις λεπτοµέρειες της πλατφόρµας του Grid, όπως είναι για παράδειγµα τα ονόµατα των µηχανηµάτων. Αυτό το χαρακτηριστικό θα πρέπει να αντικατοπτρίζεται και στα APIs, που παρέχονται από ένα προγραµµατιστικό περιβάλλον του Grid. 79

80 Λειτουργικά χαρακτηριστικά (Functional properties): Η παρακάτω εικόνα περιγράφει την συµµετοχή των PSEs στην εκτέλεση εφαρµογών. Εικόνα 12. Σενάριο εκτέλεσης εφαρµογών στο Grid. [23] Πρόσβαση σε υπολογιστικούς πόρους, δηµιουργία και δροµολόγηση εργασιών: Οι χρήστες αποκτούν πρόσβαση στις εργασίες εφαρµογών του Grid, µέσω κάποιου εργαλείου που χρησιµοποιείται για την παράδοση εργασιών όπως είναι το Globurun ή µέσω µίας θύρας, όπως είναι για παράδειγµα η Gridsphere. Στις απλές περιπτώσεις, µία εργασία εκτελείται σε έναν µοναδικό πόρο ή site. Σε πιο προηγµένα σενάρια, όπως για παράδειγµα είναι οι εφαρµογές του Grid, µία εργασία που εκτελείται, θα αναπαράγει επιπλέον εργασίες για τους διαθέσιµους πόρους του Grid. Μία θύρα µπορεί να θεωρηθεί ως µία ειδική εφαρµογή, η οποία θα πρέπει να υποβάλλει εργασίες. Μία υποβολή εργασίας API, χρειάζεται να έχει περιγραφές της εργασίας και των κατάλληλων υπολογιστικών πόρων. Μόνο σε πολύ απλές περιπτώσεις, το περιβάλλον εκτέλεσης λογισµικού περιλαµβάνει πληροφορίες για τα είδη των υποβαλλόµενων εργασιών και για τα διαθέσιµα µηχανήµατα για την εκτέλεση αυτών. Σε κάθε πραγµατικό περιβάλλον Grid, την απόφαση για την σχεδίαση και την δροµολόγηση των εργασιών, αναλαµβάνει να την πάρει µία εξωτερική υπηρεσία διαχείρισης πόρων. Μία τέτοια υπηρεσία µπορεί να λάβει δυναµικές πληροφορίες για την διαθεσιµότητα πόρων καθώς και για την απόδοση. 80

81 Πρόσβαση σε πόρους αρχείων και δεδοµένων: Κάθε πραγµατική εφαρµογή θα πρέπει να επεξεργαστεί κάποια εισερχόµενα δεδοµένα, τα οποία µπορεί να είναι αρχεία, βάσεις δεδοµένων ή και ροές δεδοµένων που παράγονται από συσκευές, όπως είναι για παράδειγµα τα ραδιοτηλεσκόπια. Μία ειδική περίπτωση εισερχόµενων αρχείων, είναι η τοποθέτηση των εκτελέσιµων αρχείων του προγράµµατος στα sites, στα οποία έχει δροµολογηθεί µία εργασία. Παροµοίως, τα παραγόµενα αρχεία εξόδου θα πρέπει να αποθηκεύονται για λογαριασµό των χρηστών. Εφόσον οι schedulers τοποθετούν εργασίες σε κατάλληλα υπολογιστικά µηχανήµατα, η πρόσβαση στα δεδοµένα γίνεται αποµακρυσµένη. Κατά συνέπεια, ένα αρχείο grid API θα πρέπει να προέρχεται από φυσικές τοποθεσίες αρχείων, καθώς και να παρέχει ένα πανοµοιότυπο αρχείο API στα αρχεία. Στη συνέχεια, είναι καθήκον του περιβάλλοντος εκτέλεσης λογισµικού να γεφυρώσει το χάσµα, ανάµεσα στις φαινοµενικά τοπικές λειτουργίες, και στα αρχεία που είναι αποθηκευµένα σε αποµακρυσµένες τοποθεσίες. Επικοινωνία ανάµεσα στις παράλληλες και τις αποµακρυσµένες διεργασίες: Εκτός από την πρόσβαση σε αποµακρυσµένα αρχεία δεδοµένων, οι διεργασίες µίας παράλληλης εφαρµογής θα πρέπει να επικοινωνούν µεταξύ τους, για να εκτελέσουν τα tasks που έχουν αναλάβει. Έχουν µελετηθεί διάφορα προγραµµατιστικά µοντέλα για εφαρµογές του Grid στο παρελθόν, ανάµεσά τους είναι το MPI, τα διαµοιραζόµενα αντικείµενα (shared objects) ή και οι αποµακρυσµένες κλήσεις διαδικασιών (remote procedure calls). Τα APIs του Grid, εκτός από την επικοινωνία µεταξύ των διεργασιών, θα πρέπει να λάβουν υπόψη τους τις ιδιότητες των συστηµάτων Grid, όπως την δυναµική διαθεσιµότητα πόρων, τα ετερογενή µηχανήµατα, και τα διαµοιραζόµενα δίκτυα που µπορεί να παρουσιάζουν µεγάλη καθυστέρηση, καθώς και διακυµάνσεις στο εύρος ζώνης. Η εξισορρόπηση µεταξύ της ανεξάρτητης λειτουργικότητας των επιπέδων της αρχιτεκτονικής και της προγραµµατισµένης απόδοσης του συστήµατος, αποτελεί ένα κρίσιµο πρόβληµα για την σχεδίαση των µηχανισµών επικοινωνίας των εφαρµογών του Grid. Επίβλεψη και καθοδήγηση εφαρµογών: Στην περίπτωση που οι εφαρµογές του Grid αναµένονται να έχουν µεγάλο χρόνο εκτέλεσης, οι χρήστες θα πρέπει να επιβλέπουν την διαδικασία µε σκοπό να αποφύγουν την δαπανηρή επανάληψη της εκτέλεσης αποτυχηµένων εργασιών. Για αυτόν τον λόγο, οι χρήστες πρέπει να ελέγχουν και πιθανώς να τροποποιήσουν την κατάσταση της εφαρµογής τους, ενώ αυτή εκτελείται ακόµα στους κόµβους ενός συστήµατος Grid. Πρέπει λοιπόν να γίνεται επίβλεψη και καθοδήγηση των εφαρµογών από διεπαφές, έτσι ώστε οι χρήστες να αλληλεπιδρούν µε αυτές. Για αυτόν τον λόγο, η επιπλέον επικοινωνία µεταξύ της εφαρµογής και των εξωτερικών εργαλείων, όπως είναι οι θύρες και οι διαχειριστές εφαρµογών, κρίνεται απαραίτητη. Όπως αναφέρεται µέχρι στιγµής, αυτές οι ιδιότητες θεωρούνται άµεσης ανάγκης για τα προγράµµατα εφαρµογών του Grid. Ωστόσο, υπάρχουν και άλλα χαρακτηριστικά που παρουσιάζουν αντίστοιχη σπουδαιότητα όπως είναι η εξερεύνηση για πόρους, η διαχείριση πληροφοριών από πολλά και διαφορετικά πεδία, καθώς και άλλες. Με 81

82 βάση αυτές τις ιδιότητες, θα περιγραφούν κάποια από τα πιο γνωστά και διαδεδοµένα προγραµµατιστικά περιβάλλοντα του Grid. [23] Υπάρχοντα Προγραµµατιστικά Περιβάλλοντα στο Grid The Grid Application Toolkit, GAT Το GAT είναι ένα σύνολο από APIs, που χρησιµοποιούνται για την ανάπτυξη εφαρµογών και µπορεί να παρέχει ενοποιηµένες και απλές προγραµµατιστικές διεπαφές. Ο βασικός στόχος του GAT είναι να διευκολύνει τους προγραµµατιστές, ώστε να µην χρειάζεται να προσαρµόζουν τους κώδικες σε διαφορετικούς πόρους ή εφαρµογές ενδιάµεσων λογισµικών, όταν εκτελούν tasks. Η αρχιτεκτονική του GAT αποτελείται από τέσσερα βασικά επίπεδα: το επίπεδο Εφαρµογών, το επίπεδο GAT, το επίπεδο Υπηρεσιών GAT και το επίπεδο βασικών λειτουργιών του Grid. Η παρακάτω εικόνα παρουσιάζει την αρχιτεκτονική του GAT. Εικόνα 13. Αρχιτεκτονική του Grid Application Toolkit. [22] Επίπεδο Εφαρµογών: Σε αυτό το επίπεδο υπάρχουν οι κώδικες για την ανάπτυξη εφαρµογών. Το επίπεδο Εφαρµογών χρησιµοποιεί τις λειτουργίες που του παρέχει το επίπεδο GAT. 82

83 Επίπεδο GAT: Σε αυτό το επίπεδο είναι τοποθετηµένη η µηχανή GAT και το GAT_API. Το GAT_API παρέχει υπηρεσίες στο επίπεδο Εφαρµογών. Παραδείγµατα αυτών των εφαρµογών είναι η GAT_FileCopy (αντιγραφής αρχείων) και η GAT_ResourceFind (εύρεσης πόρων). Ο προσαρµογέας (adaptor) GAT, δεσµεύει την µηχανή GAT στις υπηρεσίες του Grid που βρίσκονται στο επίπεδο Υπηρεσιών. Επίπεδο Υπηρεσιών GAT: Όλες οι υπηρεσίες του Grid εκτελούνται σε αυτό το επίπεδο. Οι υπηρεσίες θα µπορούσαν να υλοποιηθούν και από το GridLab Application toolkit ή να παρέχονται από τρίτους ή και από εφαρµογές ενδιάµεσου λογισµικού του Grid. Οι υπηρεσίες που παρέχονται από το GridLab, είναι το σύστηµα διαχείρισης πόρων GRMS (The GridLab Resource Management System), η υπηρεσία εξουσιοδότησης του Grid, η υπηρεσία πληροφοριών igrid (The GridLab Information Service) καθώς και άλλες. [22] Επίπεδο Βασικών Υπηρεσιών του Grid: Αυτό το επίπεδο αποτελείται από τους διαθέσιµους πόρους του Grid, όπως είναι για παράδειγµα οι υπηρεσίες του λειτουργικού συστήµατος ή τα συστατικά της υποδοµής, οι υπολογιστικοί πόροι και οι πόροι δεδοµένων. [24] Όπως φαίνεται στην εικόνα 13, το επίπεδο Εφαρµογών και το επίπεδο GAT εκτελούνται στον χώρο του χρήστη (user space), ενώ το επίπεδο Υπηρεσιών και το επίπεδο Βασικών Υπηρεσιών του Grid εκτελούνται στον χώρο υποστήριξης (capability space). Οι υπηρεσίες που είναι τοποθετηµένες στο επίπεδο Υπηρεσιών και στο επίπεδο Βασικών Υπηρεσιών του Grid αντιπροσωπεύουν τις δυνατότητες των διαθέσιµων πόρων. Η µηχανή GAT είναι µία προγραµµατιστική βιβλιοθήκη, η οποία εκθέτει το GAT_API στην εφαρµογή. Η εφαρµογή κάνει µία αίτηση στο GAT_API και η µηχανή GAT ψάχνει µέσω των προσαρµογέων, για την κατάλληλη υποστήριξη του αιτήµατος. Ο προσαρµογέας GAT µεταφράζει τα αιτήµατα που έχουν ληφθεί στην κατάλληλη σύνταξη, για τις αντίστοιχες δυνατότητες υποστήριξης. Το GAT_API είναι µία διεπαφή προγραµµατισµού εφαρµογών API, η οποία διαιρείται περαιτέρω σε υποσυστήµατα όπως είναι το υποσύστηµα Αρχείων, το υποσύστηµα ιαχείρισης Πόρων και το υποσύστηµα Ανταλλαγής Πληροφοριών, καθένα από τα οποία ασχολείται µε διαφορετικές υπηρεσίες του Grid. Εκτός από την ευέλικτη υλοποίηση, το Grid Application Toolkit είναι εύκολο στην χρήση. Η σχεδίασή του βασίζεται στην δοµή του plug and play, δηλαδή τα εργαλεία που έχουν αναπτυχθεί αλλού, µπορούν να συνδεθούν µε το GAT χωρίς να χρειάζονται να γίνουν αλλαγές στο λογισµικό του. Επιπλέον, υποστηρίζει διαφορετικές γλώσσες προγραµµατισµού και τεχνολογίες ενδιάµεσου λογισµικού, ενώ ο πηγαίος κώδικας µπορεί να τρέξει σε µία ποικιλία µηχανηµάτων. Το GAT έχει την δυνατότητα να επιλέγει δυναµικά υπηρεσίες από το επίπεδο Υπηρεσιών, ενώ 83

84 µπορεί επίσης να χρησιµοποιεί πολλές εφαρµογές ενδιάµεσου λογισµικού ταυτόχρονα. GridBus broker Σε ένα υπολογιστικό σύστηµα Grid όπως έχει προαναφερθεί, οι υπολογιστικοί πόροι και οι πόροι δεδοµένων, είναι γεωγραφικά κατανεµηµένοι σε περιοχή ευρείας κλίµακας. Αυτές οι οντότητες των πόρων χαρακτηρίζονται από διάφορους ιδιοκτήτες, διοικητικές πολιτικές, µεθόδους πρόσβασης και χωρητικότητες. Σε ένα τέτοιο παράλληλο, ετερογενές και κατανεµηµένο υπολογιστικό περιβάλλον, αποτελεί σηµαντικό θέµα, ο συντονισµός των αυτόνοµων πόρων, αλλά και η αποδοτική πρόσβαση των χρηστών σε αυτούς. Η τεχνολογία Gridbus broker αναπτύχθηκε στα πλαίσια του Gridbus project, µε σκοπό µα συντονίσει την πρόσβαση, στις οντότητες των πόρων του Grid, καθώς και να παρέχει µία αφηρηµένη διεπαφή (abstract interface) στους χρήστες ή στους προγραµµατιστές εφαρµογών. Έχει σχεδιαστεί µε σκοπό να είναι µία απλή, διαµορφώσιµη, επαναχρησιµοποιούµενη, επεκτάσιµη και ευέλικτη υλοποίηση. Όπως φαίνεται στην εικόνα 14, η αρχιτεκτονική του Gridbus broker αποτελείται από τρία βασικά υποσυστήµατα: το υποσύστηµα διεπαφής εφαρµογών Application Interface, τον βασικό µεσολαβητή Broker Core και το υποσύστηµα Execution, εκτέλεσης εργασιών. Η υπηρεσία Gridbus broker σχεδιάστηκε µε σκοπό να επιτρέψει στους προγραµµατιστές να έχουν εσωτερική πρόσβαση στα πιο διαδεδοµένα broker APIs, καθώς και για να µπορούν να χρησιµοποιούν, αυτόνοµα προγράµµατα γραµµής εντολών. Με αυτόν τον τρόπο, οι προγραµµατιστές µπορούν να συµπεριλάβουν τον broker στα δικά τους προγράµµατα για περαιτέρω ανάπτυξη. Το µοντέλο Gridbus broker υλοποιείται σε Java, έτσι µπορεί να χρησιµοποιηθεί και ως API σε άλλα προγράµµατα, αντιγράφοντας απλά το αρχείο gridbroker.jar στις βιβλιοθήκες της Java. Οι βασικές οντότητες των brokerapis είναι οι εξής: Farming Engine: Λειτουργεί ως το κεντρικό συστατικό στον broker, δηλώνοντας την τρέχουσα κατάστασή του σε οποιαδήποτε χρονική στιγµή. Επίσης η µηχανή Farming Engine είναι υπεύθυνη για την συνένωση των συστατικών του συστήµατος, για την αλληλεπίδραση µε κάποια εξωτερική εφαρµογή και για την έναρξη της χρονοδροµολόγησης. 84

85 Scheduler: Είναι ένα συστατικό το οποίο είναι υπεύθυνο για τον προγραµµατισµό της εκτέλεσης των εργασιών στους κόµβους του συστήµατος Grid. Η χρονοδροµολόγηση των tasks γίνεται βασισµένη σε µετρικές. Το µοντέλο Gridbus broker περιλαµβάνει τρεις ενσωµατωµένους schedulers: τον economy-based scheduler, τον data-aware scheduler, και τον economy και data-aware scheduler. Job: Η εργασία είναι η υποµονάδα µίας εργασίας, η οποία έχει ανατεθεί σε έναν κόµβο του συστήµατος Grid, και αποτελείται από τις µεταβλητές και το task. Μία µεταβλητή διατηρεί την καθορισµένη τιµή παραµέτρου για µία εργασία, ενώ το task διατηρεί την περιγραφή της εργασίας. ComputeServer: Ο υπολογιστικός server διατηρεί τις περιγραφές και τις ιδιότητες ενός κόµβου του Grid και περιλαµβάνει ένα συνδεδεµένο JobMonitor (όργανο ελέγχου εργασιών) και ένα ComputeServerManager. Όλα αυτά τα συστατικά είναι ανεξάρτητα από το ενδιάµεσο λογισµικό. DataHost: Αντιπροσωπεύει τους κόµβους, στους οποίους αποθηκεύονται τα αρχεία δεδοµένων. ιατηρεί πληροφορίες για τα αρχεία αυτά, καθώς και µία λίστα µε τους υπολογιστικούς πόρους οι οποίοι είναι αποθηκευµένοι µε φθίνουσα σειρά, µε βάση το διαθέσιµο εύρος ζώνης του host. DataFile: ιατηρεί πληροφορίες για τα εισερχόµενα αρχεία που χρειάζονται για µία εφαρµογή. Κάθε DataFile συνδέεται µε διαφορετικούς hosts οι οποίοι αποθηκεύουν αυτό το αρχείο. [39] 85

86 Εικόνα 14. Αρχιτεκτονική Gridbus broker. [39] 86

87 Κεφάλαιο 7. Η Οικονοµία στο Grid Μία προσέγγιση στα οικονοµικά θέµατα της τεχνολογίας του Grid computing, εισάγει νέα θέµατα που πρέπει να εξεταστούν, εκτός από αυτά που εξετάστηκαν ήδη από τα υπάρχοντα συστήµατα Grid. Ο όρος Υπολογιστική Οικονοµία χρησιµοποιείται µεταφορικά για να χαρακτηρίσει την αποτελεσµατική διαχείριση των πόρων και την χρονοδροµολόγηση των εφαρµογών. Η Υπολογιστική Οικονοµία προσδιορίζει τις προκλήσεις, αλλά και τις απαιτήσεις της κατανεµηµένης διαχείρισης πόρων σε συστήµατα Grid. Η υποδοµή της οικονοµίας του Grid θα πρέπει να προσφέρει τις ακόλουθες ευκολίες: Έναν κατάλογο Πληροφοριών και Αγοράς για την δηµοσίευση των οντοτήτων του Grid. Μοντέλα για τον καθορισµό των τιµών των πόρων. Σχέδια τιµολόγησης των πόρων και µηχανισµοί δηµοσίευσης πληροφοριών. Οικονοµικά µοντέλα και πρωτόκολλα διαπραγµάτευσης Μεσολαβητές που ενεργούν ως ρυθµιστικοί πράκτορες για τον καθορισµό της αξίας των πόρων και του συναλλάγµατος, καθώς και για την αντιµετώπιση κάποιας επικείµενης κρίσης. Μηχανισµοί για λογαριασµούς, τιµολόγηση και πληρωµές. Συστήµατα µεσολάβησης και χρονοδροµολόγησης προσανατολισµένα στις απαιτήσεις των χρηστών, για ποιότητα υπηρεσιών QoS. [35] Με την εξάπλωση των δικτύων, η αρχιτεκτονική των υπολογιστικών συστηµάτων υψηλής περιοχής έχει κινηθεί από τα κεντρικοποιηµένα µοντέλα στα αποκεντρικοποιηµένα µοντέλα ελέγχου και ενεργειών. Συνεπώς, η χρήση των οικονοµικά υποκινούµενων µηχανισµών αγοράς, αποτελεί µία φυσική εξέλιξη αυτής της ανάπτυξης. Οι δύο βασικοί «παίκτες», του υπολογιστικού Grid που προσανατολίζεται στην αγορά, είναι οι προµηθευτές πόρων που αναφέρονται και ως GSPs (Grid Service Providers) και οι καταναλωτές πόρων που αναφέρονται και ως GRBs (Grid Resource Brokers). Ένας GRB λειτουργεί ως πράκτορας λογισµικού ενός καταναλωτή. Οι δύο αυτοί παίκτες προσπαθούν να ικανοποιήσουν τις προσδοκίες τους και χρησιµοποιούν στρατηγικές ως συµµετέχοντες στο Grid. Οι καταναλωτές των πόρων υιοθετούν στρατηγική, για την επίλυση των προβληµάτων τους σε χαµηλό κόστος, αλλά εντός µίας χρονικής διορίας. Οι προµηθευτές πόρων υιοθετούν επίσης µία στρατηγική για την καλύτερη δυνατή απόσβεση των επενδύσεών τους. Οι ιδιοκτήτες των πόρων προσπαθούν να 87

88 µεγιστοποιήσουν την χρησιµοποίηση των πόρων τους, προσφέροντας µία ανταγωνιστική χρέωση πρόσβασης υπηρεσίας, µε σκοπό να προσελκύσουν τους καταναλωτές. Οι χρήστες (καταναλωτές πόρων), έχουν το δικαίωµα να επιλέξουν τους προµηθευτές που εξυπηρετούν περισσότερο τα συµφέροντά τους. Εάν οι καταναλωτές πόρων έχουν τοπικούς χρήστες, θα προσπαθήσουν να ανακτήσουν την καλύτερη δυνατή απόδοση για τους αδρανείς ή εναποµείναντες πόρους. 7.1 Υπολογιστική Οικονοµία Αξιολόγηση αναγκών Τα συστήµατα Grid θα πρέπει να προσφέρουν εργαλεία και µηχανισµούς για να επιτρέψουν τόσο στους καταναλωτές των πόρων, όσο και στους προµηθευτές να εκφράσουν τις απαιτήσεις τους. Οι καταναλωτές πόρων του Grid, αλληλεπιδρούν µε µεσολαβητές, που ονοµάζονται και super schedulers, για να εκφράσουν τις απαιτήσεις τους, που είναι ο προϋπολογισµός που επιθυµούν να επενδύσουν για την επίλυση ενός προβλήµατος και ένα τέλος διορίας (deadline), δηλαδή ένα χρονικό όριο µέχρι το οποίο πρέπει να λάβουν αποτελέσµατα. Επίσης, πρέπει να έχουν την δυνατότητα να διαπραγµατευτούν για αυτές τους τις απαιτήσεις, ώστε να καθοδηγήσουν τους υπολογισµούς αντίστοιχα. Οι προµηθευτές των πόρων χρειάζονται εργαλεία για να εκφράσουν τις πολιτικές τιµολόγησης, τους καθώς και µηχανισµούς για να τους βοηθήσουν να αυξήσουν τα κέρδη τους αλλά και την χρησιµοποίηση των πόρων τους. Μπορούν να υιοθετηθούν διάφορα οικονοµικά µοντέλα για την επιλογή στρατηγικής τιµολόγησης που κυµαίνονται, από απλές αγορές προϊόντων έως και αγορές µέσω δηµοπρασιών. Η υποδοµή του Grid θα πρέπει να υποστηρίξει αυτά τα µοντέλα για τις εµπορικές συναλλαγές των πόρων. [36] Εικόνα 15. Μία γενική εικόνα της αλληλεπίδρασης µεταξύ των παικτών ενός οικονοµικού Grid. [36] 88

89 Έχουν προταθεί πολυάριθµα οικονοµικά µοντέλα που συµπεριλαµβάνουν µικροοικονοµικές και µακροοικονοµικές αρχές. Τα οφέλη της Οικονοµίας του Grid µπορούν να απαριθµηθούν ως εξής: Βοηθάει στην οικοδόµηση ενός Grid µεγάλης κλίµακας, και προσφέρει κίνητρο στους ιδιοκτήτες των πόρων να συνεισφέρουν τους πόρους τους στους χρήστες για χρήση, και ταυτόχρονα να επωφελούνται από αυτό. Βοηθάει στην εξισορρόπηση της προµήθειας των πόρων µε την ζήτηση αυτών. Προσφέρει ένα οικονοµικό κίνητρο για τους χρήστες να µειώσουν την προτεραιότητά τους, µε αντάλλαγµα την µείωση των δαπανών τους και εποµένως ενθαρρύνουν την πιο άµεση επίλυση κρίσιµων προβληµάτων. Παρέχει µία κοινή βάση για την σύγκριση των συγκρουόµενων αναγκών, επιτρέποντας στους χρήστες να εκφράσουν τις απαιτήσεις και τους στόχους τους υπό οικονοµικούς όρους. Προσφέρει την οµοιόµορφη εκµετάλλευση όλων των πόρων. ηλαδή, επιτρέπει τις εµπορικές συναλλαγές για όλα τα είδη των πόρων συµπεριλαµβανοµένων της υπολογιστικής ισχύος, της µνήµης, της αποθήκευσης, του εύρους ζώνης των δικτύων, των δεδοµένων, των συσκευών και των οργάνων. Βοηθάει στην οικοδόµηση ενός ιδιαιτέρως κλιµακώσιµου συστήµατος, καθώς η διαδικασία λήψης αποφάσεων ανατίθεται στους χρήστες και τους ιδιοκτήτες των πόρων. Υποστηρίζει µία απλή και αποτελεσµατική αρχή για να προσφέρει διαφοροποιηµένες υπηρεσίες στις διαφορετικές εφαρµογές, σε διαφορετικές χρονικές στιγµές. Γενικά, η οικονοµία στο Grid παραχωρεί την δύναµη στα χέρια των ιδιοκτητών και των χρηστών οι οποίοι µπορούν να λάβουν αποφάσεις µε σκοπό να αυξήσουν την χρησιµότητα των πόρων αλλά και τα κέρδη τους. 89

90 7.2 Αρχιτεκτονική Grid για την Υπολογιστική Οικονοµία Έχει αναπτυχθεί µία κατανεµηµένη αρχιτεκτονική για την υπολογιστική οικονοµία στο Grid, η οποία ονοµάζεται και GRACE από τα αρχικά του αγγλικού όρου Grid Architecture for Computational Economy και υποστηρίζει υπολογιστικά grids, grids δεδοµένων και grids, τα οποία είναι προσανατολισµένα στις υπηρεσίες. Αυτή η αρχιτεκτονική είναι αρκετά γενική, ώστε να υποστηρίξει τα διαφορετικά οικονοµικά µοντέλα που χρησιµοποιούνται για τις εµπορικές συναλλαγές των πόρων. Τα βασικά συνθετικά συστατικά της είναι τα ακόλουθα: Οι χρήστες µε τις Εφαρµογές (διαδοχικές, παραµετρικές, παράλληλες και συνεργατικές εφαρµογές) Προγραµµατιστικά περιβάλλοντα Ενδιάµεσο λογισµικό επιπέδου χρήστη και εργαλεία όπως είναι οι GRBs. Core Grid Middleware (υπηρεσίες για εµπορικές συναλλαγές πόρων και σύζευξη γεωγραφικά κατανεµηµένων πόρων) Προµηθευτές Υπηρεσιών (GSPs) Η αρχιτεκτονική GRACE παρέχει υπηρεσίες που βοηθούν τους ιδιοκτήτες των πόρων αλλά και τους χρήστες να αυξήσουν τις λειτουργίες τους. Οι προµηθευτές πόρων µπορούν να συνεισφέρουν τους πόρους τους στο Grid και να χρεώσουν για τις υπηρεσίες τους. Μπορούν να χρησιµοποιήσουν τους µηχανισµούς που παρέχει η αρχιτεκτονική GRACE, για να καθορίσουν τις πολιτικές τους σχετικά µε την κοστολόγηση και την πρόσβαση στους πόρους, αλλά και τις µεθόδους εµπορικών συναλλαγών σύµφωνα µε αυτές τις πολιτικές. Οι χρήστες αλληλεπιδρούν µε το Grid καθορίζοντας τις απαιτήσεις τους µε την βοήθεια εργαλείων υψηλού επιπέδου, όπως είναι οι µεσολαβητές πόρων. Οι µεσολαβητές πόρων εργάζονται προς όφελος των καταναλωτών, και επιχειρούν να αυξήσουν την χρησιµότητά τους. Επίσης, χρησιµοποιούν τις υπηρεσίες της αρχιτεκτονικής GRACE για τις συναλλαγές των πόρων, αλλά και για να επαληθεύσουν ότι οι GSPs θα ικανοποιήσουν τις απαιτήσεις των καταναλωτών. Οι GRBs και οι GSPs µπορούν να ξεκινήσουν τις εµπορικές συναλλαγές των πόρων και να αλληλεπιδράσουν ανάλογα µε τις απαιτήσεις και τους στόχους τους. Οι GRBs µπορούν να εξετάσουν τις προσφορές από τους διάφορους GSPs και να επιλέξουν εκείνες που περιλαµβάνουν τα χαµηλότερα έξοδα υπηρεσιών, ενώ ταυτόχρονα ικανοποιούν τις απαιτήσεις τους, ως προς τον προϋπολογισµό τους και το τέλος διορίας τους. Εναλλακτικά, οι GSPs θέτουν τις προσφορές τους σε δηµοπρασία και προσφέρουν τις υπηρεσίες τους στους υψηλότερους πλειοδότες, εφόσον επιτυγχάνονται οι στόχοι του. 90

91 Οι GSPs και οι GRBs έχουν τις δικές τους συναρτήσεις χρησιµότητας (utility functions), οι οποίες θα πρέπει να ικανοποιούνται αλλά και να αυξάνονται. Οι GRBs κάνουν µία ανάλυση τους κόστους και του κέρδους ανάλογα µε το τέλος διορίας, σύµφωνα µε το οποίο θα πρέπει να λάβουν αποτελέσµατα, και τον διαθέσιµο προϋπολογισµό που επιθυµούν να επενδύσουν για την επίλυση του προβλήµατος. Οι ιδιοκτήτες των πόρων αποφασίζουν την κοστολόγηση τους µε βάση διάφορους παράγοντες. Μπορούν να χρεώσουν διαφορετικές τιµές τους διαφορετικούς χρήστες ή ανάλογα µε τις συγκεκριµένες απαιτήσεις των χρηστών. Οι πόροι µπορεί να έχουν διαφορετικές τιµές µε βάση περιβαλλοντικές επιρροές, όπως η διαθεσιµότητα περισσότερης µνήµης και το καλύτερο εύρος ζώνης επικοινωνίας µε τον έξω κόσµο. Οι µεσολαβητές του Grid µπορεί να έχουν διαφορετικούς στόχους και κάθε µεσολαβητής, προσπαθεί να ικανοποιήσει µε τον καλύτερο δυνατό τρόπο τα συµφέροντα τους, χωρίς να ενδιαφέρεται για το γενικό συµφέρον. Σε ένα κατανεµηµένο συνεργατικό υπολογιστικό περιβάλλον ή σε ένα περιβάλλον επίλυσης προβληµάτων, οι σχεδιαστές του συστήµατος επιβάλλουν ένα πρωτόκολλο αλληλεπίδρασης που περιγράφει τις πιθανές ενέργειες που µπορούν να γίνουν σε διαφορετικά σηµεία, αλλά και µία στρατηγική. Από την άλλη πλευρά, στα συστήµατα Grid, τους µεσολαβητές και στους GSPs παρέχεται ένα πρωτόκολλο αλληλεπίδρασης, αλλά επιλέγουν την δικιά τους ατοµική στρατηγική, η οποία δεν µπορεί να επιβληθεί από εξωτερικούς παράγοντες. Για αυτόν τον λόγο, τα πρωτόκολλα διαπραγµατεύσεων πρέπει να σχεδιάζονται µε βάση µία µη συνεργατική στρατηγική προοπτική. [37] Εικόνα 16. Μία γενική αρχιτεκτονική Grid για την Υπολογιστική Οικονοµία. [37] 91

92 7.3 Οικονοµικά Μοντέλα Έχουν προταθεί διάφορα οικονοµικά µοντέλα για τις εµπορικές συναλλαγές των πόρων και για τον καθορισµό στρατηγικών κοστολόγησης των πόρων. Αυτά τα µοντέλα περιλαµβάνουν τα παρακάτω: Μοντέλο Αγοράς Προϊόντων Commodity Market Model Μοντέλο ηµοσιευµένης Τιµής Posted Price Model Μοντέλο ιαπραγµατεύσεων Bargaining Model Μοντέλο Υποβολής Χρηµατικών Προσφορών - Tendering / Contract-Net Model Μοντέλο ηµοπρασίας Auction Model Αναλογικό Μοντέλο ιαµοιρασµού Πόρων βάση Προσφορών Bid-based Proportional Resource Sharing Model Μοντέλο Κοινοτικό / Συνδυαστικό / Ανταλλαγής Εµπορευµάτων Community / Coalition / Bartering Model Μοντέλο Μονοπωλίου / Ολιγοπωλίου Μοντέλο Αγοράς Προϊόντων Στο µοντέλο αγοράς προϊόντων, οι ιδιοκτήτες των πόρων καθορίζουν τις τιµές των υπηρεσιών τους και χρεώνουν τους χρήστες σύµφωνα µε την ποσότητα των πόρων που καταναλώνουν. Η πολιτική κοστολόγησης µπορεί να προσαρµόζεται µε βάση διάφορες παραµέτρους, και µπορεί να είναι σταθερή ή µεταβλητή, εξαρτάται από την προσφορά και την ζήτηση των πόρων. Γενικά, οι υπηρεσίες χρεώνονται µε τέτοιον τρόπο, ώστε να υπάρχει µία ισορροπία στην προσφορά και την ζήτηση. Στο µοντέλο σταθερής τιµής, µόλις καθοριστεί µία τιµή για µία συγκεκριµένη περίοδο παραµένει η αµετάβλητη, άσχετα µε την ποιότητα της υπηρεσίας. εν επηρεάζεται σηµαντικά από την ζήτηση, ενώ σε ένα µοντέλο προσφοράς ζήτησης, οι τιµές αλλάζουν πολύ συχνά και βασίζονται στις αλλαγές της προσφοράς και της ζήτησης. Σε γενικές γραµµές, όταν η ζήτηση αυξάνεται ή η προσφορά µειώνεται, τότε οι τιµές αυξάνονται, εωσότου υπάρχει ισορροπία µεταξύ της προσφοράς και της ζήτησης. 92

93 Οι µέθοδοι κοστολόγησης σε ένα µοντέλο Αγοράς Προϊόντων βασίζονται στους παρακάτω παράγοντες: µπορούν να Σταθερή αµοιβή (Flat fee) ιάρκεια χρήσης Συνδροµή Προσφορά και Ζήτηση Όπως στον πραγµατικό κόσµο, οι GSPs µπορούν να δηµοσιεύσουν τις τιµές των πόρων τους µέσω του Χρυσού Οδηγού, σε έναν κατάλογο Αγοράς του Grid GMD (Grid Market Directory), όπως φαίνεται στην εικόνα 17. Οι ιδιοκτήτες των πόρων ορίζουν παραµέτρους, τις οποίες µπορεί να χρησιµοποιήσει ο κατάλογος GMD όταν προµηθεύει τις τιµές των υπηρεσιών. Εικόνα 17. Αλληλεπίδραση µεταξύ των GSPs και των χρηστών στο µοντέλο Αγοράς Προϊόντων του Grid για τις εµπορικές συναλλαγές των πόρων [38] 93

94 Οι καταναλωτές µπορεί να χρεωθούν για να έχουν πρόσβαση σε διάφορους πόρους, συµπεριλαµβανοµένων των CPU cycles, πόρων αποθήκευσης, λογισµικού και δικτύου. Για την εκτέλεση των εφαρµογών, ο µεσολαβητής πόρων, πρέπει να ακολουθήσει τα παρακάτω βήµατα: Ο µεσολαβητής προσδιορίζει τους προµηθευτές πόρων. Προσδιορίζει τους κατάλληλους πόρους και εξασφαλίζει την τιµή τους (GMD και GTS, Grid Trading Server) Επιλέγει τους πόρους που επιτυγχάνουν τους στόχους, δηλαδή τις χαµηλότερες τιµές και τις απαιτήσεις της προθεσµίας, και χρησιµοποιεί εµπειρικές τεχνικές για την επιλογή των πόρων και την καθοδήγηση των εργασιών στους πόρους. Χρησιµοποιεί τους πόρους και πληρώνει το αντίτιµο όπως έχει συµφωνηθεί. Μοντέλο ηµοσιευµένης Τιµής Το µοντέλο ηµοσιευµένης Τιµής είναι παρόµοιο µε το µοντέλο Αγοράς Προϊόντων, εκτός από το γεγονός ότι κάποιος GSP διαφηµίζει ειδικές προσφορές, µε σκοπό να προσελκύσει περισσότερους καταναλωτές ή και για να παρακινήσει τους χρήστες να εξετάσουν φθηνότερες λύσεις. Σε αυτή την περίπτωση, οι µεσολαβητές δεν χρειάζεται να διαπραγµατευτούν µε τους GSPs για την τιµή υπηρεσιών, αλλά χρησιµοποιούνε τις δηµοσιευµένες τιµές, οι οποίες είναι χαµηλότερες από τις κανονικές. Οι προσφορές των δηµοσιευµένων τιµών είναι πιθανό να έχουν περιορισµούς για την χρήση των πόρων, αλλά παρόλα αυτά µπορούν να προσελκύσουν κάποιους χρήστες. Οι ενέργειες που σχετίζονται συγκεκριµένα µε το µοντέλο ηµοσιευµένων Τιµών, εκτός από αυτές του µοντέλου Αγοράς Προϊόντων είναι οι ακόλουθες: Οι Πόροι / Προµηθευτές Υπηρεσιών GSPs, δηµοσιεύουν τις προσφορές των υπηρεσιών τους στον κατάλογο αγοράς GMD. Ο µεσολαβητής µελετάει τον κατάλογο για να προσδιορίσει εάν κάποια από αυτές τις δηµοσιευµένες υπηρεσίες ικανοποιεί τις απαιτήσεις του. Ο µεσολαβητές εξετάζει τον κατάλογο για την διαθεσιµότητα των δηµοσιευµένων υπηρεσιών. Τα υπόλοιπα βήµατα ταυτίζονται µε αυτά του µοντέλου Αγοράς Προϊόντων. 94

95 Εικόνα 18. Μοντέλο ηµοσιευµένης Τιµής και εµπορικές συναλλαγές πόρων σε ένα περιβάλλον υπολογιστικής οικονοµίας. [38] Μοντέλο ιαπραγµατεύσεων Στα προηγούµενα µοντέλα, οι µεσολαβητές πληρώνουν έξοδα πρόσβασης τα οποία καθορίζονται από τους GSPs. Στο µοντέλο ιαπραγµατεύσεων, οι µεσολαβητές διαπραγµατεύονται µε τους GSPs για µείωση της χρέωσης για την πρόσβαση στις υπηρεσίες, καθώς και για την αύξηση της διάρκειας χρησιµοποίησης των πόρων. Οι µεσολαβητές µπορεί να ξεκινήσουν µε µία πολύ χαµηλή τιµή, ενώ οι GSPs µε µία υψηλότερη. Οι διαπραγµατεύσεις διαρκούν εωσότου φτάσουν σε µία κοινά αποδεκτή τιµή, ή µέχρι το σηµείο όπου κανένας τους δεν θέλει να συνεχίσει. Οι διαπραγµατεύσεις γίνονται σύµφωνα µε τις απαιτήσεις του χρήστη, οι µεσολαβητές µπορούν να διατρέξουν τον κίνδυνο να διαπραγµατευτούν για τις χαµηλότερες δυνατές τιµές απορρίπτοντας τα ακριβά µηχανήµατα. Αυτό, µπορεί να οδηγήσει στην λιγότερη χρησιµοποίηση των πόρων, σε αυτή την περίπτωση, οι GSPs µπορεί να χρειαστεί να µειώσουν τις τιµές για να αποφύγουν την σπατάλη των κύκλων των πόρων. Οι µεσολαβητές και οι GSPs, γενικά χρησιµοποιούν αυτό το µοντέλο, όταν η προσφορά και η ζήτηση στην αγορά και οι τιµές των υπηρεσιών δεν έχουν καθοριστεί σαφώς. Οι χρήστες µπορούν να διαπραγµατευτούν για µία χαµηλότερη τιµή υποσχόµενοι κάποιου είδους εύνοια ή την µελλοντική χρησιµοποίηση των υπηρεσιών των GSPs. 95

96 Εικόνα 19. Οι µεσολαβητές διαπραγµατεύονται την προσφορά για χαµηλότερη τιµή πρόσβασης για την µείωση του υπολογιστικού κόστους. [38] Μοντέλο Υποβολής Χρηµατικών Προσφορών Αυτό το µοντέλο είναι ένα από τα πιο ευρέως χρησιµοποιούµενα µοντέλα, για την διαπραγµάτευση υπηρεσιών σε ένα κατανεµηµένο περιβάλλον επίλυσης προβληµάτων. Έχει διαµορφωθεί σύµφωνα µε τον συµβαλλόµενο µηχανισµό που χρησιµοποιείται από τις επιχειρήσεις, για την διαχείριση της ανταλλαγής των αγαθών µε τις υπηρεσίες. Επίσης, βοηθάει στην εύρεση ενός κατάλληλου προµηθευτή για να εργαστεί σε ένα δοσµένο task. Η εικόνα 20, περιγράφει την αλληλεπίδραση µεταξύ των µεσολαβητών και των GSPs, σχετικά µε την υποβολή προσφοράς µε σκοπό να επιτύχουν τους στόχους τους. Ένας µεσολαβητής πόρου ή χρήστη που υποβάλλει ένα task το οποίο πρέπει να εξυπηρετηθεί, ονοµάζεται διαχειριστής (manager), και ο πόρος που θα µπορούσε να εξυπηρετήσει το task ονοµάζεται πιθανός ανάδοχος (potential contractor). 96

97 Από την προοπτική του διαχειριστή, η διαδικασία είναι: Ο καταναλωτής (µεσολαβητής) ανακοινώνει τις απαιτήσεις του, χρησιµοποιώντας το πρότυπο διαπραγµατεύσεων, και προσκαλεί προσφορές από τους GSPs. Οι ενδιαφερόµενοι GSPs εξετάζουν την ανακοίνωση και απαντούν υποβάλλοντας τις προσφορές τους. Ο µεσολαβητής αξιολογεί τις προσφορές και αναθέτει την σύµβαση στον καταλληλότερο GSP. Ο µεσολαβητής και ο GSP επικοινωνούν ιδιαιτέρως, και στην συνέχεια ο χρήστης χρησιµοποιεί τον πόρο (R). Το περιεχόµενο του προτύπου διαπραγµάτευσης για την ανακοίνωση εργασίας περιλαµβάνει τον παραλήπτη (χρήστη), τις προδιαγραφές των απαιτήσεων, κάποιες διευκρινιστικές πληροφορίες, abstraction υπηρεσιών και tasks, µία προαιρετική τιµή που επιθυµεί ο χρήστης να επενδύσει, τις προδιαγραφές προσφορών και τον χρόνο λήξης της υποβολής προσφορών. Από την προοπτική του πιθανού ανάδοχου / GSP, η διαδικασία είναι: Λαµβάνει τις ανακοινώσεις ή δηµοσιεύσεις των χρηµατικών προσφορών. Εξετάζει την ικανότητα υποστήριξης της υπηρεσίας. Απαντάει µε µία προσφορά. Παραδίδει την υπηρεσία στην περίπτωση που η προσφορά γίνει αποδεκτή. Αναφέρει τα αποτελέσµατα και χρεώνει τον µεσολαβητή / χρήστη σύµφωνα µε την χρησιµοποίηση της υπηρεσίας και την συµφωνηθείσα προσφορά. Το πλεονέκτηµα αυτού του µοντέλου είναι ότι αν ο GSP δεν καταφέρει να παρέχει ικανοποιητική υπηρεσία ή να παραδώσει µία λύση στο πρόβληµα του χρήστη, τότε ο µεσολαβητής πόρων του Grid µπορεί να αναζητήσει άλλους GSPs. Αυτό το πρωτόκολλο όµως έχει και κάποια µειονεκτήµατα. Ένα task µπορεί να απονεµηθεί σε έναν λιγότερο ικανό GSP στην περίπτωση που ο ικανότερος GSP είναι απασχοληµένος. Ένας άλλος περιορισµός προκύπτει από το γεγονός ότι ο διαχειριστής GRB δεν είναι υποχρεωµένος να ενηµερώσει τους πιθανούς αναδόχους ότι έχει γίνει µία απονοµή χρηµατικής προσφοράς. 97

98 Μερικές φορές ένας διαχειριστής µπορεί να µην λάβει προσφορές για διάφορους λόγους όπως: 1. Όλοι οι πιθανοί GSPs είναι απασχοληµένοι για την εξυπηρέτηση άλλων tasks. 2. Ένας πιθανός GSP είναι αδρανής αλλά θέτει την προτεινόµενη προσφορά / task υπό εξέταση µετά από άλλα tasks. 3. εν υπάρχουν GSPs, ακόµα και αδρανείς, οι οποίοι µπορούν να προσφέρουν υπηρεσία Για να αντιµετωπίσει τέτοιες περιπτώσεις, ο GRB µπορεί να ζητήσει γρήγορες απαντήσεις προσφορών στις οποίες οι GSPs απαντούν µε µηνύµατα όπως: επιλέξιµος, απασχοληµένος, µη επιλέξιµος ή µη ενδιαφερόµενος. Με αυτόν τον τρόπο ο GRB µπορεί να κάνει αλλαγές στο σχέδιο εργασίας του. Για παράδειγµα, ο χρήστης µπορεί να αλλάξει τέλος διορίας ή προϋπολογισµό για να περιµένει νέους GSPs ή να παροτρύνει τους υπάρχοντες GSPs να υποβάλλουν προσφορές. Το µοντέλο Χρηµατικής Προσφοράς επιτρέπει την έκδοση άµεσων συµβάσεων χωρίς να χρειάζεται να προηγηθούν διαπραγµατεύσεις. Ο επιλεγόµενος GSP απαντάει µε µία αποδοχή ή άρνηση της απονοµής της χρηµατικής προσφοράς. Αυτή η δυνατότητα µπορεί να απλοποιήσει το πρωτόκολλο και να βελτιώσει την απόδοση κάποιων υπηρεσιών. Εικόνα 20. Μοντέλο Χρηµατικής Προσφοράς για τις εµπορικές συναλλαγές πόρων. [38] 98

99 Μοντέλο ηµοπρασίας Το µοντέλο ηµοπρασίας υποστηρίζει διαπραγµατεύσεις ενός προς πολλούς, µεταξύ ενός προµηθευτή υπηρεσιών (πωλητή) και πολλών καταναλωτών (αγοραστές) και µειώνει τις διαπραγµατεύσεις σε µία µοναδική τιµή. Ο πωλητής (πλειστηριαστής) ορίζει τους κανόνες µίας δηµοπρασίας, οι οποίοι είναι αποδεκτοί από τους καταναλωτές και τους προµηθευτές. Οι δηµοπρασίες στην ουσία χρησιµοποιούν αγοραστικές δυνάµεις µε σκοπό να διαπραγµατευτούν µία τιµή εκκαθάρισης για την υπηρεσία. Στον πραγµατικό κόσµο, οι δηµοπρασίες χρησιµοποιούνται εκτενώς, ιδιαίτερα για την πώληση προϊόντων µέσα σε µία καθορισµένη χρονική διάρκεια. Οι τρεις βασικοί παίκτες που συµµετέχουν στις δηµοπρασίες είναι οι ιδιοκτήτες των πόρων, οι πωλητές (µεσολαβητές) και οι αγοραστές, όπως φαίνονται στην εικόνα 20. Οι ρόλοι των αγοραστών και των πωλητών µπορεί να είναι αυτοµατοποιηµένοι. Σε ένα περιβάλλον Grid, οι προµηθευτές µπορούν να χρησιµοποιήσουν ένα πρωτόκολλο δηµοπρασίας για τον καθορισµό της αξίας / τιµής των υπηρεσιών τους. Εικόνα 21. Μοντέλο ηµοπρασίας [38] 99

100 Τα βήµατα που περιλαµβάνονται σε µία διαδικασία δηµοπρασίας είναι τα ακόλουθα: Οι GSPs ανακοινώνουν τις υπηρεσίες τους και καλούν τις προσφορές. Οι µεσολαβητές υποβάλλουν τις προσφορές τους. Μπορούν να έχουν την δυνατότητα να δουν τις προσφορές άλλων καταναλωτών, ανάλογα αν είναι ανοιχτές ή κλειστές. Το δεύτερο βήµα συνεχίζεται εωσότου κανένας δεν επιθυµεί να κάνει µεγαλύτερη προσφορά ή εάν ο πωλητής διακόψει την διαδικασία, εφόσον οι προσφορές είναι χαµηλότερες από το ελάχιστο αποδεκτό όριο, ή εάν δεν ικανοποιηθούν κάποιες ειδικές απαιτήσεις του ιδιοκτήτη. Ο GSP παραχωρεί την υπηρεσία στην επικρατέστερη προσφορά. Ο καταναλωτής χρησιµοποιεί την υπηρεσία. Οι δηµοπρασίες µπορούν να χαρακτηρισθούν ως ανοιχτές ή κλειστές ανάλογα µε το αν επιτρέπουν διαδοχικές και ανταγωνιστικές προσφορές. Ο καταναλωτής µπορεί να θέσει µία νέα προσφορά και ο προµηθευτής µπορεί να θέσει µία νέα προσφερόµενη τιµή πώλησης. Με βάση αυτές τις παραµέτρους, οι δηµοπρασίες µπορούν να ταξινοµηθούν σε τέσσερις κατηγορίες: Αγγλική δηµοπρασία ηµοπρασία πρώτης τιµής σφραγισµένης προσφοράς. ηµοπρασία Vickrey (δεύτερης τιµής σφραγισµένης προσφοράς) Ολλανδικής δηµοπρασία Στην Αγγλική δηµοπρασία, οι προσφερόµενοι είναι ελεύθεροι να αυξήσουν τις προσφορές τους ξεπερνώντας τις υπόλοιπες. Όταν κανένας πλειοδότης (bidder) δεν επιθυµεί να αυξήσει παραπάνω την τιµή, τότε η δηµοπρασία τερµατίζεται και αυτός που έκανε την υψηλότερη προσφορά κερδίζει το προϊόν. Σε αυτό το µοντέλο, βασικό θέµα αποτελεί ο τρόπος απόφασης της προτεινόµενης προσφοράς που θα κάνει ο GRB. Ένας GRB έχει µία ιδιωτική τιµή, που έχει ορίσει ο χρήστης, και µπορεί να ακολουθήσει µία στρατηγική για µία σειρά προσφορών. Αυτή η στρατηγική, βασίζεται στην λειτουργία της ιδιωτικής του τιµής ή στην αποτίµηση που έχει κάνει για τις εκτιµήσεις αξίας του αντικειµένου από τους άλλους πλειοδότες, ή και στις άλλες προσφορές που έχουν προηγηθεί. Ο GRB καθορίζει την ιδιωτική τιµή σύµφωνα µε τις απαιτήσεις που έχει ορίσει ο χρήστης. Στην περίπτωση χρήσης της ιδιωτικής τιµής στην Αγγλική δηµοπρασία, η βασική στρατηγική που ακολουθεί ο GRB είναι να προσφέρει ένα µικρό ποσό που όµως είναι υψηλότερο από την τιµή εκκίνησης και να σταµατήσει όταν η αξία φτάσει το όριο της ιδιωτικής του τιµής. 100

101 Στις δηµοπρασίες που συσχετίζονται µε την τιµή, οι πολιτικές είναι διαφορετικές και ο πωλητής µπορεί να αυξήσει την τιµή του προϊόντος µε ένα σταθερό ποσοστό ή µε ένα ποσοστό που επιθυµεί. Όσοι δεν ενδιαφέρονται να κάνουν άλλες προσφορές µπορούν να αποχωρήσουν ελεύθερα, αλλά δεν έχουν το δικαίωµα να επανέλθουν στην δηµοπρασία. Στην δηµοπρασία πρώτης τιµής σφραγισµένης προσφοράς, κάθε πλειοδότης έχει δικαίωµα µίας προσφοράς χωρίς να γνωρίζει τις άλλες προσφορές. Ο πλειοδότης µε την µεγαλύτερη προσφορά κερδίζει το προϊόν στην τιµή της προσφοράς του. Σε αυτή την περίπτωση, η στρατηγική του πλειοδότη µεσολαβητή είναι η λειτουργία της ιδιωτικής του τιµής, αλλά και η αποτίµηση της αξιολόγησης των άλλων πλειοδοτών. Η καλύτερη στρατηγική είναι να προσφέρει λιγότερα χρήµατα, από αυτά που εκτίµησε µε βάση τους άλλους πλειοδότες και υπάρχει περίπτωση να κερδίσει την προσφορά, αλλά όλα εξαρτώνται από τις υπόλοιπες προσφορές. Στην δηµοπρασία Vickrey, κάθε πλειοδότης υποβάλλει µία προσφορά χωρίς να γνωρίζει τις προσφορές των υπόλοιπων όπως και στην προηγούµενη περίπτωση. Ο πλειοδότης µε την υψηλότερη προσφορά κερδίζει το προϊόν, αλλά στην τιµή της προσφοράς του δεύτερου υψηλότερου πλειοδότη. Στην Ολλανδική δηµοπρασία, ο πωλητής ξεκινάει µε µία υψηλή τιµή εκκίνησης ως προτεινόµενη προσφορά και συνεχίζει µειώνοντας την τιµή εωσότου κάποιος πλειοδότης αποδεχτεί µία τιµή για να αγοράσει το προϊόν. Αυτό το µοντέλο δηµοπρασίας είναι παρόµοιο µε εκείνο της πρώτης τιµής σφραγισµένης προσφοράς, καθώς και στις δύο περιπτώσεις η προσφορά του πλειοδότη κερδίζει εφόσον είναι η υψηλότερη. Επίσης στα δύο αυτά µοντέλα, δεν αποκαλύπτονται άλλες σχετικές πληροφορίες κατά την διάρκεια της δηµοπρασίας. Αναλογικό Μοντέλο ιαµοιρασµού Πόρων βάσει Προσφορών Τα συστήµατα κοινής εκµετάλλευσης πόρων που βασίζονται στην οικονοµία είναι αρκετά δηµοφιλή στα περιβάλλοντα επίλυσης προβληµάτων. Σε αυτό το µοντέλο, το ποσοστό του µεριδίου των πόρων που διατίθεται στην εφαρµογή του χρήστη, είναι ανάλογο προς την αξία της προσφοράς, σε σύγκριση µε τις προσφορές άλλων χρηστών. Στους χρήστες διατίθενται πιστώσεις ή «µάρκες» (tokens), τα οποία µπορούν να χρησιµοποιήσουν για να έχουν πρόσβαση σε πόρους. Η αξία της κάθε πίστωσης εξαρτάται από την ζήτηση του πόρου αλλά και από την τιµή που επενδύουν οι άλλοι χρήστες στον πόρο κατά την διάρκεια χρησιµοποίησης του. 101

102 Για παράδειγµα, υπάρχουν δύο χρήστες µε παρόµοιες απαιτήσεις, που επιθυµούν να κερδίσουν πρόσβαση σε έναν πόρο, αλλά ο χρήστης σκοπεύει να προσφέρει δύο µάρκες και ο δεύτερος τέσσερις. Σε αυτήν την περίπτωση, ο πρώτος χρήστης θα πάρει το 1/3 του µεριδίου του πόρου ενώ ο δεύτερος χρήστης θα πάρει τα 2/3 από το µερίδιο του πόρου, το οποίο αντιπροσωπεύει την προσφορά που οι δύο χρήστες καταθέτουν στον πόρο, για την εκτέλεση των εφαρµογών τους. Αυτή η µέθοδος µπορεί να φανεί χρήσιµη για την διαχείριση ενός µεγάλου πόρου που διαµοιράζεται στα µέλη ενός οργανισµού, ή ενός πόρου που βρίσκεται υπό την κατοχή πολλών ατόµων, ο οποίος µπορεί να έχει µηχανισµό πιστωτικής κατανοµής που εξαρτάται από τις επενδύσεις. Οι χρήστες µπορούν να καθορίσουν το ποσό της πίστωσης που επιθυµούν να προσφέρουν για την εκτέλεση των εφαρµογών τους στον πόρο. Εικόνα 22. Αναλογικός διαµοιρασµός πόρων που βασίζεται στην αγορά [38] 102

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Εργαστήριο Δικτύων Υπολογιστών. Εισαγωγή στις τεχνολογίες υπολογιστικού πλέγματος (Grid Computing)

Εργαστήριο Δικτύων Υπολογιστών. Εισαγωγή στις τεχνολογίες υπολογιστικού πλέγματος (Grid Computing) Εργαστήριο Δικτύων Υπολογιστών Εισαγωγή στις τεχνολογίες υπολογιστικού πλέγματος (Grid Computing) Τι είναι το Grid? (1) To World Wide Web παρέχει πρόσβαση σε πληροφορίες αποθηκευμένες σε εκατομμύρια διαφορετικές

Διαβάστε περισσότερα

Είδη Groupware. Λογισμικό Συνεργασίας Ομάδων (Groupware) Λογισμικό Groupware. Υπάρχουν διάφορα είδη groupware ανάλογα με το αν οι χρήστες εργάζονται:

Είδη Groupware. Λογισμικό Συνεργασίας Ομάδων (Groupware) Λογισμικό Groupware. Υπάρχουν διάφορα είδη groupware ανάλογα με το αν οι χρήστες εργάζονται: Μάθημα 10 Συστήματα Διάχυσης και Διαχείρισης Γνώσης Chapter 10 Knowledge Transfer In The E-world Chapter 13 Knowledge Management Tools and Knowledge Portals Συστήματα Διάχυσης και Διαχείρισης Γνώσης Λογισμικό

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

Η τεχνολογία Grid και η δηµιουργία του παγκόσµιου υπερυπολογιστικού πλέγµατος. Χρήστος Μάρκου Ινστιτούτο Πυρηνικής Φυσικής

Η τεχνολογία Grid και η δηµιουργία του παγκόσµιου υπερυπολογιστικού πλέγµατος. Χρήστος Μάρκου Ινστιτούτο Πυρηνικής Φυσικής Η τεχνολογία Grid και η δηµιουργία του παγκόσµιου υπερυπολογιστικού πλέγµατος Χρήστος Μάρκου Ινστιτούτο Πυρηνικής Φυσικής Internet: Ο πρόδροµος Internet: Ηεπανάστασητηςδεκαετίαςτου 90. Για πρώτη φορά στην

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Θέματα

Διαβάστε περισσότερα

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

Διαβάστε περισσότερα

Συστηµατική παρακολούθηση και καταγραφή όλων των φάσεων παραγωγής σε πραγµατικό χρόνο Το Σύστηµα Ιχνηλασιµότητας ICHNOS της εταιρείας Data & Control Systems είναι ένα ολοκληρωµένο σύστηµα το οποίο καλύπτει

Διαβάστε περισσότερα

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

Διαβάστε περισσότερα

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

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

Διαβάστε περισσότερα

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet. PROXY SERVER Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet. Αποτελεσματικό εργαλείο για την απόκρυψη των εσωτερικών λεπτομερειών και διευθύνσεων IP του δικτύου. Αυξάνει τη συνολική

Διαβάστε περισσότερα

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

Διαβάστε περισσότερα

* Enterprise Resource Planning ** Customer Relationship Management

* Enterprise Resource Planning ** Customer Relationship Management Υπηρεσιοστρεφείς Επιχειρησιακές ιαδικασίες ιαµοιρασµός και Επαναχρησιµοποίηση Αποτελούν βασικές απαιτήσειςκατά το σχεδιασµό και την ολοκλήρωση (integration) επιχειρησιακών διαδικασιών ιαµοιρασµός: πολλοί

Διαβάστε περισσότερα

Η χρήση του MOODLE από την οπτική γωνία του ιαχειριστή

Η χρήση του MOODLE από την οπτική γωνία του ιαχειριστή Ανοικτή και Εξ Αποστάσεως Εκπαίδευση Χρησιµοποιώντας το Εκπαιδευτικό Περιβάλλον του MOODLE. Open and Distance Learning Using MOODLE Learning Environment Αθανάσιος Ι. Μάργαρης, Ευθύµιος. Κότσιαλος Πανεπιστήµιο

Διαβάστε περισσότερα

Λύσεις διαχείρισης υπολογιστών-πελατών και λύσεις εκτύπωσης Universal Printing Solutions

Λύσεις διαχείρισης υπολογιστών-πελατών και λύσεις εκτύπωσης Universal Printing Solutions Λύσεις διαχείρισης υπολογιστών-πελατών και λύσεις εκτύπωσης Universal Printing Solutions Οδηγός χρήσης Copyright 2007 Hewlett-Packard Development Company, L.P. Η ονοµασία Windows είναι εµπορικό σήµα κατατεθέν

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά Για την STUDIO KOSTA BODA ILLUM Χανίων Πέµπτη, 9 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου

Διαβάστε περισσότερα

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου. ΚΕΦΑΛΑΙΟ 13 Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου. Οι υπηρεσίες νέφους παρέχονται με τέτοιο τρόπο ώστε ο τελικός χρήστης δεν μπορεί να διακρίνει τεχνικές λεπτομέρειες. Η χρηστικότητα, η διαθεσιμότητα

Διαβάστε περισσότερα

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή» Σκοπός Μαθήματος Λειτουργικά Συστήματα Η/Υ Θεωρία: Βασικές έννοιες των λειτουργικών συστημάτων Βασικές αρχές σχεδιασμού τους Κεφάλαιο 1 «Εισαγωγή» Εργαστήριο: Πρακτική εξάσκηση στη χρήση των λειτουργικών

Διαβάστε περισσότερα

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

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

Διαβάστε περισσότερα

Σχεδίαση και Ανάπτυξη Ιστότοπων

Σχεδίαση και Ανάπτυξη Ιστότοπων Σχεδίαση και Ανάπτυξη Ιστότοπων Ιστορική Εξέλιξη του Παγκόσμιου Ιστού Παρουσίαση 1 η 1 Βελώνης Γεώργιος Καθηγητής Περιεχόμενα Τι είναι το Διαδίκτυο Βασικές Υπηρεσίες Διαδικτύου Προηγμένες Υπηρεσίες Διαδικτύου

Διαβάστε περισσότερα

Οµοσπονδία HEAL-Link. Παράρτηµα - 4. Εικονικός Οργανισµός Προέλευσης (VHO) Περιγραφή της υπηρεσίας. Πολιτική Εγγραφής

Οµοσπονδία HEAL-Link. Παράρτηµα - 4. Εικονικός Οργανισµός Προέλευσης (VHO) Περιγραφή της υπηρεσίας. Πολιτική Εγγραφής Οµοσπονδία HEAL-Link Ανώτατα Εκπαιδευτικά & Ερευνητικά Ιδρύµατα Παράρτηµα - 4 Εικονικός Οργανισµός Προέλευσης (VHO) Περιγραφή της υπηρεσίας Πολιτική Εγγραφής 1 ΕΙΣΑΓΩΓΗ Συνηθίζεται να υπάρχουν αρκετοί

Διαβάστε περισσότερα

Σχεδιαστικά Προγράμματα Επίπλου

Σχεδιαστικά Προγράμματα Επίπλου Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

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

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Στόχος Θεματικής Ενότητας Οι μαθητές να περιγράφουν τους βασικούς τομείς της Επιστήμης των Υπολογιστών και να μπορούν

Διαβάστε περισσότερα

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΣΟΜΟΙΩΣΗ ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗΣ ΔΙΕΡΓΑΣΙΩΝ ΣΤΟ GRID ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ της ΓΚΟΥΤΙΟΥΔΗ ΚΥΡΙΑΚΗΣ Προπτυχιακή Φοιτήτρια Τμήματος

Διαβάστε περισσότερα

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

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Στόχοι

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Στόχοι ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ Στόχοι Τι είναι ένα πληροφοριακό σύστηµα; Ποιος είναι ο ρόλος των πληροφοριακών συστηµάτων στο σύγχρονο επιχειρηµατικό περιβάλλον; Οι βασικές προκλήσεις στην διοίκηση Π.Σ.

Διαβάστε περισσότερα

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

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

Λύσεις διαχείρισης υπολογιστών-πελατών και φορητής εκτύπωσης

Λύσεις διαχείρισης υπολογιστών-πελατών και φορητής εκτύπωσης Λύσεις διαχείρισης υπολογιστών-πελατών και φορητής εκτύπωσης Οδηγός χρήσης Copyright 2007 Hewlett-Packard Development Company, L.P. Η επωνυµία Windows είναι εµπορικό σήµα κατατεθέν της εταιρείας Microsoft

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Διαδίκτυο των Αντικειμένων - IoT.

Διαδίκτυο των Αντικειμένων - IoT. Διαδίκτυο των Αντικειμένων - IoT sdima@ece.upatras.gr ΑΠΟΚΤΗΣΗ ΑΚΑΔΗΜΑΪΚΗΣ ΔΙΔΑΚΤΙΚΗΣ ΕΜΠΕΙΡΙΑΣ ΣΕ ΝΕΟΥΣ ΕΠΙΣΤΗΜΟΝΕΣ ΚΑΤΟΧΟΥΣ ΔΙΔΑΚΤΟΡΙΚΟΥ ΣΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ (ΦΚ/MIS) Ε.655/ 5001184. sdima@ece.upatras.gr

Διαβάστε περισσότερα

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012 ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ Τρίτη, 7 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου Κων/νος Ποτιέ 21/ Χανιά, ΤΚ 73100 AΦΜ: 065439343 Τηλ./Fax:

Διαβάστε περισσότερα

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

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ > ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΡΙΣΜΟΣ: Το Cloud Computing είναι η ονοµασία της τεχνολογίας η οποία επιτρέπει στους χρήστες να

Διαβάστε περισσότερα

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

Διαβάστε περισσότερα

Συστήματα Διαχείρισης Κινδύνου στα Ασύρματα Δίκτυα. Επιμέλεια: Βασίλης Παλιούρας MSc Information Security, MCSA, CCDA, CCA

Συστήματα Διαχείρισης Κινδύνου στα Ασύρματα Δίκτυα. Επιμέλεια: Βασίλης Παλιούρας MSc Information Security, MCSA, CCDA, CCA Συστήματα Διαχείρισης Κινδύνου στα Ασύρματα Δίκτυα Επιμέλεια: Βασίλης Παλιούρας MSc Information Security, MCSA, CCDA, CCA ATZENTA Ασφάλεια Ασύρματου Δικτύου Ενσωμάτωση στα ήδη υπάρχοντα συστήματα ασφάλειας

Διαβάστε περισσότερα

Υπολογιστική Νέφους Cloud computing

Υπολογιστική Νέφους Cloud computing Υπολογιστική Νέφους Cloud computing Χρ. Ηλιούδης Clouds Cloud computing??? Διείσδυση του Cloud Ορισμός - χαρακτηριστικά Ο όρος cloud έχει τις ρίζες στου στην αρχή του internet όπου συνήθιζαν να το αναπαριστούν

Διαβάστε περισσότερα

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Το Oracle Analytics Cloud αποτελεί ένα ολοκληρωμένο σύνολο δυνατοτήτων που περιλαμβάνει έτοιμο περιεχόμενο, εξειδικευμένα

Διαβάστε περισσότερα

Ολοκληρωμένη, σύγχρονη και ευέλικτη λύση ERP (Enterprise Resource Planning-Σύστημα Διαχείρισης Επιχειρησιακών Πόρων) για επιχειρήσεις, που επιθυμούν

Ολοκληρωμένη, σύγχρονη και ευέλικτη λύση ERP (Enterprise Resource Planning-Σύστημα Διαχείρισης Επιχειρησιακών Πόρων) για επιχειρήσεις, που επιθυμούν Enterprise Resource Planning Systems (ERP) για Μεσαίες ή μεγάλες επιχειρήσεις Ολοκληρωμένη, σύγχρονη και ευέλικτη λύση ERP (Enterprise Resource Planning-Σύστημα Διαχείρισης Επιχειρησιακών Πόρων) για επιχειρήσεις,

Διαβάστε περισσότερα

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

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

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

Περίληψη Λαμπρόπουλος Περίληψη Λαμπρόπουλος 1. Αντικείμενο και Περιγραφή της Διατριβής H διδακτορική διατριβή με τίτλο «Σχεδιασμός και υλοποίηση συστήματος διαχείρισης και ενοποίησης διαφορετικών ταυτοτήτων χρηστών σε δίκτυα

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

DO Y O Y U S PEAK K F U F TURE R?

DO Y O Y U S PEAK K F U F TURE R? GALAXY είναι Τεχνολογία αιχμής που αξιοποιεί τις πλέον σύγχρονες διεθνείς τάσεις, συνδυάζοντας τo Microsoft.NET Framework 3.5 και τα εξελιγμένα εργαλεία ανάπτυξης εφαρμογών της SingularLogic. Εξασφαλίζει

Διαβάστε περισσότερα

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5 A. EVANS, K. MARTIN, M. A. POATSY Εισαγωγή στην πληροφορική Θεωρία και πράξη 2 η έκδοση Κεφάλαιο 5 Λογισμικό συστημάτων: Το λειτουργικό σύστημα, τα βοηθητικά προγράμματα και η διαχείριση αρχείων Τα βασικά

Διαβάστε περισσότερα

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

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα METROPOLIS Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα Ενσωματωμένα συστήματα Ορίζονται ως ηλεκτρονικά συστήματα τα οποία χρησιμοποιούν υπολογιστές και ηλεκτρονικά υποσυστήματα για να εκτελέσουν

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

Διαβάστε περισσότερα

Κεφάλαιο 1ο. 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων

Κεφάλαιο 1ο. 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων Κεφάλαιο 1ο 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων http://leitourgika-systhmata-epal-b.ggia.info Creative Commons License 3.0 Share-Alike Πολυπρογραμματισμός

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Λογισμικό Συστήματος & Εφαρμογών ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Γενική Δομή Υπολογιστών Λειτουργικό σύστημα Υπολογιστής

Διαβάστε περισσότερα

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

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων

Διαβάστε περισσότερα

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

Διαβάστε περισσότερα

Network Address Translation (NAT)

Network Address Translation (NAT) HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο 2016-2017 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Network Address Translation (NAT) Network Layer Private IP Addresses Πρόβλημα: o χώρος των ΙΡ διευθύνσεων

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001 ΥΠ.ΕΣ...Α Αριθµ.Πρωτ. / ΙΑ Π/A1/22123 Γ.Γ. ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ ΓΕΝ. /ΝΣΗ ΙΟΙΚΗΤΙΚΗΣ ΟΡΓΑΝΩΣΗΣ /ΝΣΗ ΑΠΛΟΥΣΤΕΥΣΗΣ ΙΑ ΙΚΑΣΙΩΝ ΚΑΙ ΠΑΡΑΓΩΓΙΚΟΤΗΤΑΣ ΤΜΗΜΑ ΜΕΘΟ ΩΝ ΕΡΓΑΣΙΩΝ

Διαβάστε περισσότερα

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling) Μάθημα 6 ο Χρονοδρομολόγηση (Scheduling) Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και τη λειτουργία της χρονοδρομολόγησης σε ένα Λειτουργικό Σύστημα. Θα μάθουμε: Να ορίζουμε τι είναι

Διαβάστε περισσότερα

28 Πολυπρακτορικά Συστήµατα

28 Πολυπρακτορικά Συστήµατα ΚΕΦΑΛΑΙΟ 28 28 Πολυπρακτορικά Συστήµατα "There is no such thing as a single agent system". [Woodridge, 2002] Η παραπάνω ρήση από το βιβλίο του M.Wooldridge τονίζει, ίσως µε περισσή έµφαση, ότι είναι πλέον

Διαβάστε περισσότερα

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Ενηµερώσεις λογισµικού Οδηγός χρήσης Ενηµερώσεις λογισµικού Οδηγός χρήσης Copyright 2009 Hewlett-Packard Development Company, L.P. Η ονοµασία Windows είναι σήµα κατατεθέν της Microsoft Corporation στις Ηνωµένες Πολιτείες. Οι πληροφορίες στο

Διαβάστε περισσότερα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης Ενότητα: Λειτουργικά Συστήµατα, Συστήµατα Batch και Time Sharing Γεώργιος Σκιάνης Γεωλογίας και Γεωπεριβάλλοντος Σελίδα 2 1. Περιεχόµενα ενότητας...

Διαβάστε περισσότερα

7.2 Τεχνολογία TCP/IP

7.2 Τεχνολογία TCP/IP 7.2 Τεχνολογία TCP/IP Ερωτήσεις 1. Πώς χρησιµοποιείται σήµερα ο όρος TCP/IP; ε ποια πρωτόκολλα αναφέρεται και γιατί έχει επικρατήσει αυτή η ονοµασία; 2. Ποια ανάγκη οδήγησε στην επικράτηση της τεχνολογίας

Διαβάστε περισσότερα

Open Text edocs Records Management

Open Text edocs Records Management Open Text edocs Records Management Η λύση Open Text edocs Records Management, παρέχει ένα ασφαλές και πλήρως λειτουργικό περιβάλλον τήρησης και παρακολούθησης του αρχείου ενός οργανισµού, πειθαρχώντας

Διαβάστε περισσότερα

Χρονοδρομολόγηση Εργασιών σε Πολλαπλά Sites ενός Συστήματος Grid Μοντελοποίηση, Προσομοίωση και Αξιολόγηση της Απόδοσης

Χρονοδρομολόγηση Εργασιών σε Πολλαπλά Sites ενός Συστήματος Grid Μοντελοποίηση, Προσομοίωση και Αξιολόγηση της Απόδοσης ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Χρονοδρομολόγηση Εργασιών σε Πολλαπλά Sites ενός Συστήματος Grid Μοντελοποίηση, Προσομοίωση και Αξιολόγηση της Απόδοσης

Διαβάστε περισσότερα

Παπασταθοπούλου Αλεξάνδρα Επιβλέπων Καθηγητής: Ψάννης Κωνσταντίνος

Παπασταθοπούλου Αλεξάνδρα Επιβλέπων Καθηγητής: Ψάννης Κωνσταντίνος ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΜΗΜΑΤΟΣ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Παπασταθοπούλου Αλεξάνδρα Επιβλέπων Καθηγητής: Ψάννης Κωνσταντίνος Ορισμός «Το Διαδίκτυο των πραγμάτων (IoT) είναι

Διαβάστε περισσότερα

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 Απόδοση των οδηγών αποθηκευτικών µέσων Μέσος χρόνος πρόσβασης (Average Access Time) Ταχύτητα µεταφοράς δεδοµένων (Data-Transfer

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

Διαβάστε περισσότερα

Σκοπιµότητα των firewalls

Σκοπιµότητα των firewalls Σκοπιµότητα των firewalls Παρέχουν προστασία των εσωτερικών δικτύων από απειλές όπως: Μη εξουσιοδοτηµένη προσπέλαση των δικτυακών πόρων: όταν επίδοξοι εισβολείς προσπαθούν να εισχωρήσουν στο δίκτυο και

Διαβάστε περισσότερα

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής Περιεχόµενα Κατηγορίες Π.Σ. ιαχείρισης Πράξεων ιοίκησης Υποστήριξης Αποφάσεων Έµπειρα Συστήµατα Ατόµων και Οµάδων Ο κύκλος ζωής Π.Σ. Ορισµός Φάσεις Χρήστες

Διαβάστε περισσότερα

Αλλάξτε τον τρόπο που κάνετε τη δουλειά σας

Αλλάξτε τον τρόπο που κάνετε τη δουλειά σας ΓΙΑ ΜΙΑ ΑΝΟΙKΤΗ ΕΠΙΧΕΙΡΗΣΗ Αλλάξτε τον τρόπο που κάνετε τη δουλειά σας Web & Mobile apps Για µια ανοικτή επιχείρηση Σήµερα περισσότερο από ποτέ, µια επιχείρηση που θέλει να ανοίξει νέους δρόµους ανάπτυξης

Διαβάστε περισσότερα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα Στόχοι κεφαλαίου ίκτυα υπολογιστών (Κεφαλαιο 15 στο βιβλιο) Περιγραφή των κύριων θεµάτων σχετικά µε τα δίκτυα υπολογιστών Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων τοπολογιών των τοπικών

Διαβάστε περισσότερα

STORAGE AREA NETWORK. Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1

STORAGE AREA NETWORK. Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1 STORAGE AREA NETWORK Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1 ΤΙ ΕΙΝΑΙ ΔΙΚΤΥΟ ΑΠΟΘΗΚΕΥΣΗΣ ΔΕΔΟΜΕΝΩΝ (SAN) ΟΡΙΣΜΟΣ ΔΙΚΤΥΟΥ ΑΠΟΘΗΚΕΥΣΗΣ ΔΕΔΟΜΕΝΩΝ (SAN) Οποιοδήποτε, υψηλής απόδοσης, δίκτυο

Διαβάστε περισσότερα

ΘΕΜΑΤΑ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2006 / 2007

ΘΕΜΑΤΑ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2006 / 2007 ΘΕΜΑΤΑ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2006 / 2007 Επιβλέπων : Επικ. Καθηγητής Σπύρος ενάζης Για περισσότερες πληροφορίες σχετικά µε τις παρακάτω διπλωµατικές εργασίες να επικοινωνήσετε µε τον Σπύρο ενάζη (sdena@ece.upatras.gr)

Διαβάστε περισσότερα

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα

Διαβάστε περισσότερα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

Διαβάστε περισσότερα

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

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Μεταπτυχιακό Δίπλωμα Ειδίκευσης Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Δρ. Κακαρόντζας Γεώργιος Επίκουρος Καθηγητής Τμ. Μηχανικών Πληροφορικής Τ.Ε. Μηχανική Λογισμικού για Διαδικτυακές

Διαβάστε περισσότερα

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

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

Διαβάστε περισσότερα

Η Ασφάλεια Πληροφοριών στο χώρο της Εκκαθάρισης των Χρηµατιστηριακών Συναλλαγών

Η Ασφάλεια Πληροφοριών στο χώρο της Εκκαθάρισης των Χρηµατιστηριακών Συναλλαγών Η Ασφάλεια Πληροφοριών στο χώρο της Εκκαθάρισης των Χρηµατιστηριακών Συναλλαγών Η πρόκληση & η πρακτική προσέγγιση Η Προστασία της Κρίσιµης Υποδοµής της Χώρας Αθήνα 14 Μαΐου 2003 Παναγιώτης Ηλιόπουλος,

Διαβάστε περισσότερα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα Η Υλοποίηση της Επικοινωνίας στα Κατανεµηµένα Συστήµατα ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Ε Εξάµηνο, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002

Διαβάστε περισσότερα

Ροών Εργασίας σε ίκτυα Πλέγµατος για την Υ οστήριξη Ε ιχειρησιακών Λύσεων»

Ροών Εργασίας σε ίκτυα Πλέγµατος για την Υ οστήριξη Ε ιχειρησιακών Λύσεων» «Συντονισµός Ροών Εργασίας σε ίκτυα Πλέγµατος για την Υ οστήριξη Ε ιχειρησιακών Λύσεων» Σ ύρος Λυκοθανάσης Καθηγητής ιευθυντής Εργαστηρίου Αναγνώρισης Προτύ ων 30/6/2008 1 Οι πρόσφατες εξελίξεις στην Τεχνολογία

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

Διαβάστε περισσότερα

Ταχύτητα, Απλότητα & Αξιοπιστία

Ταχύτητα, Απλότητα & Αξιοπιστία Ταχύτητα, Απλότητα & Αξιοπιστία Αρχιτεκτονική Μηχανισμοί Αυτοελέγχου Συνδεσιμότητα Περιβάλλον Εργασίας Πληροφορίες Σχήματος Report Builder Import Manager Αρχιτεκτονική Real Time Multithreading Σταθερότητα

Διαβάστε περισσότερα

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα Μαζική επεξεργασία ή επεξεργασία κατά δέσµες (batch processing) Χώρος χρήστη Εργασίες (Jobs): Πρόγραµµα, δεδοµένα και οδηγίες Αποτελέσµατα Χώρος

Διαβάστε περισσότερα

Πλαίσιο Εργασιών. Στρατηγικές Ευκαιρίες

Πλαίσιο Εργασιών. Στρατηγικές Ευκαιρίες 1 Πλαίσιο Εργασιών Στρατηγικές Κατευθύνσεις του Οργανισµού 2 3 Στρατηγικές Κατευθύνσεις των ΠΣ Κρίσιµοι Παράγοντες Επιτυχίας του Οργανισµού Κρίσιµοι Παράγοντες Επιτυχίας των ΠΣ 4 Βραχυχρόνια Στρατηγικές

Διαβάστε περισσότερα

Κεφάλαιο 13: : Εφαρμογές νέφους. Καραμαούνας Π. 1

Κεφάλαιο 13: : Εφαρμογές νέφους. Καραμαούνας Π. 1 Κεφάλαιο 13: : Εφαρμογές νέφους Καραμαούνας Π. 1 13.1 Eισαγωγή στις εφαρμογές νέφους Βασικά χαρακτηριστικά: Εξυπηρέτηση κατ απαίτηση: άμεσα και χωρίς καθυστέρηση Ευρεία πρόσβαση στο δίκτυο: προσβάσιμες

Διαβάστε περισσότερα

Θέμα 3- Αποτελέσματα Ερωτηματολογίου

Θέμα 3- Αποτελέσματα Ερωτηματολογίου Θέμα 3- Αποτελέσματα Ερωτηματολογίου Επιστημονική Επιτροπή ΗellasGrid 03/30/06 2η Συνεδρίαση Ομάδας Εργασίας HellasGrid 1 ΠΑΚΕTO EΡΓΑΣΙΑΣ 2 Συλλογή και επεξεργασία απαιτήσεων χρηστών Προετοιμασία on-line

Διαβάστε περισσότερα

Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5

Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5 Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5 ιαφορετική αρχιτεκτονική: Κοινή βάση δεδοµένων, υνατότητες διασύνδεσης διαφορετικών συστηµάτων Η ανάγκη για την βελτίωση της ποιότητας των

Διαβάστε περισσότερα

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ GRID ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ GRID ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Επιµέλεια - Συγγραφή ΚΟΥΣΙΟΣ ΑΝΤΡΕΑΣ - 1179 Επιβλέπουσα Καθηγήτρια

Διαβάστε περισσότερα

Χαράλαμπος Καραγιαννίδης

Χαράλαμπος Καραγιαννίδης Διάλεξη 4 Λειτουργικό Σύστημα & Λογισμικό Εφαρμογών H/Y Εισαγωγή στις Εφαρμογές ΤΠΕ Χαράλαμπος Καραγιαννίδης karagian@uth.gr Διάλεξη 4: Λειτουργικό Σύστημα & Εφαρμογές 1/41 20/10/2015 Σύνοψη Μαθήματος

Διαβάστε περισσότερα