Grid computing for fire evolution simulation = Προσομοιώσεις εξέλιξης φωτιάς σε κατανεμημένα συστήματα με χρήση πρακτόρων
View/ Open
Author
Διαμαντής, ΘωμάςSupervisor name
Τσομπανοπούλου, Παναγιώτα
Χούστης, Ηλίας Ν.
Date
2005Language
el
Access
free
Abstract
Η παρούσα διπλωματική εργασία ασχολείται με τον Προσομοιωτή Επέκτασης Φωτιάς
- Fire Evolution Simulator (FDS), μία εφαρμογή που έχει δημιουργηθεί από τον
οργανισμό NIST των Η.Π.Α. Πιο συγκεκριμένα, επικεντρωνόμαστε στις προσπάθειες που
έγιναν ώστε η πιο πάνω εφαρμογή να μπορεί να τρέξει στο ' Πλέγμα" (Grid) με τη χρήση
πρακτόρων (agents).
Το Κεφάλαιο 1 περιέχει μια μικρή επισκόπηση του όρου "Προγραμματίζοντας στο
Πλέγμα" (Grid Computing). Ορισμοί έχουν δοθεί πολλοί για τον όρο "Πλέγμα", οι
οποίοι μάλλον αλληλοσυμπληρώνονται παρά αλληλοαναιρούνται. Σε γενικές γραμμές,
"Πλέγμα" είναι ένα σύνολο από πρωτόκολλα και υπηρεσίες που αποσκοπούν στη
δημιουργία "εικονικών οργανισμών" (virtual organizations) οι οποίο θα μποροόυν να
παρέχουν με αδιαφάνεια επεργαστική ισχύ σε όσους το ζητούν.
Στη συνέχεια του κεφαλαίου ασχολούμαστε με την αρχιτεκτονική του Πλέγματος. Και
εδω πάλι υπάρχουν διαφορετικές προσεγγίσεις. Οι δύο κυριότερες χωρίζουν τα πλέγματα
σε 4 (Fabric, Core middleware, User-level midddleware, Applications) ή 5 επίπεδα
(Fabric, Connectivity, Resource, Collective, Applications).
Τέλος, σαν παράδειγμα, παρουσιάζουμε μια πρωτοβουλία στη δημιουργία ενός
ευρπαϊκού πλέγματος, το project DEISA.
Το Κεφάλαιο 2 είναι αφιερωμένο στο ενδιάμεσο λογισμικό (middleware). Σε αυτό
το κεφάλαιο προσπαθούμε να ορίσουμε δύο έννοιες με κοινά χαρακτηριστικά, τους
πράκτορες (agents) και τους actors. Σαν πράκτορες ορίζουμε ένα κομμάτι λογισμικού
που έχοντας κάποιους αρχικούς στόχους, προσπαθεί να αλλάζει την κατάσταση του
περιβάλλοντος του έτσι ώστε να τους επιτύχει. Σαν μια ειδική κατηγορία πρακτόρων, μας
ενδιαφέρουν και οι κινητοί πράκτορες (mobile agents) οι οποίοι έχουν τη δυνατότητα να
"περιφέρονται" σε ένα δικτυακό περιβάλλον. Σε αντίθεση με τους πράκτορες, οι actors
δεν αντιλαμβάνονται το περιβάλλον τους αλλά αντιδρούν σε μηνύματα που δέχονται από
άλλους actors.
Στο ίδιο κεφάλαιο παρουσιάζονται μερικά παραδείγματα από τις πλατφόρμες που
χρησιμοποιούνται στην ανάπτυξη και των δύο (JADE, Beegent, Kaariboga, Voyager,
Proactive για τους πράκτορες - Ptolemy για τους Actors). Τέλος, υπάρχει και μια
περιγραφή του gLite, το οποίο είναι ενδιάμεσο λογισμικό για πλέγματα και έχει δημιουργηθεί από ευρωπαϊκά ερευνιπκά ιδρύματα.
Έχοντας τελειώσει με το θεωρητικό υπόβαθρο, εξετάζουμε το ίδιο το FDS στο Κεφάλαιο
3. Η συγκεκριμένη εφαρμογή λύνει με αριθμητικές μεθόδους κάποιες μορφές των
εξισώσεων Navier-Stokes για τα ρευστά προσπαθώντας να προβλέψει την εξέλιξη μιας
φωτιάς δεδομένων των αρχικών συνθηκών, δηλαδή του περιβάλλοντος χώρου, της φύσης
των υλικών τα οποία υπάρχουν και έρχονται σε επαφή με τη φωτιά, τυχόν εξωτερικοί
παράγοντες όπως θυρίδες εξαερισμού ή συστήματα πυρόσβεσης κ.τ.λ.
Ειδικότερα, στο κεφάλαιο αυτό παρουσιάζουμε τη δομή των αρχείων εισόδου (τα οποία
περιέχουν όλες τις πιο πάνω πληροφορίες που αναφέρθηκαν) και εξόδου καθώς και
τις τεχνολογίες που χρησιμοποιήθηκαν για την ανάπτυξη των διάφορων εκδόσεών του
προγράμματος: ο αρχικός κώδικας είναι γραμμένος σε Fortran. Αργότερα προστέθηκαν
ΜΡΙ επεκτάσεις ώστε να γίνει δυνατή η χρήση cluster για την προσομοίωση. Τέλος, για τη
χρήση σε Πλέγματα φτιάχτηκε μια έκδοση με πράκτορες, στην οποία χρησιμοποιούνται
εκτός των άλλων C και Java).
Στο τελευταίο κεφάλαιο (Κεφάλαιο 4) μελετούμε τα αποτελέσματα από τις δοκιμές που
έγιναν στα τοπικά μηχανήματα (ένας cluster με 11+1 κόμβους και ένα μικρό πλέγμα που
αποτελείται από τρεις υπολογιστικούς κόμβους). Αυτές οι δοκιμές είχαν σαν απώτερο
σκοπό τη μέτρηση επιδόσεων του FDS καθώς και την απόδειξη "καλής λειτουργίας"
της έκδοσης που χρησιμοποιεί πράκτορες. Έτσι καταρτίστικαν πίνακες και γραφικές
παραστάσεις στους οποίους φαίνονται οι χρόνοι τρεξίματος των διαφόρων εκδόσεων και
συγκρίσεις μεταξύ αυτών. Τέλος, για την απόδειξη "καλής λειτουργίας" αναπτύχθηκε
μια μικρή εφαρμογή σε Java οι οποία παίρνει σαν είσοδο δύο αρχεία σε ascii μορφή
που περιέχουν αποτελέσματα δύο διαφορετικών προσομοιώσεων και τα συγκρίνει μεταξύ
τους (χρησιμοποιώντας νόρμες και μεθόδους αριθμητικής ολκλήρωσης).
Academic publisher
Πανεπιστήμιο Θεσσαλίας. Πολυτεχνική Σχολή. Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών.