ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Τεχνολογίες Πλέγματος στη Βιοϊατρική: Ανάπτυξη Διεπαφών για Φιλικότερη Πρόσβαση σε Υπηρεσίες Πλέγματος

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

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

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

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

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

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

EM 361: Παράλληλοι Υπολογισμοί

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

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS)

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

Βιοπληροφορική και Πολυµέσα. Ειρήνη Αυδίκου Αθήνα

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

ΥΠΟΛΟΓΙΣΤΙΚΗ ΧΗΜΕΙΑ ΜΕ ΕΦΑΡΜΟΓΕΣ ΣΕ ΜΟΡΙΑ, ΥΛΙΚΑ, ΠΕΡΙΒΑΛΛΟΝ. Ι ΑΣΚΟΝΤΕΣ: Μαρία Κανακίδου, Σταύρος Φαράντος, Γιώργος Φρουδάκης

Πατρών ΘΕΜΑ ΕΠΙΒΛΕΠΩΝ ΤΡΙΜΕΛΗΣ ΕΠΙΤΡΟΠΗ: ΠΑΤΡΑ 2008

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

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

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

ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία

Grids: LCG, EGEE, SEE and HellasGrid

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

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

Εφαρμογές Βιοϊατρικής

215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας

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

HY555 Παράλληλα Συστήματα και Grids Χειμερινό εξάμηνο 2007 Άσκηση 3 Εξοικείωση με το EGEE GRID Environment

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

Βιοϊατρική τεχνολογία

ΜΑΘΗΜΑ 3 MULTIPLE CHOICE

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

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

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ.

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

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΔΙΑΔΙΚΤΥΟ ΚΑΙ ΠΑΓΚΟΣΜΙΟΣ ΙΣΤΟΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ.

ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία

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

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

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

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ - ΕΝΟΤΗΤΑ 1 7/4/2013 ΕΝΟΤΗΤΕΣ ΜΑΘΗΜΑΤΟΣ. Ορισμός

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

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

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ.

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Παρουσίαση έργου. με την τεχνική της. Δομικής Ανάλυσης Έργου (WBS)

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

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

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

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

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

Grids: LCG/EGEE & South Eastern Europe

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

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

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Τι προσφέρουν τα Τµήµατα Πληροφορικής. ... το Εργαστήριο Πληροφοριακών Συστηµάτων του Πα.Πει. Ερευνητικές δραστηριότητες σε GI Ενδεικτικές εργασίες

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ.

ΜΑΘΗΜΑ 4 - ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ

Συστήματα Πολυμέσων. Ανάπτυξη Πολυμεσικών Εφαρμογών Ι

Συστήματα Πληροφοριών Διοίκησης

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

2018 / 19 ΜΕΤΑΠΤΥΧΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

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

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

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

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

Αγροτική Ανάπτυξη Περιβάλλον

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

ΠΑΡΆΡΤΗΜΑ Β Ενδεικτική Λίστα Διδασκόντων Μελών Δ.Ε.Π. του Τμήματος

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

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

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

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

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ.

ΟΜΑΔΑ Λ. Αναστασίου Κωνσταντίνος Δεληγιάννη Ισαβέλλα Ζωγοπούλου Άννα Κουκάκης Γιώργος Σταθάκη Αρετιάννα

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Λιβανός Γιώργος Εξάμηνο 2017Β

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.)

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

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

Η τεχνολογία GRID και η ανάπτυξη του παγκόσμιου Υπερυπολογιστικού Πλέγματος

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 3-4

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

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

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ

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

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Προσφερόμενα Διπλώματα (Προσφερόμενοι Τίτλοι)

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο

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

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΙΑΤΡΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ & ΜΗΧ/ΚΩΝ Η/Υ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Τεχνολογίες Πλέγματος στη Βιοϊατρική: Ανάπτυξη Διεπαφών για Φιλικότερη Πρόσβαση σε Υπηρεσίες Πλέγματος Βεγουδάκης Κωνσταντίνος Πτυχιούχος του τμήματος Εφαρμοσμένης Πληροφορικής του Πανεπιστημίου Μακεδονίας Διπλωματική εργασία, που υποβάλλεται στο πλαίσιο της μερικής εκπλήρωσης των απαιτήσεων, για την απόκτηση του Μεταπτυχιακού Διπλώματος Εξειδίκευσης στην Ιατρική Πληροφορική ΘΕΣΣΑΛΟΝΙΚΗ, ΙΟΥΝΙΟΣ 2008

ΤΜΗΜΑ ΟΠΟΥ ΕΚΠΟΝΗΘΗΚΕ Η ΕΡΓΑΣΙΑ: ΙΑΤΡΙΚΗ ΣΧΟΛΗ ΤΟΜΕΑΣ ΟΠΟΥ ΕΚΠΟΝΗΘΗΚΕ Η ΕΡΓΑΣΙΑ: ΕΡΓΑΣΤΗΡΙΟ ΙΑΤΡΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΕΥΘΥΝΤΗΣ: ΚΩΝΣΤΑΝΤΙΝΟΣ ΠΑΠΠΑΣ, Καθηγητής Η ΤΡΙΜΕΛΗΣ ΕΞΕΤΑΣΤΙΚΗ ΕΠΙΤΡΟΠΗ ΟΝΟΜΑΤΕΠΩΝΥΜΟ, Νίκος Μαγκλαβέρας, Αν. Καθηγητής Ιατρικής Σχολής Α.Π.Θ. (Επιβλέπων) ΟΝΟΜΑΤΕΠΩΝΥΜΟ, Πέτρος Νικοπολιτίδης, Λέκτορας Τμ. Πληροφορικής Α.Π.Θ. ΟΝΟΜΑΤΕΠΩΝΥΜΟ, Ιωάννα Χουβαρδά, Λέκτορας ΠΔ.407/80 Ιατρικής Σχολής Α.Π.Θ. Η έγκριση της Διπλωματικής αυτής Εργασίας από τα προαναφερόμενα Τμήματα του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης δεν υποδηλώνει την αποδοχή των γνωμών του συγγραφέα. (Νόμος 5343/32, αρθρ. 202 2 και ν. 1268/82, αρθρ. 50 8). Σελ-2-

Πίνακας Περιεχομένων 1. ΕΙΣΑΓΩΓΗ... 12 1.1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΣΤΟ GRID... 12 1.2. ΕΙΔΗ ΣΥΣΤΗΜΑΤΩΝ ΠΑΡΑΛΛΗΛΩΝ ΕΠΕΞΕΡΓΑΣΤΩΝ... 13 1.3. ΔΙΑΧΩΡΙΣΜΟΣ ΤΩΝ ΜΟΝΤΕΛΩΝ ΜΕ ΒΑΣΗ ΤΗΝ ΔΟΜΗ ΜΝΗΜΗΣ... 16 1.4. ΤΙ ΕΙΝΑΙ ΕΝΑ COMPUTER CLUSTER... 17 1.5. Η ΙΣΤΟΡΙΑ ΤΟΥ GRID... 18 1.6. ΤΙ ΕΙΝΑΙ ΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΠΛΕΓΜΑ? (COMPUTING GRID)... 20 1.6.1. ΓΙΑΤΙ ΕΙΝΑΙ ΧΡΗΣΙΜΗ Η ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ?... 21 1.6.2. ΤΡΟΠΟΙ ΧΡΗΣΙΜΟΠΟΙΗΣΗΣ ΤΟΥ ΠΛΕΓΜΑΤΟΣ... 22 1.6.3. ΤΑΞΙΝΟΜΗΣΗ ΤΩΝ ΥΠΟΔΟΜΩΝ ΠΛΕΓΜΑΤΟΣ... 24 1.6.4. ΤΟ ΠΛΕΓΜΑ ΣΤΗΝ ΥΓΕΙΑ (HEALTHGRID)... 24 1.6.4.1. Το Biomed VO... 25 2. ΥΠΟΔΟΜΗ ΠΛΕΓΜΑΤΟΣ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ... 29 2.1. ΤΟ EGEE... 29 2.2. Η WLCG/EGEE ΥΠΟΔΟΜΗ... 30 2.3. Η WLCG/EGEE ΑΡΧΙΤΕΚΤΟΝΙΚΗ... 31 2.3.1. ΑΣΦΑΛΕΙΑ... 31 2.3.2. USER INTERFACE... 32 2.3.3. COMPUTING ELEMENT... 33 2.3.4. STORAGE ELEMENT... 34 2.3.5. ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΩΝ (INFORMATION SERVICE)... 35 2.3.6. DATA MANAGEMENT... 41 2.3.7. WORKLOAD MANAGEMENT... 44 2.3.8. Ο ΚΥΚΛΟΣ ΖΩΗΣ ΜΙΑΣ ΕΡΓΑΣΙΑΣ (JOB FLOW)... 45 2.3.9. ΆΛΛΕΣ ΛΕΙΤΟΥΡΓΙΕΣ... 47 2.4. ΤΑ ΒΑΣΙΚΑ ΤΟΥ ΠΛΕΓΜΑΤΟΣ... 48 2.4.1. ΑΣΦΑΛΕΙΑ... 48 2.4.2. ΑΡΧΙΚΑ ΒΗΜΑΤΑ... 51 2.4.2.1. Απόκτηση ενός Πιστοποιητικού... 52 2.4.2.2. Καταχώρηση στο WLCG/EGEE... 54 2.4.2.3. Δημιουργία λογαριασμού χρήστη (USER ACCOUNT)... 56 2.5. WORKLOAD MANAGEMENT SYSTEM... 63 2.5.1. Η ΓΛΩΣΣΑ ΠΕΡΙΓΡΑΦΗΣ ΕΡΓΑΣΙΩΝ (JOB DESCRIPTION LANGUAGE)... 63 2.5.2. Η ΓΡΑΜΜΗ ΕΝΤΟΛΩΝ ΤΟΥ INTERFACE (COMMAND LINE INTERFACE)... 67 2.5.2.1. Υποβολή μιας εργασίας... 68 2.6. ΠΡΟΗΓΜΕΝΟΙ ΤΥΠΟΙ ΕΡΓΑΣΙΩΝ (ADVANCED JOB TYPES)... 72 2.6.1. ΣΥΛΛΟΓΕΣ ΑΠΟ ΕΡΓΑΣΙΕΣ (JOB COLLECTIONS)... 72 2.6.2. ΠΡΟΗΓΜΕΝΕΣ ΣΥΛΛΟΓΕΣ... 73 2.6.3. DAG ΕΡΓΑΣΙΕΣ... 74 2.6.4. ΠΑΡΑΜΕΤΡΙΚΕΣ ΕΡΓΑΣΙΕΣ (PARAMETRIC JOBS)... 74 2.6.5. ΑΛΛΗΛΕΠΙΔΡΑΣΤΙΚΕΣ ΕΡΓΑΣΙΕΣ (INTERACTIVE JOBS)... 74 2.6.6. MPI ΕΡΓΑΣΙΕΣ... 76 2.7. ΟΙ ΚΑΤΑΣΤΑΣΕΙΣ ΤΩΝ ΕΡΓΑΣΙΩΝ... 76 2.8. ΥΠΟΒΟΛΗ ΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΗΝ JAVA WMPROXY ΥΠΗΡΕΣΙΑ... 77 2.8.1. ΣΥΝΔΕΣΗ ΜΕ ΤΟΝ WMPROXY SERVER... 78 2.8.2. ΑΠΟΣΤΟΛΗ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ (DELEGATING CREDENTIALS)... 79 2.8.3. ΥΠΟΒΟΛΗ ΤΗΣ ΕΡΓΑΣΙΑΣ... 79 2.8.4. ΑΝΑΚΤΗΣΗ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ... 82 Σελ-3-

3. ΛΟΓΙΣΜΙΚΟ ΠΛΕΓΜΑΤΟΣ... 84 3.1. ΛΟΓΙΣΜΙΚΟ ΠΡΟΣΒΑΣΗΣ ΧΡΗΣΤΩΝ ΣΤΟ ΠΛΕΓΜΑ... 84 3.1.1. ΤΟ GLITE 3.0... 84 3.1.1.1. Οδηγίες εγκατάστασης του glite 3.0... 84 3.1.2. ΤΟ GRIDSPHERE... 93 3.1.2.1. Εγκατάσταση του gridsphere... 93 3.1.3. TO P-GRADE... 95 3.1.3.1. Εγκατάσταση του P-GRADE Grid Portal 2.6.1... 95 3.2. ΛΟΓΙΣΜΙΚΟ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΠΛΕΓΜΑΤΟΣ... 98 3.2.1. ΤΟ G-ECLIPSE... 98 3.2.1.1. Εγκατάσταση και σύντομη περιγραφή χρήσης του geclipse... 98 4. ΠΡΟΤΥΠΗ ΔΙΕΠΑΦΗ ΓΙΑ ΦΙΛΙΚΟΤΕΡΗ ΠΡΟΣΒΑΣΗ ΣΕ ΥΠΗΡΕΣΙΕΣ ΠΛΕΓΜΑΤΟΣ... 103 4.1. ΣΤΟΧΟΣ... 103 4.2. ΣΧΕΔΙΑΣΗ... 104 4.3. ΥΛΟΠΟΙΗΣΗ... 106 4.3.1. SVM GRID UI SPLIT... 109 4.3.1.1. Αποτελέσματα και χρόνοι εκτέλεσης των εργασιών... 111 4.3.2. SIMPLE SVM GRID UI... 114 4.3.3. GENERIC INTERFACE... 116 4.3.3.1. Αποστολή μιας απλής εργασίας στο πλέγμα... 118 4.3.3.2. Υποβολή εργασίας με C++ κώδικα... 125 4.3.4. GRID FTP... 131 4.3.5. ΠΡΟΣΟΜΟΙΩΣΗ ΣΕ ΔΥΟ ΔΙΑΣΤΑΣΕΙΣ ΤΗΣ ΗΛΕΚΤΡΙΚΗΣ ΔΙΑΔΟΣΗΣ ΣΤΗΝ ΚΑΡΔΙΑ ΜΕ ΤΗΝ ΒΟΗΘΕΙΑ ΤΟΥ ΜΟΝΤΕΛΟΥ LUO RUDY I MODEL... 133 5. ΣΥΜΠΕΡΑΣΜΑΤΑ... 136 6. ΒΙΒΛΙΟΓΡΑΦΙΑ... 137 Σελ-4-

Πίνακας Εικόνων Kατηγορίες συστημάτων υπολογιστών [10]...13 Παράδειγμα SISD [10]...14 Παράδειγμα SIMD [10]...14 Παράδειγμα MISD [10]...15 Παράδειγμα MIMD [10]...15 Ένα computer cluster [2]...17 Γραφική παράσταση με την βοήθεια του Grid Looking Glass Index [14]...20 Γραφική παράσταση, που απεικονίζει τον αριθμό των εργασιών που υποβλήθηκαν, σε σχέση με τον χρόνο(ανά μήνα) και το είδος τους(ως προς το χρόνο, βραχυχρόνιες, μακροχρόνιες κτλ) [20]...26 Τύποι των SEs στην WLCG/EGEE υποδομή [1]...35 Directory Information Tree (DIT) [1]...37 MDS αρχιτεκτονική του WLCG/EGEE [1]...38 Η αρχιτεκτονική του R-GMA [1]...40 Εικόνα 1 : Το σχήμα (schema) [1]...41 Διαφορετικά ονόματα αρχείων [1]...42 Διαδικασία υποβολής εργασίας [1]...45 Εκτέλεση της εντολής voms-proxy-init voms see...58 Εκτέλεση της εντολής voms-proxy-info -all...59 Εκτέλεση της εντολής myproxy-init s myproxy.grid.auth.gr d -n...60 Εκτέλεση της εντολής myproxy-info s myproxy.grid.auth.gr -d...60 Εκτέλεση της εντολής myproxy-destroy -s myproxy.grid.auth.gr -d...61 Εκτέλεση της εντολής lcg-infosites vo see ce...61 Εκτέλεση της εντολής lcg-infosites --vo see se...62 Εκτέλεση της εντολής lcg-info --list-attrs...63 Συνοπτικός πίνακας εντολών [1]...68 Το αρχείο hello.jdl...68 Το αρχείο hello.sh...69 Η εκτέλεση της εντολής glite-wms-job-submit a hello.jdl...69 Η εκτέλεση της εντολής glite-wms-job-list-match a hello.jdl...70 Η εκτέλεση της εντολής glite-wms-job-status <jobid>...70 Η εκτέλεση της εντολής glite-wms-job-output <jobid>...71 Η εκτέλεση της εντολής glite-wms-job-cancel <jobid>...71 Αρχείο JDL με προηγμένη συλλογή εργασιών [1]...73 Αρχείο JDL με παραμετρική εργασία [1]...74 Διάγραμμα καταστάσεων των εργασιών [1]...77 Δημιουργία του αρχείου CA.list...85 Εγκατάσταση του glite-yaim με τον Synaptic Manager...86 Εγκατάσταση των πιστοποιητικών στο./globus directory...87 Οδηγίες εγκατάστασης της Java σε Linux...87 'Κατέβασμα' των ρυθμίσεων για το glite...88 Απεικόνιση του αρχείου site-info.def...88 Ανάθεση της μεταβλητή JAVA_LOCATION...89 conflict κατά την εγκατάσταση...89 Αφαίρεση του πακέτου lam...90 Δημιουργία και ρύθμιση του voms server...91 Δημιουργία φακέλου /.glite/vomses...91 Σελ-5-

Εκτέλεση της εντολής fetch-crl.sh...92 Επιτυχής ενημέρωση των Crl's...92 Δημιουργία λογαριασμού για τον administrator...94 Η οθόνη εισαγωγής του gridsphere...94 Το workflow editor του p-grade...96 Διαχείριση πιστοποιητικών με την χρήση του p-grade...97 Εγκατάσταση των CA certificates...99 Ρυθμίσεις για το see vo...100 Παράδειγμα ενός JSDL...101 Υποβολή της εργασίας στο πλέγμα...101 Πίνακας κατάστασης των εργασιών...102 Διάγραμμα UMLτου προγράμματος...104 Εκτέλεση του προγράμματος μέσω εντολής java...106 Χρήση του webstart...107 Κατέβασμα της εφαρμογής...107 Επιβεβαίωση της εκτέλεσης της εφαρμογής...107 Η κύρια οθόνη της εφαρμογής...108 Το μενού start...108 Η κύρια οθόνη του Svm Grid UI split...109 Καθορισμός των παραμέτρων του προγράμματος...110 Υποβολή των εργασιών...110 Εμφάνιση της κατάστασης των υποβληθέντων εργασιών...111 Πίνακας 1...112 Γραφική παράσταση του πίνακα 1...112 Πίνακας 2...113 Γραφική παράσταση του πίνακα 2...113 Αρχική οθόνη του Simple Svm Grid UI...114 Δημιουργία τεσσάρων παραμέτρων και υποβολή της εργασίας...115 Μήνυμα για επιβεβαίωση της ορθής υποβολής της εργασίας...115 Η κατάσταση της εργασίας...116 Η οθόνη του Generic InterFace με την δημιουργία παραμέτρων...116 Εισαγωγή του pass phrase για την δημιουργία του προσωρινού πιστοποιητικού...117 Απλός επεξεργαστής κειμένου...117 Η αρχική οθόνη του Generic InterFace...118 Δημιουργία δύο παραμέτρων...119 Ερώτηση για 'ανέβασμα' αρχείων στο πλέγμα(στο wms συγκεκριμένα)...119 Ερώτηση χρήσης αρχείων από SE...120 Ερώτηση για 'κατέβασμα' αρχείων που δημιουργήθηκαν στο πλέγμα...120 Εισαγωγή του αριθμού των αρχείων που δημιουργήθηκαν στο πλέγμα...120 Το όνομα του αρχείου για την έξοδο...120 Το όνομα του αρχείου για τα λάθη...121 Το όνομα του δημιουργηθέντος αρχείου (πρέπει να είναι το ίδιο με αυτό που έχει χρησιμοποιηθεί στο script)...121 Μήνυμα ορθής υποβολής της εργασίας...121 Πλήρης αναφορά της κατάστασης της εργασίας...122 Η γενική κατάσταση της εργασίας...122 Επιλογή του φακέλου για αποθήκευση των αποτελεσμάτων...122 Επιτυχές μήνυμα για την ανάκτηση των αποτελεσμάτων...123 Τα αρχεία out.txt, err.txt, name.txt...123 Άνοιγμα του αρχείου name.txt με τον editor...123 Σελ-6-

Άνοιγμα του αρχείου out.txt με τον editor...124 Αποθήκευση μιας εργασίας...124 Μήνυμα επιτυχούς αποθήκευσης της εργασίας...124 Κώδικας C++ (hello.cpp)...125 To script (hello.sh) για την εκτέλεση του κώδικα hello.cpp...125 Επιλογή CE και χρήση ενός αρχείου script...126 Ερώτηση για 'ανέβασμα' αρχείων στο πλέγμα(στο wms συγκεκριμένα)...126 Έπειτα, δίνουμε τον αριθμό 1....127 'Ανέβασμα' ενός μόνο αρχείου στο WMS...127 Επιλογή του αρχείου hello.sh...127 Επιλέγουμε το αρχείο hello.cpp...128 Επιλογή του αρχείου hello.cpp...128 Ερώτηση χρήσης αρχείων από SE...128 Ένα αρχείο χρησιμοποιείται από SE...129 Η διαδρομή στο SE χωρίς το όνομα του αρχείου(εμφανίζεται ως προεπιλογή)...129 Συμπλήρωση του ονόματος hello.cpp...129 Ερώτηση για 'κατέβασμα' αρχείων που δημιουργούνται στο πλέγμα(στο WMS συγκεκριμένα)...129 Ένα αρχείο δημιουργείται και χρειάζεται να κατεβεί...130 Επιβεβαίωση σωστής υποβολής της εργασίας...130 Υποβολή της εργασίας στην isabella...130 Τα αποτελέσματα της εκτέλεσης του προγράμματος hello.cpp...131 Επιλογή αρχείου για ανέβασμα...131 Η οθόνη του Grid Ftp μετά την επιλογή του αρχείου...132 Μήνυμα επιβεβαίωσης για ανέβασμα του αρχείου...132 Παράδειγμα script για την εκτέλεση της προσομοίωσης σε δύο διαστάσεις της ηλεκτρικής διάδοσης στην καρδιά με την βοήθεια του μοντέλου Luo Rudy I model...133 Εισαγωγή των αρχείων-παραμέτρων στα πεδία κειμένου...133 Τα ονόματα των αρχείων που παράγονται από την εκτέλεση της προσομοίωσης...134 Το αρχείο Time.txt που μας πληροφορεί το χρόνο που χρειάστηκε για να εκτελεστεί το πρόγραμμα (η προσομοίωση)...134 Συγκριτικός πίνακας των χρόνων εκτέλεσης της προσομοίωσης σε δύο διαστάσεις της ηλεκτρικής διάδοσης στην καρδιά, με την βοήθεια του μοντέλου Luo Rudy I model..135 Σελ-7-

Πίνακας Ακρωνυμίων BDII: Database Information Index... 37 CA: Certification Authority... 31 CE: Computing Element... 33 ClassAd: Classified Advertisement... 63 CPU: Central Processing Unit... 26, 30 DAG: Direct Acyclic Graphs... 73 DLI: Data Location Interface... 44 DN: Distinguished Name... 36 DPM: Disk Pool Manager... 35 FQAN: Fully Qualified Attribute Name... 57 GG: Grid Gate... 33 GGF: Global Grid Forum... 38 GOC: Grid Operations Centre... 30 GRIS: Grid Resource Information Server... 37 GUID: Grid Unique Identifier... 42 IS: Information Service... 35 ISM: Information Supermarket... 46 JDL: Job Description Language... 44 LB: Logging και Bookkeeping... 33 Σελ-8-

LFC: LCG File Catalogue... 44 LFN: Logical File Name... 42 LRMS: Local Resource management System... 33 MDS: Globus Monitoring and Discovery System... 36 MSS: Mass Storage Systems... 34 RA: Registration Authority... 52 RB: Resource Broker... 44 RGMA: Relational Grid Monitoring Architecture... 36 SE: Storage Element... 34 SRM: Storage Resource Management... 35 SURL: Storage URL... 42 TURL: Transport URL... 42 VO: Virtual Organization... 25, 30 VOMS: Virtual Organisation Membership Service... 32, 51, 57 UI: User Interface... 32 WMS: Workload Management System... 62 WN: Worker Node... 33, 34 Σελ-9-

Πρόλογος Η αλματώδης ανάπτυξη της σύγχρονης επιστήμης δημιούργησε την ανάγκη για επεξεργασία όλο και μεγαλύτερου όγκου δεδομένων, που παράγονται από τα πειράματα των διάφορων επιστημονικών τομέων. Αναμφισβήτητα, η γενετική και η μοριακή έρευνα στον τομέα της βιολογίας οδηγεί προς νέους τρόπους αντιμετώπισης των ασθενειών και των προβλημάτων υγείας. Από την άλλη μεριά, η ανάπτυξη του Παγκόσμιου Ιστού (WEB) σε συνδυασμό με τις τεράστιες τράπεζες πληροφοριών, που παράγονται από τους πολύπλοκους αλγόριθμους θέτουν ένα σημαντικό πρόβλημα στον τομέα της επιστήμης των υπολογιστών. Είναι σχεδόν βέβαιο, ότι η ανάπτυξη των τεχνικών clustering και η μελλοντική ανάπτυξη μιας βιώσιμης υπολογιστικής δομής οδηγείται κυρίως από τις ανάγκες για επεξεργασία τεράστιων ποσοτήτων δεδομένων και πολύπλοκων αλγορίθμων επεξεργασίας. Σκοπός της εργασίας αυτής ήταν η μελέτη των τεχνολογιών πλέγματος (Grid) και η εφαρμογή αυτών στη Βιοϊατρική, δίνοντας ιδιαίτερη έμφαση στο σχεδιασμό και την ανάπτυξη φιλικών διεπαφών προς το χρήστη. Για το σκοπό αυτό, μελετήθηκαν οι υπάρχουσες διεπαφές και οι δυνατότητες που προσφέρουν. Έπειτα υλοποιήθηκε μία πρότυπη διεπαφή, χρησιμοποιώντας ως σενάρια δοκιμής (test case) μερικές υπάρχουσες «συμβατικές» βιοϊατρικές εφαρμογές, που είναι χρονοβόρες υπολογιστικά. Η εκτέλεση τους πραγματοποιήθηκε (με τις απαραίτητες τροποποιήσεις) σε υποδομές πλέγματος, χρησιμοποιώντας την πρότυπη διεπαφή χρήστη. Η εργασία αυτή χωρίζεται σε πέντε κεφάλαια. Στο πρώτο κεφάλαιο, που είναι εισαγωγικό, περιγράφονται οι έννοιες του πλέγματος και της παράλληλης επεξεργασίας. Η υποδομή του πλέγματος στην Ευρώπη, τα βασικά στοιχεία του πλέγματος (ασφάλεια, αρχικά βήματα, CE, SE κτλ..) και η χρήση του UI αναλύονται στο δεύτερο κεφάλαιο. Το τρίτο κεφάλαιο αναφέρεται στο λογισμικό πλέγματος, το οποίο χωρίζεται σε δύο κατηγορίες: στο λογισμικό πρόσβασης των χρηστών στο πλέγμα και στο λογισμικό ανάπτυξης εφαρμογών στο πλέγμα. Πιο συγκεκριμένα, περιγράφονται συνοπτικά οι λειτουργίες των εφαρμογών και δίνονται οδηγίες για την εγκατάσταση τους. Στο τέταρτο κεφάλαιο περιγράφονται οι προσπάθειες ανάπτυξης μιας πρότυπης διεπαφής, για φιλικότερη πρόσβαση σε υπηρεσίες πλέγματος. Τέλος, Σελ-10-

στο πέμπτο κεφάλαιο παρατίθενται τα γενικά συμπεράσματα, που προέκυψαν από την όλη εκπόνηση της εργασία. Θερμές ευχαριστίες εκφράζονται στον σεβαστό καθηγητή μου κ. Νίκο Μαγκλαβέρα και στον επιστημονικό συνεργάτη κ. Βασίλη Κουτκιά για την επιλογή του θέματος και τις οδηγίες που μου έδωσε για την σωστή ολοκλήρωση της παρούσας εργασίας. Επίσης, ευχαριστίες εκφράζονται στο επιστημονικό προσωπικό του εργαστηρίου Ιατρικής Πληροφορικής για την κάθε είδους βοήθεια, όσον αφορά στην επιτυχή περάτωση της εργασίας αυτής. Τέλος, θα ήθελα να ευχαριστήσω του γονείς μου για την οικονομική και ηθική τους συμπαράσταση, αφού χωρίς αυτούς θα ήταν αδύνατη η περάτωσης αυτής της εργασίας. Σελ-11-

1. Εισαγωγή 1.1. Εισαγωγή στην Παράλληλη επεξεργασία και στο Grid Παραδοσιακά, η άποψη για τον υπολογιστή ήταν ότι πρόκειται για ακολουθιακή μηχανή. Οι περισσότερες γλώσσες προγραμματισμού ζητούν από τον προγραμματιστή να καθορίσει αλγορίθμους σε σειρά εντολών. Οι επεξεργαστές εκτελούν προγράμματα σε εντολές μηχανής ακολουθιακά. Κάθε εντολή εκτελείται σε μια σειρά πράξεων (εντολή προσαγωγής, τελεστέοι προσαγωγής, πράξη εκτέλεσης, απομνημόνευση αποτελεσμάτων). Ωστόσο, αυτή η άποψη για τον υπολογιστή ποτέ δεν υπήρξε απόλυτα σωστή. Σε επίπεδο μικρο-πράξης δημιουργούνται ταυτόχρονα πολλά σήματα ελέγχου. Η σωλήνωση εντολών, τουλάχιστον, στο σημείο υπερκαλυπτόμενων πράξεων προσαγωγής και εκτέλεσης υπάρχει εδώ και καιρό. Και τα δύο αυτά αποτελούν παραδείγματα παράλληλης εκτέλεσης πράξεων. Η προσέγγιση αυτή επεκτείνεται με την οργάνωση superscalar, η οποία εκμεταλλεύεται τον παραλληλισμό σε στάθμη εντολής. Σε μια μηχανή superscalar υπάρχουν πολλές μονάδες εκτέλεσης μέσα σε ένα επεξεργαστή και αυτές μπορούν να εκτελούν παράλληλα πολλές εντολές από το ίδιο το πρόγραμμα. Καθώς έχει εξελιχθεί η τεχνολογία υπολογιστών και καθώς έχει πέσει το κόστος των μηχανημάτων υπολογιστών, οι σχεδιαστές υπολογιστών αναζήτησαν όλο και περισσότερες ευκαιρίες για παραλληλισμό, συνήθως, για ενίσχυση της απόδοσης και σε μερικές περιπτώσεις για αύξηση της διαθεσιμότητας των υπολογιστών [8]. Κατά την διάρκεια των χρόνων, η ανάγκη για υψηλότερη επεξεργαστική ισχύ λύθηκε από τη μια πλευρά με την εισαγωγή όλο και γρηγορότερων επεξεργαστών, αλλά, από την άλλη μεριά όταν η υπολογιστική ισχύς για την επεξεργασία των προβλημάτων δεν ήταν αρκετή σχεδιάζονταν ειδικοί υπολογιστές για τον σκοπό αυτό. Αυτοί οι υπολογιστές είναι συνήθως γνωστοί ως "υπερυπολογιστές". Πρόσφατα έγινε προφανές ότι πολλά από τα πολύπλοκα προβλήματα που απαιτούν υψηλές ανάγκες σε επεξεργαστική ισχύ μπορούν να λυθούν χρησιμοποιώντας τμήματα/συστατικά των προσωπικών υπολογιστών. Έτσι δεν απαιτούνται υπερυπολογιστές χαμηλής διαθεσιμότητας και υψηλών τιμών. Αυτή η Σελ-12-

μέθοδος προσέγγισης βαδίζει προς την καθιέρωση των clusters υπολογιστών και τελικά, στην καθιέρωση των υποδομών πλέγματος (Grid). [2] 1.2. Είδη Συστημάτων Παράλληλων Επεξεργαστών Ένας παράλληλος υπολογιστής είναι ένα σύνολο επεξεργαστών (και άλλων συστατικών) που μπορούν να λειτουργήσουν με συντονισμό για να λύσουν ένα συγκεκριμένο πρόβλημα υπολογισμού. Η ταξινόμηση, που ανακοινώθηκε από τον Flynn [8], εξακολουθεί να είναι ο συνηθέστερος τρόπος κατηγοριοποίησης συστημάτων με ικανότητα παράλληλης επεξεργασίας. Ο Flynn πρότεινε τις παρακάτω κατηγορίες συστημάτων υπολογιστών: Kατηγορίες συστημάτων υπολογιστών [10] Απλών εντολών, απλού ρεύματος δεδομένων (single instruction, single data stream, SISD): Ένας επεξεργαστής εκτελεί ένα απλό ρεύμα εντολών, οι οποίες λειτουργούν σε δεδομένα, που είναι απομνημονευμένα σε μία μνήμη. Στην κατηγορία αυτή ανήκουν οι απλοί επεξεργαστές. Σελ-13-

Παράδειγμα SISD [10] Απλών εντολών, πολλαπλού ρεύματος δεδομένων (single instruction, multiple data stream, SIMD): Μία εντολή μηχανής ελέγχει την ταυτόχρονη εκτέλεση πολλών στοιχείων επεξεργασίας πάνω σε βάση κλειδωμένων βημάτων. Κάθε στοιχείο επεξεργασίας έχει μια συνδεδεμένη μνήμη δεδομένων, έτσι ώστε κάθε εντολή να εκτελείται σε διαφορετική ομάδα δεδομένων από διαφορετικούς επεξεργαστές. Στην κατηγορία αυτή ανήκουν οι διανυσματικοί επεξεργαστές και οι επεξεργαστές διατάξεων. Παραδείγματα τέτοιων επεξεργαστών είναι: o Processor Arrays: Connection Machine CM-2, Maspar MP-1, MP-2 o Vector Pipelines: IBM 9000, Cray C90, Fujitsu VP, NEC SX-2, Hitachi S820 Παράδειγμα SIMD [10] Πολλών εντολών, απλού ρεύματος δεδομένων (multiple instruction, single data stream, MISD): Μία σειρά δεδομένων μεταφέρεται σε μια ομάδα επεξεργαστών, από τους οποίους ο καθένας εκτελεί διαφορετική σειρά εντολών. Λίγα Σελ-14-

πραγματικά παραδείγματα αυτής της κατηγορίας έχουν υπάρξει. Ένας είναι ο πειραματικός υπολογιστής Carnegie-Mellon C.mmp computer (1971). Μερικές χρήσεις του μπορεί να είναι: o πολλά φίλτρα συχνότητας που λειτουργούν σε ένα ενιαίο ρεύμα σημάτων o πολλοί αλγόριθμοι κρυπτογραφίας, που προσπαθούν να σπάσουν ένα κωδικοποιημένο μήνυμα. Παράδειγμα MISD [10] Πολλών εντολών, πολλαπλού ρεύματος δεδομένων (multiple instruction, multiple data stream, MIMD): Μια ομάδα επεξεργαστών εκτελεί ταυτόχρονα διαφορετικές σειρές εντολών σε διαφορετικές ομάδες δεδομένων. Στην κατηγορία αυτή ανήκουν οι SMP επεξεργαστές, τα σμήνη και τα συστήματα NUMA. Παράδειγμα MIMD [10] [8 και 10] Σελ-15-

1.3. Διαχωρισμός των μοντέλων με βάση την δομή μνήμης Το κοινό μοντέλο μνήμης (διαμοιραζόμενη μνήμη) είναι ένα πολύεπεξεργαστικό μοντέλο, στο οποίο οι επεξεργαστές είναι πλήρως ανεξάρτητοι, αλλά χρησιμοποιούν την ίδια μνήμη (pool). Η ανάγνωση μνήμης και το γράψιμο είναι αποκλειστικό: μόνο ένας επεξεργαστής μπορεί να έχει πρόσβαση στη μνήμη σε κάθε μεμονωμένη χρονική στιγμή. Το πλεονέκτημα αυτού του μοντέλου είναι ο εύκολος προγραμματισμός, όπως και η δυνατότητα να μοιράζονται τα ίδια δεδομένα και (ενδιάμεσα) αποτελέσματα πολύ γρήγορα μεταξύ των επεξεργαστών και χωρίς τα οποιαδήποτε προβλήματα επικοινωνίας. Το μειονέκτημα είναι η περιορισμένη ταχύτητα πρόσβασης στην μνήμη (bandwidth), η οποία υποβιβάζει σοβαρά την απόδοση των πολλών επεξεργαστών, εάν δεν προγραμματίζονται εξαιρετικά καλά. Επιπλέον, κάθε προγραμματιστής είναι αρμόδιος για τον συγχρονισμό των επεξεργαστών (π.χ. χρησιμοποιώντας semaphores, locks, start-stop inter-processor communication κτλ.). Το μοντέλο κατανεμημένης (distributed) μνήμης είναι ένα μοντέλο, που χρησιμοποιεί ανεξάρτητους επεξεργαστές, οι οποίοι έχουν ανεξάρτητες τράπεζες μνήμης. Σε τέτοια συστήματα αρχιτεκτονικής είναι σημαντικό να υπογραμμιστεί ότι η διανομή των δεδομένων καθώς επίσης και ο συγχρονισμός των επεξεργαστών, γίνονται με τη μεταβίβαση μηνυμάτων από τον έναν υπολογιστή στον άλλο. Το σημαντικότερο πλεονέκτημα αυτού του μοντέλου είναι πολύ απλά ότι μπορείς να προσθέσεις νέα στοιχεία επεξεργασίας και ότι με την προσθήκη νέων υπολογιστών το πραγματικά χρησιμοποιήσιμο ποσό μνήμης για ολόκληρο τον αλγόριθμο-εφαρμογή, αυξάνεται αυτόματα. Ένα άλλο σημαντικό πλεονέκτημα σε σχέση με το shared memory μοντέλο είναι η απλή και υψηλή ταχύτητα πρόσβαση στη τοπική μνήμη. Ωστόσο, υπάρχουν και σημαντικά μειονεκτήματα, όπως η υψηλή καθυστέρηση στην επικοινωνία που συνεπάγεται η μεταβίβαση μηνυμάτων από τον ένα υπολογιστή στον άλλο και φυσικά, η ανάγκη για πολύ σύνθετα μοντέλα δομών δεδομένων, τα οποία είναι δύσκολο να κατασκευαστούν. [2] Σελ-16-

1.4. Τι είναι ένα computer cluster Τα Computer clusters αντιπροσωπεύουν ένα μοντέλο διασύνδεσης αρκετών ανεξάρτητων προσωπικών υπολογιστών, που χρησιμοποιούνται για παράλληλη επεξεργασία. Η ακόλουθη εικόνα παρουσιάζει μια χαρακτηριστική βασική τοπολογία δικτύου ενός computer cluster. Ένα computer cluster [2] Ο Front End κόμβος, π.χ. ο κόμβος ελέγχου, είναι ο μόνος υπολογιστής που συνδέεται άμεσα με το δημόσιο δίκτυο (είτε με το Internet, είτε με local LAN/WAN public δίκτυο). Αυτό δείχνει ότι μια από τις κύριες και βασικές λειτουργίες που παρέχει, είναι η δυνατότητα για την εξ' αποστάσεως πρόσβαση στο cluster. Επιπλέον, ο κόμβος ελέγχου (front end node) εκτελεί όλες οι υπηρεσίες που είναι απαραίτητες για τη χρήση του cluster. Η υπολογιστική ισχύς ενός computer cluster βρίσκεται στους κόμβους εργασίας (worker nodes-υπολογιστές που κάνουν πραγματικά την όλη δουλειά). Οι worker nodes είναι δυνατοί υπολογιστές με πολλούς επεξεργαστές και με πολύ μνήμη. Η μοναδική τους λειτουργία είναι η εκτέλεση των εφαρμογών των χρηστών. Οι εφαρμογές, που γράφονται για ένα τυπικό SISD μοντέλο, εκτελούνται ανεξάρτητα σε ξεχωριστά worker nodes. Έτσι, λοιπόν, ένα cluster μπορεί να εκτελέσει πολλές SISD εφαρμογές, για πολλούς ξεχωριστούς χρήστες. Οι εφαρμογές, που θέλουν να κερδίσουν από την παράλληλη φύση ενός cluster, πρέπει να γραφούν ειδικά για το μοντέλο MIMD Distributed Memory model. Σε αυτήν την περίπτωση, ένα μέρος ή Σελ-17-

ακόμα και ολόκληρο το cluster μπορεί να χρησιμοποιηθεί από έναν χρήστη για μια εφαρμογή. Κανένας άλλος χρήστης ή εφαρμογή δεν μπορεί να χρησιμοποιήσει στον ίδιο χρόνο το ίδιο cluster (συνήθως). Για να δημιουργηθεί ένα cluster από ένα σύνολο από υπολογιστές (π.χ. για να μπορούν να χρησιμοποιούνται για παράλληλη επεξεργασία με έναν οργανωμένο και συγχρονισμένο τρόπο) είναι απαραίτητο, εκτός από την τοπική δικτυακή σύνδεση μεταξύ των υπολογιστών, να εφαρμοστούν συγκεκριμένες υπηρεσίες, (παραδείγματος χάριν network services, message passing services κτλ.) οι οποίες θα επιτρέπουν τη χρήση του cluster ως ένα ομοιόμορφο σύστημα και θα διευκολύνουν τη διαχείριση του. Είναι σημαντικό να σημειωθεί ότι η ανάπτυξη ενός cluster είναι συχνά ευκολότερη και συχνά «φτηνότερη» από τη χρήση υπερυπολογιστών. Εντούτοις, οι υπερυπολογιστές έχουν ένα «έμφυτο» πλεονέκτημα, αφού σχεδιάζονται συγκεκριμένα για παράλληλη επεξεργασία και για εκτέλεση αλγορίθμων [2]. 1.5. Η ιστορία του Grid Στις αρχές του 1990, διεξάγονταν πολυάριθμα ερευνητικά έργα στην ακαδημαϊκή και ερευνητική κοινότητα, με θέμα τους την κατανεμημένη επεξεργασία. Ένας βασικός τομέας της έρευνας εστίαζε στην ανάπτυξη εργαλείων που θα επέτρεπαν στα διασκορπισμένα συστήματα υπολογιστών υψηλής απόδοσης να συμπεριφέρονται όπως ένας μεγάλος υπολογιστής. Στο IEEE/ACM Super Computing Conference που διεξήχθη στο San Diego το 1995, χρησιμοποιήθηκαν 11 υψηλής ταχύτητας δίκτυα για να συνδέσουν 17 περιοχές (sites) με υπολογιστικό εξοπλισμό υψηλής τεχνολογίας, για την επίδειξη δημιουργίας ενός metacomputer. Αυτή η επίδειξη ονομάστηκε I-Way και βρισκόταν υπό την καθοδήγηση του Ian Foster (United States Department of Energy s Argonne National Labs and University of Chicago) [15]. Εξήντα διαφορετικές εφαρμογές, που προέρχονταν από διάφορες επιστήμες, αναπτύχθηκαν και έτρεξαν σε αυτό το δίκτυο επίδειξης. Πολλές από τις αρχικές έννοιες του Grid Computing εξερευνήθηκαν και θεμελιώθηκαν σε αυτήν την επίδειξη. Η ομάδα του Ian Foster δημιούργησε διάφορα συστήματα λογισμικού, που συντόνιζαν τους υπολογιστικούς πόρους ως ενιαίο σύνολο. Σελ-18-

Η επιτυχία της επίδειξης του I-Way οδήγησε την κυβέρνηση των Ηνωμένων Πολιτειών μέσω του DARPA, τον Οκτώβριο του 1996, να χρηματοδοτήσει ένα ερευνητικό έργο για τη δημιουργία των βασικών εργαλείων για κατανεμημένη επεξεργασία. Στο ερευνητικό έργο ήταν επικεφαλής οι Ian Foster του ANL και Carl Kesselman του Πανεπιστημίου της Southern California. Το project ονομάστηκε Globus και η ομάδα δημιούργησε μια σουίτα εργαλείων, που έθεσαν τα θεμέλια για τις Grid Computing δραστηριότητες στις ακαδημαϊκές και στις ερευνητικές κοινότητες. Το 1997 στο Super Computing Conference, 80 sites παγκοσμίως έτρεχαν λογισμικό, που βασίζονταν στο Globus Toolkit. Αυτή η προσπάθεια άρχισε να αναφέρεται ως Grid Computing σε ανάλογη σχέση με το ηλεκτρικό πλέγμα ενέργειας (electrical power grid) [16]. Το Grid computing είχε την δυνατότητα χρησιμοποίησης τεράστιας υπολογιστικής ισχύος, από οποιονδήποτε, οποιαδήποτε στιγμή και κατά τρόπο αληθινά διαφανή, ακριβώς όπως γίνεται σήμερα με το πλέγμα ηλεκτρικής ενέργειας, διαθέτοντας το ηλεκτρικό ρεύμα σε δισεκατομμύρια καταναλωτές αδιάλειπτα. Το υπολογιστικό πλέγμα στις ακαδημαϊκές και ερευνητικές κοινότητες εστίαζε τις προσπάθειές του στη δημιουργία ενός αποδοτικού πλαισίου, για την αύξηση της αποδοτικότητας κατανεμημένων συστημάτων υψηλής επεξεργαστικής ισχύος. Ωστόσο, με την έκρηξη του Διαδικτύου και την αυξανόμενη δύναμη του υπολογιστή γραφείου κατά τη διάρκεια της ίδιας περιόδου, πολλές προσπάθειες στράφηκαν στην δημιουργία ισχυρών κατανεμημένων υπολογιστικών συστημάτων συνδέοντας προσωπικούς υπολογιστές στο δίκτυο. Το 1997, η Entropia ξεκίνησε για να εκμεταλλευτεί τους μη απασχολημένους υπολογιστές και να λύσει παγκοσμίως προβλήματα επιστημονικού ενδιαφέροντος. Το δίκτυο Entropia αυξήθηκε σε 30.000 υπολογιστές με συνολική ταχύτητα πάνω από ένα teraflop ανά δευτερόλεπτο. Ένας ολόκληρος νέος τομέας δημιουργήθηκε, το philanthropic computing, στο οποίο οι απλοί χρήστες προσέφεραν εθελοντικά τα PCs τους, για να αναλυθούν ερευνητικά θέματα, όπως η αντίδραση των ασθενών στην χημειοθεραπεία, η ανακάλυψη φαρμάκων για το AIDS και η εύρεση θεραπείας για τον άνθρακα. Η Grid Technology Partners έβγαλε έναν δείκτη τον Grid Looking Glass Index ο οποίος παρακολουθεί τις Grid Computing σχετικές έρευνες, που γίνονται στο Σελ-19-

Google search engine. Είναι φανερό από την παρακάτω γραφική παράσταση ότι τριπλασιάστηκαν οι έρευνες σε σχέση με το πρώτο έτος έναρξής του. Γραφική παράσταση με την βοήθεια του Grid Looking Glass Index [14] Σήμερα, μεγάλες εταιρίες όπως οι IBM, Sun Microsystems, Intel, Hewlett Packard και μερικές μικρότερες επιχειρήσεις, όπως οι Platform Computing, Avaki, Entropia, DataSynapse και United Devices, επενδύουν δημιουργώντας την επόμενη γενεά γύρω από το Grid Computing, που επικεντρώνεται στις επιχειρησιακές εφαρμογές παρά στις εφαρμογές ακαδημαϊκής έρευνας [7]. 1.6. Τι είναι το υπολογιστικό πλέγμα? (computing Grid) To υπολογιστικό πλέγμα είναι ένα υπολογιστικό περιβάλλον που επιτρέπει την ενοποίηση των ευρέως γεωγραφικά διεσπαρμένων υπολογιστικών πόρων σε ένα μεγάλο (υπέρ)υπολογιστή. Οι ανεξάρτητοι υπολογιστικοί πόροι αποτελούνται, συνήθως, από υπολογιστικά cluster και αρκετούς ανεξάρτητους υπολογιστές, οι όποιοι είναι διασυνδεδεμένοι σε ένα δίκτυο ευρείας περιοχής υψηλής ταχύτητας. Το Grid αποτελεί μία συστοιχία ηλεκτρονικών υπολογιστών, που αυτήν την στιγμή προορίζεται πρωτίστως για την υποστήριξη του e-science, ωστόσο η ίδια η τεχνολογία είναι πολύ προσαρμόσιμη σε ολόκληρο τον τομέα της παρούσας και Σελ-20-

μελλοντικής χρήσης των υπολογιστών. Ο σημαντικότερος στόχος του πλέγματος είναι να επιτραπεί η συγκέντρωση και η ενοποίηση των κατανεμημένων υπολογιστικών και αποθηκευτικών πόρων, ώστε να συλλεχθεί όσο το δυνατόν περισσότερη υπολογιστική ισχύ και να χρησιμοποιηθεί στις εφαρμογές που απαιτούν υψηλή υπολογιστική ισχύ. Μερικά από τα επιστημονικά παραδείγματα εφαρμογής, που απαιτούν την τεχνολογία του πλέγματος, είναι εφαρμογές από τους τομείς της φυσικής, της ανάλυσης του κλίματος, της βιοϊατρικής έρευνας, της μετεωρολογίας κ.λ.π. [2]. 1.6.1. Γιατί είναι χρήσιμη η παράλληλη επεξεργασία? Η ανάπτυξη της πληροφορικής και της τεχνολογίας έχει κάνει πραγματικότητα την χρήση του κατανεμημένου υπολογισμού. Όλο και περισσότερο ο κατανεμημένος υπολογισμός εφαρμόζεται σε όλους τους τομείς της σύγχρονης επιστήμης καθώς επίσης και στη σύγχρονη οικονομία. Οι νέες δυνατότητες, που προσφέρονται από την υπερβολική υπολογιστική ισχύ των κατανεμημένων συστημάτων, ανοίγουν νέους τομείς εφαρμογής στους υπολογισμούς. Είναι δυνατό να προσομοιωθούν λεπτομερέστερα φυσικές διαδικασίες και φαινόμενα χρησιμοποιώντας πολύ μεγαλύτερη χωρική και χρονική ανάλυση. Δημιουργούνται και γεννώνται νέες επιστημονικές μέθοδοι και νέοι επιστημονικοί τομείς, που βασίζονται στην χρήση τεράστιων συνόλων δεδομένων και παράλληλης επεξεργασίας. Παρακάτω, παρουσιάζεται ένας κατάλογος μερικών εφαρμογών της παράλληλης επεξεργασίας: Μοντελοποίηση και προσομοίωση Συνήθως βασίζονται στις αρχές της σταδιακής προσέγγισης: υψηλότερη υπολογιστική ισχύς επιτρέπει υψηλότερη ακρίβεια (π.χ. διαμόρφωση του κλίματος, προσομοιώσεις στη σεισμολογία, στις ωκεάνιες μετακινήσεις ρευμάτων κ.λ.π.) Επεξεργασία μεγάλου όγκου δεδομένων Τεχνητή όραση, επεξεργασία πολυμέσων, αναζήτηση σε βάσεις δεδομένων, εξόρυξη γνώσης κ.λ.π. Σελ-21-

Διάφορες εφαρμογές Αποκωδικοποίηση του DNA, κλιματολογία, μετεωρολογία, περιβαλλοντική ρύπανση, κβαντική δυναμική, εμπορικές εφαρμογές, ψυχαγωγία κ.λ.π. [2]. 1.6.2. Τρόποι χρησιμοποίησης του πλέγματος Υπάρχουν διάφοροι τρόποι με τους οποίους μπορεί να χρησιμοποιηθεί ο παραλληλισμός στο πλέγμα και να δημιουργηθούν παράλληλες εφαρμογές πλέγματος, που μπορούν να εκμεταλλευτούν τους διάφορους πόρους του πλέγματος, κατά τη διάρκεια της εκτέλεσής τους. Είναι σημαντικό να σημειωθεί, ότι μια παράλληλη εφαρμογή μπορεί να γραφτεί χρησιμοποιώντας inter-process communication libraries όπως η MPI (Message Passing Interface), ή χρησιμοποιώντας multithreading. Παρακάτω, παρουσιάζονται 6 τρόποι με τους οποίους μπορεί να χρησιμοποιηθεί το πλέγμα. 1. Single-job, single-site parallel application Μια χαρακτηριστική προσέγγιση στη δημιουργία παράλληλων εφαρμογών πλέγματος είναι η δημιουργία παράλληλου κώδικα για τον ήδη υπάρχοντα ακολουθιακό κώδικα ή η δημιουργία από την αρχή μιας νέας παράλληλης εφαρμογής. Όταν ο MPI κώδικας ολοκληρωθεί και εξεταστεί, τότε μπορεί να υποβληθεί στο πλέγμα. Ο χρήστης μπορεί άμεσα να ορίσει μία περιοχή πλέγματος (Grid site) για το MPI job ή μπορεί να αναθέσει το MPI job σε έναν μεσολαβητή (broker) και έπειτα είναι ευθύνη του μεσολαβητή να επιλέξει μια περιοχή πλέγματος, όπου υπάρχει και είναι διαθέσιμος ο απαραίτητος αριθμός επεξεργαστών. Η εκτέλεση ενός MPI job στην επιλεγμένη περιοχή μπορεί να ελεγχθεί και να απεικονιστεί με ένα κατάλληλο εργαλείο παρακολούθησης που είναι εγκατεστημένο (αυτόματα ή με το χέρι) στην επιλεγμένη περιοχή πλέγματος. 2. Single-job, multi-site parallel application Μια εφαρμογή MPI μπορεί να εκτελεστεί σε διάφορες περιοχές πλέγματος με παράλληλο τρόπο, εάν χρησιμοποιηθεί η MPICHG2 έκδοση του MPI. 3. Single-job, parameter study application Σελ-22-

Η χρήση μελετών με παραμέτρους είναι ένας από τους πιο ελπιδοφόρους τρόπους για την χρησιμοποίηση ενός μεγάλου αριθμού πόρων του πλέγματος. Μια μελέτη παραμέτρων σημαίνει ότι ο ίδιος κώδικας εκτελείται με πολλά διαφορετικά σύνολα παραμέτρων. Δεδομένου ότι αυτά τα σύνολα παραμέτρων είναι ανεξάρτητα, όλα αυτά μπορούν να τρέξουν σχεδόν ταυτόχρονα χρησιμοποιώντας πολλούς διαφορετικούς πόρους του πλέγματος. Ο κώδικας που εκτελείται στη μελέτη παραμέτρων μπορεί να είναι ακολουθιακός ή παράλληλος. Στην τελευταία περίπτωση, ο μεσολαβητής πρέπει να επιλέξει τους πόρους και τον απαραίτητο αριθμό επεξεργαστών (SMPs, clusters ή supercomputers). 4. Workflow application with single-site parallelism Οι εφαρμογές με διαγράμματα ροής εργασιών (workflow) είναι γραφικές παραστάσεις στις οποίες οι κόμβοι των γραφικών παραστάσεων αντιστοιχούν σε εργασίες (jobs) ή υπηρεσίες πλέγματος και τα κατευθυνόμενα τόξα αντιπροσωπεύουν τις διάφορες εξαρτήσεις εκτέλεσης των εργασιών ή/και τις απαραίτητες μεταφορές αρχείων μεταξύ των συνιστάμενων εργασιών. Οι εφαρμογές με διαγράμματα ροής εργασιών εφαρμόζονται αρκετά στο πλέγμα, δεδομένου ότι οι διαφορετικές συνιστάμενες εργασίες μπορούν να εκτελεστούν σε διαφορετικές περιοχές του πλέγματος. 5. Workflow application with multi-site parallelism Ο παραλληλισμός είναι εφικτός χρησιμοποιώντας πολλές περιοχές του πλέγματος για να τρέξει κάθε MPI κόμβος της ροής εργασιών, αν το MPICH-G2 είναι ενεργοποιημένο (χρησιμοποιείται) σε ένα πλέγμα. 6. Parameter study at workflow level Όπως αναφέρθηκε προηγουμένως, η μελέτη παραμέτρων είναι μια πολύ σημαντική κατηγορία εφαρμογών πλέγματος και ως εκ τούτου πρέπει να υποστηριχθεί όχι μόνο στο επίπεδο μια απλής εργασίας(job) αλλά και στο επίπεδο ροής εργασιών. Η απλούστερη προσέγγιση υποστήριξης της μελέτης παραμέτρων στο επίπεδο ροής εργασιών είναι βασισμένη στο black box execution semantics. Δηλαδή, μια Σελ-23-

ροή εργασιών θεωρείται ως ένα μαύρο κουτί, που πρέπει να εκτελεστεί με πολλά διαφορετικά σύνολα παραμέτρων [2]. 1.6.3. Ταξινόμηση των υποδομών πλέγματος Οι υποδομές Grid ταξινομούνται συχνά σε διάφορες κατηγορίες ανάλογα με τον τύπο των πόρων και τη χρήση τους. Χαρακτηριστικές υποδομές Grid είναι οι εξής: Υπολογιστικό Πλέγμα (Computational Grid): Συνενώνει ετερογενείς γεωγραφικά διεσπαρμένους υπολογιστικούς πόρους με στόχο την επίλυση προβλημάτων, που απαιτούν τεράστια υπολογιστική ισχύ. Αποθηκευτικό Πλέγμα (Data Grid): Συνίσταται στη συνένωση πολλών γεωγραφικά διεσπαρμένων αποθηκευτικών συστημάτων με στόχο την κατανομή μεγάλου όγκου δεδομένων στα κατανεμημένα αποθηκευτικά συστήματα. Πλέγμα Συνεργασίας (Collaboration Grid): Σχηματίζεται από τη συνάθροιση πόρων από εικονικούς οργανισμούς με στόχο την από κοινού αντιμετώπιση κάποιου προβλήματος [17]. 1.6.4. Το πλέγμα στην υγεία (HealthGrid) Τα περισσότερα συστήματα υγείας αντιμετωπίζουν σημαντικές οικονομικές προκλήσεις, λόγω της αυξανόμενης ζήτησης, ως προς την διατήρηση μιας ικανοποιητικής ποιότητας στην παροχή ιατρικής φροντίδας. Σημαντικό είναι το γεγονός ότι η ζήτηση ιατρικής φροντίδας όλο και αυξάνεται, αφού αυξάνεται ο υπερήλικος πληθυσμός και εμφανίζονται όλο και πιο περίπλοκες ασθένειες και θεραπείες. Στα πλαίσια αυτά, σημαντική είναι η δράση HealthGrid (http://www.healthgrid.org/) για την αξιοποίηση των τεχνολογιών πλέγματος στην υγεία. Ένα Healthgrid βασίζεται στην χρήση της τεχνολογίας πληροφοριών, για να εξασφαλίσει γρήγορη, οικονομικώς αποδοτική και υψηλής ποιότητας υγειονομική περίθαλψη. Το υπολογιστικό πλέγμα προσπαθεί να εξασφαλίσει τη πρόσβαση σε διεσπαρμένους πόρους, (υπολογιστές, εφαρμογές, δεδομένα, επιστημονικά όργανα) μεταξύ των διάφορων εικονικών οργανισμών (Virtual Organizations). Η έννοια του Σελ-24-

πλέγματος άλλαξε τον τρόπο χρήσης του παράλληλου και κατανεμημένου υπολογισμού, όπως το World Wide Web άλλαξε τον τρόπο που ανταλλάσσουμε πληροφορίες σήμερα. Το πλέγμα παρέχει μια ενοποιημένη και διαφανή υποδομή, διαθέσιμη, όταν απαιτείται, προκειμένου να λυθούν τα πολύπλοκα προβλήματα. Ειδικότερα, οι τομείς της ιατρικής φροντίδας και έρευνας, που μπορούν να επηρεαστούν ευεργετικά από την τεχνολογία πλέγματος είναι οι παρακάτω: Απεικόνιση και επεξεργασία ιατρικών εικόνων. Μοντελοποίηση του ανθρώπινου σώματος, για τον σχεδιασμό νέων θεραπειών. Φαρμακευτική έρευνα και ανάπτυξη. Επιδημιολογικές μελέτες. Γενετική έρευνα και ανάπτυξη νέων θεραπειών. Σε όλες αυτές τις περιοχές, η τεχνολογία του πλέγματος μπορεί να μειώσει σημαντικά είτε το κόστος είτε το χρόνο για την απόκτηση των αποτελεσμάτων και των δεδομένων ή ακόμα και να παρέχει πόρους, που είναι σε θέση να προσφέρουν υπηρεσίες, που δεν θα μπορούσαν να παρασχεθούν λόγω κόστους, χρησιμοποιώντας τα συμβατικά δικτυωμένα πληροφοριακά συστήματα. Υπάρχουν μερικά σημαντικά εμπόδια, που πρέπει να υπερνικηθούν προτού χρησιμοποιηθούν οι εφαρμογές Healthgrid. Τέτοια εμπόδια είναι ηθικά, ζητήματα εμπιστευτικότητας και λειτουργικής πρακτικότητας (διεπαφές) [18]. 1.6.4.1. Το Biomed VO Η ομάδα του EGEE που είναι υπεύθυνη για τις βιοϊατρικές εφαρμογές είναι το biomed VO. Το biomed VO φιλοξενεί εφαρμογές όπως επεξεργασία ιατρικών εικόνων, βιοπληροφορικής και γενικότερα βιοϊατρικές εφαρμογές, που επεξεργάζονται δεδομένα και απαιτούν υποδομή πλέγματος. Η αποδοχή των νέων εφαρμογών, που μπορούν να εγκατασταθούν στο biomed VO παρέχεται από το Project Executive Board, αφού πρώτα συμβουλευτεί την NA4 διοίκηση. Οι επιλεγμένες εφαρμογές πρέπει να αποδεχτούν την πολιτική χρήσης των πόρων της EGEE. Οι εφαρμογές, που επωφελούνται από την υποδομή EGEE, πρέπει να υποβάλουν έκθεση σχετικά με τη δραστηριότητά τους και τη χρήση των πόρων τους. Η παραγωγή των αποτελεσμάτων αξιολογείται από εξωτερικούς κριτές [19]. Σελ-25-

Το biomed VO περιλαμβάνει 26 CEs με πάνω από 2.000 επεξεργαστές, 28 SEs, που ισοδυναμούν με περίπου 21 TB αποθηκευτικού χώρου σε 12 χώρες σε ολόκληρη την Ευρώπη. Έχει 76 εγγεγραμμένα μέλη σε 12 χώρες (18 ερευνητικά εργαστήρια) και αριθμεί τουλάχιστον 12 κατηγορίες εφαρμογών. Ενδεικτικό είναι το γεγονός, ότι μέσα στο 2005 υποβλήθηκαν περίπου 400.000 εργασίες, που ισοδυναμούν με 100 CPU χρόνια. Γραφική παράσταση, που απεικονίζει τον αριθμό των εργασιών που υποβλήθηκαν, σε σχέση με τον χρόνο(ανά μήνα) και το είδος τους(ως προς το χρόνο, βραχυχρόνιες, μακροχρόνιες κτλ) [20] Ενδεικτικές εφαρμογές που εκτελούνται στο biomed VO, ως προς τον τομέα της ιατρικής απεικόνισης είναι: CDSS (Clinical Decision Support System). Είναι ένα ιατρικό σύστημα στήριξης απόφασης, που αποσκοπεί στην εξαγωγή ιατρικής γνώσης από ένα τεράστιο σύνολο δεδομένων με στόχο να βοηθήσει τους γιατρούς στην κλινική εξέταση. Περιλαμβάνει ταξινόμηση των δεδομένων σε βάσεις δεδομένων και χρησιμοποίηση αυτών για την εξαγωγή αποτελεσμάτων. Pharmacokinetics: Contrast agent diffusion. Η μελέτη του Contrast Agent Diffusion μπορεί να χαρακτηρίσει τους όγκους των ιστών χωρίς να απαιτείται βιοψία. Η διαδικασία απαιτεί την απόκτηση ακολουθιών από MRI ογκομετρικές εικόνες. Σελ-26-

GATE: radiotherapy planning. Ο σχεδιασμός της ακτινοθεραπείας χρησιμοποιείται για βελτίωση της θεραπείας του καρκίνου, με την χρήση ραδιενεργών ισοτόπων. Η θεραπεία σχεδιάζεται στον υπολογιστή προηγουμένως με την χρήση MR σαρώσεων (μαγνητικό συντονισμό), για την εύρεση της ακριβούς θέσης του όγκου και έπειτα υπολογίζεται ο αριθμός των δόσεων ακτινοβολίας, που θα εφαρμοστεί στον ασθενή. Χρησιμοποιείται η Monte Carlo προσομοίωση και το GEANT4 base software, για να μοντελοποιήσει την φυσική της πυρηνικής ιατρικής. SiMRI3D: MRI simulator. Περιλαμβάνει την μελέτη MR (μαγνητικό συντονισμό) ακολουθιών και την επεξεργασία αυτών με αλγορίθμους και κατανόηση των αποτελεσμάτων. gptm3d: radiology analysis. Το PTM3D είναι ένα αλληλεπιδραστικό εργαλείο, που χρησιμοποιείται για την τμηματοποίηση ανακατασκευή και μέτρηση όγκων. Η τρισδιάστατη ανακατασκευή πολύπλοκων οργάνων (π.χ. πνεύμονες) ή και ολόκληρου του σώματος από CT σαρώσεις στοχεύει στο σχεδιασμό νέων και καλύτερων θεραπειών. Bronze Standard: assessment. Σκοπός της είναι η εκτίμηση αλγορίθμων αντιστοίχησης ιατρικών εικόνων (η αντιστοίχηση εικόνων έχει σαν σκοπό την εύρεση γεωμετρικών και άλλων διαφορών ανάμεσα σε δύο ή περισσότερες εικόνες), αφού όπως είναι γνωστό δεν υπάρχει κάποιο κοινά αποδεκτό πρότυπο. Χρησιμοποιείται το MOTEUR workflow engine. Οι εφαρμογές, που εκτελούνται στο biomed VO και σχετίζονται με τον τομέα της Βιοπληροφορικής είναι: GPS@ Bioinformatics grid portal. Κύριος στόχος της εφαρμογής είναι η ανάλυση των δεδομένων, που παράγονται από ολόκληρα projects, που ασχολούνται με τον προσδιορισμό γονιδιακών ακολουθιών. Το υπολογιστικό πλέγμα προσφέρει τη λύση για την διανομή των δεδομένων, των αλγορίθμων, των υπολογιστικών και των αποθηκευτικών πόρων. Όλα τα παραπάνω γίνεται προσπάθεια να επιτευχθούν δημιουργώντας ένα web interface, για εύκολη πρόσβαση στο πλέγμα. xmipp_mlrefine Macromolecular 3D structure analysis. Στόχος της εφαρμογής είναι η κατασκευή της 3D απεικόνισης της δομής των μορίων με την βοήθεια του cryo-electron μικροσκοπίου. Οι μακρομοριακές δομές των μορίων είναι Σελ-27-

χρήσιμες, για τις αλληλεπιδράσεις μεταξύ των μορίων, αλλά και για τις χημικές ιδιότητες των μορίων. SPLATCHE Genome evolution modeling. Στόχος της εφαρμογής είναι η μελέτη της εξελικτικής γενετικής ανάπτυξης των ανθρώπων και η απάντηση σε θέματα όπως η γεωγραφική προέλευση των σύγχρονων ανθρώπινων πληθυσμών, η γενετική ταυτότητα των αναπτυσσόμενων πληθυσμών, οι γενετικές σχέσεις μεταξύ των σύγχρονων ανθρώπων και των Neanderthals και στατιστικά γενετικά στοιχεία, που προκύπτουν από σύνολα γονιδιακών δεδομένων. Οι εφαρμογές, που εκτελούνται στο biomed VO και σχετίζονται με τον τομέα της ανακάλυψης/σχεδίασης νέων φαρμάκων είναι: WISDOM: Wide InSilico Docking On Molecules. Στόχος της εφαρμογής αυτής είναι η ανακάλυψη νέων φαρμάκων με την βοήθεια αλγορίθμων, που κάνουν Docking. To Docking είναι o υπολογισμός της ενέργειας σύνδεσης ενός πρωτεϊνικού στόχου με μια βιβλιοθήκη πιθανών φαρμάκων χρησιμοποιώντας αλγορίθμους καταγραφής score (scoring algorithm). Επίσης, οι εφαρμογές GridGRAMM και GROCK ασχολούνται και αυτές με την ανακάλυψη φαρμάκων. Τέλος, αξίζει να αναφέρουμε την εφαρμογή Medical Data Manager, η οποία ασχολείται με την κατασκευή διεπαφής για την διαχείριση των DICOM βάσεων δεδομένων. Για να γίνει αυτό όμως, χρειάζεται να πληρούνται κάποιες προϋποθέσεις, όπως προστασία των δεδομένων, εύκολη πρόσβαση στα δεδομένα, εκπαίδευση των συμμετεχόντων κτλ. [20]. Σελ-28-

2. Υποδομή πλέγματος - Αρχιτεκτονική 2.1. Το EGEE Το πρόγραμμα EGEE έχει κύριο στόχο να παρέχει στους ερευνητές πρόσβαση σε μια γεωγραφικά κατανεμημένη υποδομή υπολογιστικού πλέγματος, 24 ώρες την ημέρα, αδιάλειπτα. Εστιάζεται στη διατήρηση και στην ανάπτυξη του glite middleware και στη λειτουργία μιας μεγάλης υπολογιστικής υποδομής προς όφελος ολόκληρης της ευρωπαϊκής ερευνητικής κοινότητας. Το πρόγραμμα Worldwide LHC Computing Grid (WLCG) δημιουργήθηκε για να προετοιμάσει την υπολογιστική υποδομή για προσομοίωση, επεξεργασία και ανάλυση των δεδομένων των πειραμάτων του Large Hadron Collider (LHC). Το LHC, που διεξάγεται στο European Laboratory for Particle Physics (CERN), είναι ο ισχυρότερος και μεγαλύτερος επιταχυντής μορίων. Τα WLCG και τα EGEE projects μοιράζονται ένα μεγάλο μέρος της υποδομής και λειτουργούν από κοινού. Για το λόγο αυτό, συχνά, η υποδομή αναφέρεται και ως WLCG/EGEE. Στο WLCG υπάρχουν και άλλες υποδομές πλέγματος, που ονομάζονται Open Science Grid (OSG) και χρησιμοποιούν middleware, που διανέμεται από την VDT και NorduGrid, οι οποίες χρησιμοποιούν το ARC middleware. Τα πειράματα LHC δικαιολογούν απόλυτα το κίνητρο πίσω από την τεχνολογία πλέγματος. Ο επιταχυντής LHC άρχισε τη λειτουργία του το 2007 και τα πειράματα που διεξάγονται (ALICE, ATLAS, CMS and LHCb) παράγουν τεράστια ποσά δεδομένων. Η επεξεργασία αυτών των δεδομένων απαιτεί τεράστιους υπολογιστικούς και αποθηκευτικούς πόρους και φυσικά το σχετικό ανθρώπινο δυναμικό, για τη λειτουργία και την υποστήριξή τους. Δεν θεωρήθηκε εφικτό να συγκεντρωθούν όλοι οι πόροι σε μία περιοχή, για αυτό συμφωνήθηκε η υπηρεσία LCG να εφαρμόζεται ως ένα γεωγραφικά κατανεμημένο υπολογιστικό πλέγμα δεδομένων. Αυτό σημαίνει ότι η υπηρεσία θα χρησιμοποιήσει τους υπολογιστικούς και αποθηκευτικούς πόρους, που είναι εγκατεστημένοι σε πολλές διαφορετικές χώρες και συνδέονται με γρήγορα δίκτυα. Το glite middleware κρύβει ένα μεγάλο μέρος της πολυπλοκότητας αυτού του περιβάλλοντος από το χρήστη δίνοντας του την Σελ-29-

εντύπωση ότι όλοι αυτοί οι πόροι είναι διαθέσιμοι σε ένα εικονικό κέντρο υπολογιστών. Οι χρήστες μιας υποδομής πλέγματος διαιρούνται σε εικονικούς οργανισμούς (Virtual Organisations - VOs), δηλαδή σε αφηρημένες οντότητες, που ομαδοποιούν τους χρήστες, τα ιδρύματα και τους πόρους κάτω από μια διοικητική περιοχή. Τα WLCG/EGEE VOs αντιστοιχούν στις πραγματικές οργανώσεις ή έργα, όπως τα τέσσερα πειράματα LHC, η κοινότητα των βιοϊατρικών ερευνητών, κ.λ.π. Ένας ενημερωμένος κατάλογος όλων των EGEE VOs μπορεί να βρεθεί στο CIC portal (http://cic.in2p3.fr/) [1]. 2.2. Η WLCG/EGEE υποδομή Η WLCG/EGEE είναι ένα κατανεμημένο πλέγμα, που λειτουργεί σε περισσότερες από 200 περιοχές σε όλο τον κόσμο, με περισσότερες από 30.000 CPUs και 20 PB αποθηκευτικών δεδομένων. Η κατάσταση του πλέγματος μπορεί να επισκοπηθεί από τις διάφορες σελίδες ελέγχου, που συνδέονται με το Grid Operations Centre (GOC) monitoring page (http://goc.grid-support.ac.uk/gridsite/monitoring/). Οι περιοχές (sites) ποικίλλουν ευρέως, ανάλογα με το μέγεθος των υπολογιστικών και αποθηκευτικών πόρων αποθήκευσης. Για το WLCG οι μεγαλύτερες περιοχές υποδεικνύονται, ως Tier 1 και διαδραματίζουν βασικό ρόλο στην αποθήκευση και την επεξεργασία των δεδομένων. Οι περιοχές οργανώνονται σε γεωγραφικές περιοχές, που συντονίζονται από το Regional Operations Centre (ROC). To WLCG/EGEE επίσης τρέχει ένα μικρότερο Pre-Production Service (PPS), δηλαδή ένα ξεχωριστό πλέγμα, όπου νέες εκδόσεις του middleware μπορούν να εξεταστούν από τις περιοχές (sites) και από τους χρήστες, πριν επεκταθούν στο κύριο πλέγμα παραγωγής. [1] Σελ-30-

2.3. Η WLCG/EGEE αρχιτεκτονική Παρακάτω περιγράφεται η αρχιτεκτονική και οι υπηρεσίες του WLCG/EGEE. 2.3.1. Ασφάλεια Όπως αναφέρθηκε, η κοινότητα χρηστών του WLCG/EGEE ομαδοποιείται σε εικονικούς οργανισμούς (Virtual Organisations). Πριν κάποιος χρήστης μπορέσει να χρησιμοποιήσει τους πόρους του WLCG/EGEE πρέπει να διαβάσει και να συμφωνήσει με τους κανόνες χρήσης του WLCG/EGEE και τους περαιτέρω κανόνες για το VO που επιθυμεί να ενταχθεί και τέλος να καταχωρήσει μερικά προσωπικά στοιχεία στην υπηρεσία καταχώρησης (Registration Service). Ο χρήστης μπορεί να έχει πρόσβαση στο WLCG/EGEE, όταν τελειώσει η εγγραφή του. Η υποδομή ασφάλειας του πλέγματος (Grid Security Infrastructure - GSI) στο WLCG/EGEE εφαρμόζει ασφαλή ταυτοποίηση και επικοινωνία. Η GSI βασίζεται στην κρυπτογραφία δημοσίου κλειδιού, σε X.509 πιστοποιητικά και στο πρωτόκολλο επικοινωνίας Secure Sockets Layer (SSL) με επεκτάσεις για single signon και delegation. Προκειμένου να ταυτοποιηθεί ο χρήστης στους πόρους του πλέγματος, πρέπει να έχει έναν ψηφιακό X.509 πιστοποιητικό, που έχει εκδοθεί από μία αρχή πιστοποίησης (Certification Authority - CA) και την εμπιστεύεται η WLCG/EGEE. Επίσης, οι πόροι του πλέγματος έχουν πιστοποιητικά για να ταυτοποιούνται στους χρήστες και σε άλλες υπηρεσίες. Το πιστοποιητικό του χρήστη, του οποίου το ιδιωτικό κλειδί προστατεύεται από έναν κωδικό πρόσβασης, χρησιμοποιείται για να παραγάγει και να υπογράψει ένα προσωρινό πιστοποιητικό, που ονομάζεται proxy πιστοποιητικό (ή απλά proxy) και χρησιμοποιείται για την πραγματική ταυτοποίηση στις υπηρεσίες του πλέγματος και δεν χρειάζεται κωδικό πρόσβασης. Δεδομένου ότι η κατοχή ενός πιστοποιητικού proxy είναι μια απόδειξη ταυτότητας, το αρχείο που το περιέχει αυτό πρέπει να είναι αναγνώσιμο μόνο από το χρήστη και εξ ορισμού να έχει μια σύντομη διάρκεια ζωής (τυπικά 12 ώρες), ώστε να μειωθούν οι κίνδυνοι ασφάλειας εάν κλαπεί. Σελ-31-

Η ταυτοποίηση ενός χρήστη σε έναν συγκεκριμένο πόρο του πλέγματος μπορεί να γίνει με δύο διαφορετικούς τρόπους. Ο πρώτος είναι απλούστερος και στηρίζεται στο grid-mapfile μηχανισμό. Ειδικότερα, ο πόρος του πλέγματος έχει έναν τοπικό grid-mapfile, το οποίο χαρτογραφεί τα πιστοποιητικά των χρηστών σε τοπικούς λογαριασμούς. Όταν ένα αίτημα ενός χρήστη για μια υπηρεσία φθάσει στον host το Subject Name του χρήστη (που περιέχεται στο proxy), ελέγχεται σε σχέση με αυτό, που βρίσκεται στο τοπικό grid-mapfile για να βρεθεί σε ποιο τοπικό λογαριασμό (αν υπάρχει κάποιος) χαρτογραφείται το πιστοποιητικό του χρήστη και έπειτα αυτός ο λογαριασμός χρησιμοποιείται για να εκτελεστεί η ζητούμενη λειτουργία. Ο δεύτερος τρόπος βασίζεται στην υπηρεσία (Virtual Organisation Membership Service - VOMS) και στον LCAS/LCMAPS μηχανισμό, ο οποίος επιτρέπει έναν πιο λεπτομερή καθορισμό των προνομίων των χρηστών. Γενικά, ένας χρήστης χρειάζεται έναν έγκυρο proxy για να υποβάλει εργασίες. Αυτές οι εργασίες φέρουν τα δικά τους αντίγραφα του proxy για να μπορούν να ταυτοποιούνται στις υπηρεσίες πλέγματος καθώς εκτελούνται. Για τις μακροχρόνιες εργασίες, το proxy της εργασίας μπορεί να λήξει προτού τελειώσει η εργασία, αναγκάζοντας έτσι την εργασία να αποτύχει. Για να αποφευχθεί αυτό, υπάρχει ο μηχανισμός που ανανεώνει το proxy για να διατηρήσει το proxy της εργασίας έγκυρο για όσο χρειαστεί. Ο MyProxy server είναι το συστατικό που παρέχει αυτήν την λειτουργία [1]. 2.3.2. User Interface Το σημείο πρόσβασης στο WLCG/EGEE πλέγμα είναι η διεπαφή χρήστη (User Interface - UI). Αυτό μπορεί να είναι οποιαδήποτε μηχάνημα, όπου οι χρήστες έχουν έναν προσωπικό λογαριασμό και όπου είναι εγκατεστημένο το πιστοποιητικό τους. Από ένα UI, ένας χρήστης μπορεί να ταυτοποιηθεί και να πάρει την έγκριση για να χρησιμοποιήσει τους πόρους του WLCG/EGEE και να έχει πρόσβαση στις λειτουργίες που προσφέρονται από τα Information, Workload και Data management systems. Παρέχει CLI εργαλεία για την εκτέλεση μερικών βασικών διαδικασιών του πλέγματος: Δημιουργία λίστας με όλους τους κατάλληλους πόρους, που μπορούν να εκτελέσουν μια δεδομένη εργασία. Σελ-32-

Υποβολή των εργασιών για εκτέλεση. Ακύρωση των εργασιών. Ανάκτηση των αποτελεσμάτων των τελειωμένων εργασιών. Παρουσίαση της κατάστασης των υποβληθέντων εργασιών. Ανάκτηση πληροφορίες (logging και bookkeeping information) των εργασιών. Αντιγραφή και διαγραφή αρχείων από το πλέγμα. Ανάκτηση της κατάστασης των διαφόρων πόρων από το πληροφοριακό σύστημα. Επιπλέον, τα WLCG/EGEE APIs είναι επίσης διαθέσιμα στο UI και επιτρέπουν την ανάπτυξη Grid enabled εφαρμογών. [1] 2.3.3. Computing Element Ένα Computing Element (CE) στην ορολογία πλέγματος είναι κάποιο σύνολο υπολογιστικών πόρων, που εντοπίζονται σε μια περιοχή (site) (για παράδειγμα ένα cluster, ένα σύνολο υπολογιστών). Ένα CE περιλαμβάνει μία πύλη πλέγματος (Grid Gate - GG), η οποία δρα ως μία γενική διεπαφή για το cluster, ένα τοπικό σύστημα διαχείρισης πόρων (Local Resource Management System - LRMS) (μερικές φορές ονομάζεται και batch system το ίδιο το cluster) και μια συλλογή από Worker Nodes (WNs), οι κόμβοι όπου τρέχουν οι εργασίες. Υπάρχουν δύο GG υλοποιήσεις στο glite 3.1: η LCG CE, που αναπτύχθηκε από την EDG και χρησιμοποιείται στο LCG-22, και η glite CE, που αναπτύχθηκε από την EGEE. Οι περιοχές μπορούν να επιλέξουν τι να εγκαταστήσουν και μερικές από αυτές παρέχουν και τις δύο υλοποιήσεις. Η GG είναι αρμόδια για την αποδοχή των εργασιών και την αποστολή τους για εκτέλεση στα WNs μέσω του LRMS. Στο glite 3.1 οι υποστηριζόμενοι τύποι LRMS είναι οι OpenPBS/PBSPro, LSF, Maui/Torque, BQS και Condor και γίνεται κάποια δουλειά για την υποστήριξη της Sun GridEngine. Σελ-33-