Παραλληλοποίηση αλγορίθμων επίλυσης γενικευμένων πεδίων ροής
Creators: name: Σωτηρόπουλος, Αναστάσιος Δ.
Publisher: name: Aristotle University of Thessaloniki
Year: 2009
Subjects: Παράλληλη επεξεργασία
Μηχανική ρευστών
Parallel processing
Domain decomposition

description: Στην παρούσα διδακτορική διατριβή παρουσιάζεται μια προσπάθεια επιτάχυνσης ενός ενδοεργαστηριακού (in-house) κώδικα υπολογιστικής ρευστοδυναμικής (Computational Fluid Dynamics - CFD) χρησιμοποιώντας υπολογιστικά συστήματα υψηλής απόδοσης (High Performance Computing - HPC). Το κέρδος που αναμένεται από μια τέτοια προσπάθεια είναι η δραστική μείωση του χρόνου επίλυσης καθώς και η δυνατότητα επίλυσης μεγαλύτερων προβλημάτων. Εισαγωγικά γίνεται ανασκόπηση σε προηγούμενες έρευνες που έχουν γίνει καθώς και αναφορά στις σημαντικότερες τεχνολογίες και τεχνικές παράλληλου προγραμματισμού, εργαλεία που διευκολύνουν την έρευνα του μηχανικού στον τομέα του HPC. Η κατανόηση των τεχνολογιών αυτών όπως και η κατανόηση του προβλήματος αποτελoύν τα βασικότερα βήματα για τον μελετητή καθώς η επιλογή του κατάλληλου μοντέλου προγραμματισμού πάνω στη κατάλληλη τεχνολογία εξαρτάται από τη φύση του προβλήματος. Η σωστή επιλογή λοιπόν θα οδηγήσει στη βέλτιστη αξιοποίηση των διαθέσιμων αυτών εργαλείων. Ακολουθεί η περιγραφή και λειτουργία της συστοιχίας υπολογιστών που εγκαταστάθηκε πάνω στην οποία εκπονήθηκε η διατριβή αυτή. Στα επόμενα κεφάλαια γίνεται ανάλυση του αρχικού σειριακού κώδικα και επεξηγούνται τα βήματα μετάβασής του σε παράλληλο κώδικα. Περιγράφεται η διαχείριση της μνήμης, ο τρόπος παραλληλοποίησης του προβλήματος στην περίπτωση απλής γεωμετρίας αλλά και για περιπτώσεις πολλαπλών γεωμετριών (multi-block). Η μέθοδος αποσύνθεσης πεδίου τιμών που χρησιμοποιείται εφαρμόζεται σε μια και δύο διαστάσεις. Η μονοδιάστατη αποσύνθεση γίνεται σε δύο διευθύνσεις. Κατά την αποσύνθεση του προβλήματος γίνεται προσπάθεια να εξισοροπηθεί ο φόρτος εργασίας στους επεξεργαστές ώστε να ελαχιστοποιηθεί ο νεκρός χρόνος. Η επέκταση της συστοιχίας που έγινε με επεξεργαστές διαφορετικής ταχύτητας επέβαλε την αναθεώρηση του αλγορίθμου αποσύνθεσης ώστε να διανέμει τα δεδομένα ανάλογα με την ταχύτητα του επεξεργαστή. Επίσης διερευνάται η δυνατότα αξιοποίησης της διαθέσιμης διανυσματικής μονάδας Altivec που παρέχεται από τη χρησιμοποιούμενη αρχιτεκτονική επεξεργαστή της συστοιχίας. Τέλος παρουσιάζονται αποτελέσματα του παράλληλου κώδικα που δημιουργήθηκε, αξιολογούνται οι επιδόσεις του συστήματος και του κώδικα και γίνεται επαλήθευσή των αποτελεσμάτων του συγκρινόμενα με πειραματικές μετρήσεις πάνω σε μια σειρά προβλημάτων (test-cases). Τα προβλήματα που λύθηκαν ήταν ροές μόνιμης κατάστασης καθώς και μη μόνιμες ροές, ενώ δοκιμάστηκε η αποτελεσματικότητα του κώδικα σε στρωτές και τυρβώδεις ροές με διάφορα μοντέλα τύρβης. Τα προβλήματα που επιλύθηκαν αποτελούνται τόσο από απλές γεωμετρίες όσο και από γεωμετρίες πολλαπλών πλεγμάτων
description: This thesis is an effort of accelerating an in-house CFD code, using HPC (High Performance Computing) systems. The profit that is expected is the reduction of solution time and the ability to solve larger problems. In the introduction, previous work is reported and the most important technologies and programming techniques are analyzed. Understanding these technologies lead to the optimal exploitation of the available tools. Next the serial code is described and analyzed before the analysis of the parallelization steps, the memory management and the communication involved that are described in deep afterwards. The parallel code uses the domain decomposition method and the workload is balanced over the processors depending on their computational power. The domain decomposition is applied on simple and complex geometries using one- and multi-block topologies. Investigation of the Altivec vector unit also takes place to achieve extra acceleration. Finally, the results of the parallel code are presented by solving a series of test-cases and validating the results with experimental data