Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεHalirrhothius Athanasiou Τροποποιήθηκε πριν 10 χρόνια
1
ΠΑΡΑΛΛΗΛΟΠΟΙΗΣΗ ΓΕΝΕΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ ΠΟΛΛΑΠΛΩΝ ΣΤΟΧΩΝ
ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΤΟΥ ΑΛΟΓΑΡΙΑΣΤΟΥ ΚΩΝΣΤΑΝΤΙΝΟΥ Υπό την επίβλεψη του καθηγητή Λουκά Πέτρου Θεσσαλονίκη, Μάρτιος 2008
2
ΣΤΟΧΟΙ ΤΗΣ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
Ανάπτυξη παράλληλου γενετικού αλγορίθμου που να είναι ικανός να αντιμετωπίζει προβλήματα βελτιστοποίησης τόσο ενός στόχου, όσο και πολλαπλών στόχων Υλοποίηση της παραλληλοποίησης με χρήση του προτύπου MPI Μελέτη της απόδοσης του γενετικού αλγορίθμου πολλαπλών στόχων στη συστοιχία υπολογιστών του εργαστηρίου Αρχιτεκτονικής Υπολογιστών της σχολής
3
Γενετικοί Αλγόριθμοι Τεχνικές αναζήτησης και βελτιστοποίησης με προέλευση και έμπνευση από τον κόσμο της βιολογίας Χρησιμοποιούν την ιδέα της φυσικής επιλογής και της επιβίωσης του καλύτερου (survival of the fittest), όπως την είχε ορίσει ο Δαρβίνος Μιμούνται τις φυσικές διαδικασίες της επιλογής, της μετάλλαξης και της διασταύρωσης Τις χρησιμοποιούν ως τελεστές αναζήτησης ώστε να βρουν καλύτερες λύσεις πιο γρήγορα σε προβλήματα βελτιστοποίησης Αποτελούν την πιο δημοφιλή μέθοδο των εξελικτικών αλγορίθμων Έχουν χρησιμοποιηθεί για να λύσουν με επιτυχία πολλά προβλήματα από διάφορα επιστημονικά πεδία, όπως η μηχανική, η οικονομία, η ρομποτική, η φυσική και η χημεία.
4
Προβλήματα βελτιστοποίησης πολλαπλών στόχων
Αποτελούνται από περισσότερες από μία objective functions Έχουν θεμελιώδεις διαφορές από τα προβλήματα ενός στόχου, δεν είναι απλή επέκταση τους Ένα γενικό πρόβλημα πολλαπλών στόχων ορίζεται ως εξής: Να ελαχιστοποιηθούν/μεγιστοποιηθούν οι συναρτήσεις fm(x) m=1,2,..,M δεδομένων των περιορισμών ανισότητας gi(x)≥ j=1,2,..,J και των περιορισμών ισότητας hk(x)= k=1,2,...,K με τις μεταβλητές xi να έχουν τιμές i=1,2,..,n Δεν έχουν μόνο μια λύση αλλά μια ομάδα άπειρων λύσεων, που λέγεται μέτωπο Pareto Το μέτωπο Pareto έχει σαν μέλη του όλες τις λύσεις που δεν κυριαρχούνται από άλλες (pareto-optimal solutions). Όλες οι pareto-optimal λύσεις είναι εξίσου σημαντικές
5
Γενετικοί αλγόριθμοι πολλαπλών στόχων
Βασίζονται στις αρχές του βασικού γενετικού αλγόριθμου Έχουν τις απαραίτητες επεκτάσεις ώστε να μπορούν να χειριστούν multi-objective προβλήματα. Υπάρχουν πολλές διαφορετικές υλοποιήσεις Vector Evaluated Genetic Algorithm (VEGA) Weight Based Genetic Algorithm Multiple Objective Genetic Algorithm (MOGA) Niched-Pareto Genetic Algorithm (NSGA) Μπορούν να χρησιμοποιήσουν ελιτισμό, δηλαδή την τεχνική να ευνοούνται τα καλύτερα μέλη ενός πληθυσμού δίνοντας τους την ευκαιρία να μεταφερθούν κατευθείαν χωρίς αλλαγές στην επόμενη γενιά.
6
Παράλληλος υπολογισμός
Eίδος υπολογισμού στο οποίο πολλές εντολές εκτελούνται ταυτόχρονα Βασίζεται στην αρχή ότι τα μεγάλα προβλήματα μπορούν σχεδόν πάντα να χωριστούν σε μικρότερα, που μπορούν να εκτελούνται παράλληλα από πολλαπλά υπολογιστικά στοιχεία Το ενδιαφέρον για αυτόν έχει αυξηθεί τα τελευταία χρόνια λόγω των φυσικών περιορισμών που εμποδίζουν την αύξηση της συχνότητας λειτουργίας των επεξεργαστών Μπορούμε να εκτιμήσουμε την απόδοση ενός παράλληλου αλγορίθμου με το νόμο του Amdahl Υπάρχουν δύο αρχιτεκτονικές κύριας μνήμης: αρχιτεκτονική κοινής μνήμης και αρχιτεκτονική κατανεμημένης μνήμης
7
Συστήματα παράλληλου υπολογισμού
Πολυπύρηνοι επεξεργαστές: Αποτελούνται από πολλαπλές μονάδες εκτέλεσης (πυρήνες). Παραδείγματα είναι οι Athlon X2 και Phenom της AMD, οι Core και Core 2 Duo της Intel και ο Cell της ΙΒΜ. Symmetric Multiprocessing (SMP): Υπολογιστικό σύστημα με πολλούς όμοιους επεξεργαστές που μοιράζονται τη μνήμη και συνδέονται μεταξύ τους μέσω ενός διαύλου Συστοιχία υπολογιστών (cluster): Ομάδα υπολογιστών που συνδέονται στενά μεταξύ τους και δουλεύουν μαζί, ώστε από πολλές απόψεις να θεωρούνται σαν ένας υπολογιστής. Συνδέονται μεταξύ τους μέσω τοπικού δικτύου (κοινού 1Gbit ethernet ή 10Gbit Infiniband) Πλέγμα υπολογιστών (grid computing): Χρησιμοποιεί υπολογιστές που βρίσκονται πολύ μακριά μεταξύ τους και συνδέονται μέσω Internet, ώστε να λυθεί ένα πρόβλημα. Ασχολείται με προβλήματα που είναι παραλληλοποιήσιμα σε πολύ μεγάλο βαθμό, όπως τα και
8
Παράλληλοι γενετικοί αλγόριθμοι
Χρησιμοποιούνται για να επιλυθούν μεγάλα και δύσκολα προβλήματα βελτιστοποίησης, είτε ενός είτε πολλαπλών στόχων Δεν είναι μόνο ένας τρόπος για να επιλύονται προβλήματα πιο γρήγορα, αλλά και για να αναπτύσσονται πιο αποδοτικές μέθοδοι αναζήτησης Δεν υπάρχει ακόμη έντονο ενδιαφέρον στην επιστημονική κοινότητα για παράλληλες υλοποιήσεις αλγορίθμων πολλαπλών στόχων 3 κύριοι τύποι παράλληλων γενετικών αλγορίθμων Master-slave Island-model ή Coarse-grained Diffusion ή Fine-grained
9
Το πρότυπο MPI Πρωτόκολλο επικοινωνίας υπολογιστών που χρησιμοποιείται ευρέως στις συστοιχίες υπολογιστών για παράλληλο προγραμματισμό στις γλώσσες C/C++ και Fortran Αποτελεί μια υλοποίηση του message passing μοντέλου στην αρχιτεκτονική κατανεμημένης μνήμης Είναι μια βιβλιοθήκη συναρτήσεων (στη C/C++) ή υπορουτινών (σε Fortran) που εισάγονται στον πηγαίο κώδικα ενός προγράμματος για να επιτρέψουν την επικοινωνία μεταξύ διεργασιών Περιλαμβάνει πάνω από 100 συναρτήσεις, αλλά οι 6 βασικές συναρτήσεις του επαρκούν για τη διεκπεραίωση των περισσότερων λειτουργιών
10
Περιγραφή του γενετικού αλγορίθμου που αναπτύχθηκε
Έχει δυνατότητα επίλυσης τόσο προβλημάτων βελτιστοποίησης ενός στόχου όσο και πολλαπλών στόχων Είναι παραλληλοποιημένος σε μορφή νησιών (island-model), με χρήση του πρωτοκόλλου MPI και της γλώσσας προγραμματισμού C++ Τα νησιά έχουν τον ίδιο πληθυσμό και είναι συνδεδεμένα σε τοπολογία δακτυλίου διπλής κατεύθυνσης Χρησιμοποιεί τον αλγόριθμο VEGA για το χειρισμό προβλημάτων πολλαπλών στόχων Θεωρεί πως κάθε επεξεργαστής τρέχει έναν VEGA σε κάθε νησί και χρησιμοποιεί τυχαία μετανάστευση μελών ανά μερικές γενιές (στο τέλος κάθε εποχής)
11
Συστοιχία υπολογιστών του εργαστηρίου Αρχιτεκτονικής Η/Υ
Αποτελείται από 6 HP ProLiant DL140 servers με μέγεθος 1U ο καθένας Κάθε μηχάνημα αποτελείται από έναν τετραπύρηνο Intel Xeon στα 1.6GHz και 4MB L2 cache ανά πυρήνα, 4GB RAM στα 667ΜHz και 2x160GB σκληρούς δίσκους σε raid 1 Τα μηχανήματα συνδέονται μεταξύ τους μέσω InfiniBand (10Gbit) και τυπικού ethernet (1Gbit) 1 master, 5 slaves, μόνο οι slaves θα χρησιμοποιθούν για τις μετρήσεις, άρα συνολικά το πολύ 20 CPUs Τρέχει linux, (τη διανομή ROCKS με το CentOS), χρησιμοποιεί την υλοποίηση mvapich2 (VAPI interface) για το MPI, compiler gcc 3.4.6
12
Δοκιμαστικά προβλήματα και μετρήσεις
Δοκιμαστικά προβλήματα και μετρήσεις Schaffer: Να ελαχιστοποιηθούν οι συναρτήσεις f1(x)=x2 και f2(x)=(x-2)2 Fonseca: Να ελαχιστοποιηθούν οι συναρτήσεις και Deb: Να ελαχιστοποιηθούν οι συναρτήσεις f1(x,y)=x και για 0≤x,y≤1 (constraints) Ορίζουμε ως επιτάχυνση το λόγο του χρόνου εκτέλεσης του σειριακού προγράμματος προς το παράλληλο Έγιναν μετρήσεις για την επιτάχυνση που προσφέρει και το μέγεθος του μετώπου Pareto που βρίσκει το παράλληλο πρόγραμμα με 2,4,8,16, και 20 επεξεργαστές Λόγω στοχαστικότητας του αλγορίθμου, το πρόγραμμα εκτελέστηκε 100 φορές για κάθε πρόβλημα και κάθε αριθμό επεξεργαστών και πάρθηκαν οι μέσοι όροι των μετρήσεων
13
Μετρήσεις προβλήματος Schaffer
Παράμετροι γενετικού αλγορίθμου: Αριθμός πληθυσμού=1600, αριθμός εποχών=15, διάρκεια εποχής=10, μέγεθος μετανάστευσης=10% του πληθυσμού ενός νησιού (δηλαδή 160/Ν, όπου Ν αριθμός επεξεργαστών)
14
Μετρήσεις προβλήματος Schaffer
15
Συμπεράσματα από τις μετρήσεις Schaffer
Τα αποτελέσματα των μετρήσεων επιτάχυνσης εκ πρώτης όψεως φαίνονται παράδοξα, πχ στην περίπτωση των 20 CPUs έχουμε επιτάχυνση μεγαλύτερη από 20x Εξηγούνται όμως αν σκεφτούμε πως ένα σημαντικό κομμάτι του προγράμματος, ο αλγόριθμος ανανέωσης του μετώπου Pareto, έχει πολυπλοκότητα Ο(Ν2), όπου Ν ο πληθυσμός κάθε νησιού Στο σειριακό αλγόριθμο έχουμε ένα νησί με 1600 άτομα. Στον παράλληλο με 20 CPUs, έχουμε 20 νησιά με πληθυσμό 80 άτομα το καθένα. Άρα η δουλειά ενός επεξεργαστή με 1600 άτομα εκτελείται χονδρικά 202=400 φορές πιο αργά από τη δουλειά ενός επεξεργαστή με 80 άτομα. Το υπόλοιπο πρόγραμμα έχει γραμμική πολυπλοκότητα Ο αλγόριθμος ανανέωσης του μετώπου Pareto εξαρτάται από την πολυπλοκότητα των objective functions, άρα σε πιο δύσκολα προβλήματα όπως τα επόμενα αναμένουμε αύξηση της επιτάχυνσης
16
Μετρήσεις προβλήματος Fonseca
Παράμετροι γενετικού αλγορίθμου: Αριθμός πληθυσμού=1600, αριθμός εποχών=25, διάρκεια εποχής=10, μέγεθος μετανάστευσης=10% του πληθυσμού ενός νησιού (δηλαδή 160/Ν, όπου Ν αριθμός επεξεργαστών)
17
Μετρήσεις προβλήματος Fonseca
18
Συμπεράσματα από τις μετρήσεις Fonseca
Το πρόβλημα αυτό έχει πιο σύνθετες objective functions Η μέση επιτάχυνση γενικά είναι αυξημένη σε σχέση με το προηγούμενο πρόβλημα, όπως αναμενόταν Όσο αυξάνεται ο αριθμός των νησιών μειώνεται ο αριθμός των αποτελεσμάτων του μετώπου Pareto που παίρνουμε, όπως και στο προηγούμενο πρόβλημα Παρόλη την αύξηση του αριθμού των εποχών, παίρνουμε λιγότερα αποτελέσματα του μετώπου Pareto σε σχέση με το προηγούμενο πρόβλημα, λόγω της αυξημένης πολυπλοκότητας του προβλήματος Fonseca
19
Μετρήσεις προβλήματος Deb
Παράμετροι γενετικού αλγορίθμου: Αριθμός πληθυσμού=9600, αριθμός εποχών=40, διάρκεια εποχής=10, μέγεθος μετανάστευσης=10% του πληθυσμού ενός νησιού (δηλαδή 960/Ν, όπου Ν αριθμός επεξεργαστών)
20
Μετρήσεις προβλήματος Deb
21
Συμπεράσματα από τις μετρήσεις Deb
O χρόνος εκτέλεσης του προγράμματος δεν αυξήθηκε σε σχέση με τα προηγούμενα προβλήματα, παρά την αύξηση στο μέγεθος του πληθυσμού και στον αριθμό των εποχών. Αυτό συνέβη γιατί ο αλγόριθμος καταναλώνει λιγότερο χρόνο στον υπολογισμό των objective functions Λόγω της ιδιομορφίας του προβλήματος (περιορισμοί και μη κυρτό μέτωπο Pareto), το μέγεθος του μετώπου Pareto μειώνεται αισθητά σε σχέση με τα προηγούμενα προβλήματα Το μέγεθος του μετώπου Pareto δε μεταβάλλεται πολύ όσο μεταβάλλουμε τον αριθμό των νησιών, γιατί πλέον κάθε νησί έχει αρκετά μέλη και ο αλγόριθμος είναι πιο αποδοτικός Συμπεραίνουμε πως το πρόβλημα Deb επωφελείται περισσότερο από τα υπόλοιπα από την παραλληλοποίηση
22
Γενικά συμπεράσματα Η παραλληλοποίηση όπως έχει υλοποιηθεί σε αυτό τον αλγόριθμο είναι μια ιδιαίτερα αποδοτική μέθοδος για την μείωση του χρόνου εκτέλεσης κατά την επίλυση προβλημάτων πολλαπλών στόχων Μπορούμε να κρίνουμε πως η προσθήκη ακόμη περισσότερων επεξεργαστών θα εξακολουθούσε να είναι αποδοτική Το ταχύτατο τοπικό δίκτυο δεν επιφέρει μεγάλο κόστος στην ταχύτητα εκτέλεσης Πρέπει να βρεθεί η χρυσή τομή μεταξύ πληθυσμού και αριθμού νησιών ώστε τα νησιά μην έχουν πολύ μικρό πληθυσμό, γιατί η αύξηση του πληθυσμού των νησιών λειτουργεί ευεργετικά
23
Προτάσεις για βελτίωση του αλγορίθμου
Υλοποίηση ενός πιο αποδοτικού αλγορίθμου πολλαπλών στόχων αντί του VEGA, όπως ο πιο πολύπλοκος NSGA Αλλαγή του αλγορίθμου υπολογισμού του μετώπου Pareto σε αυτή του Kung et al., με πολυπλοκότητα Ο(NlogN) αντί για O(N2) Δημιουργία υβριδικής τοπολογίας κοινής κατανεμημένης μνήμης με χρήση του OpenMP σε συνδυασμό με το MPI, για εκμετάλλευση της μεγαλύτερης ταχύτητας πρόσβασης που προσφέρει η κοινή μνήμη Αλλαγή του τρόπου μετανάστευσης από την τυχαία μετανάστευση σε κάποια με μεγαλύτερη πίεση επιλογής, όπως η uniform elitist niching migration Εφαρμογή μιας εξειδικευμένης μεθόδου για το χειρισμό των περιορισμών σε προβλήματα που τους περιέχουν, όπως το πρόβλημα Deb
24
Ευχαριστίες Ευχαριστώ τον επιβλέποντα καθηγητή κ.Λουκά Πέτρου για τη σημαντική συμπαράσταση και καθοδήγηση του τους μεταπτυχιακούς φοιτητές Χρήστο Παπαχρήστου και Χρήστο Δίου για τη βοήθεια τους πάνω σε προγραμματιστικά ζητήματα και στην τεχνική υποστήριξη του cluster και την ανεξάντλητη πηγή γνώσης που λέγεται internet
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.