Έμβλημα Πολυτεχνείου Κρήτης
Το Πολυτεχνείο Κρήτης στο Facebook  Το Πολυτεχνείο Κρήτης στο Instagram  Το Πολυτεχνείο Κρήτης στο Twitter  Το Πολυτεχνείο Κρήτης στο YouTube   Το Πολυτεχνείο Κρήτης στο Linkedin

Νέα / Ανακοινώσεις / Συζητήσεις

Παρουσίαση Διπλωματικής Εργασίας κ. Νικολάου Μαλαμά - Σχολή ΗΜΜΥ
Αναγνώσεις: 111 / Συνδρομές: 0

  • Συντάχθηκε 17-07-2026 09:57 Πληροφορίες σύνταξης

    Ενημερώθηκε: -

    Τόπος:
    Σύνδεσμος τηλεδιάσκεψης
    Έναρξη: 20/07/2026 14:00
    Λήξη: 20/07/2026 15:00

    ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
    Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
    Πρόγραμμα Προπτυχιακών Σπουδών

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

    Νικολάου Μαλαμά

    με θέμα

    Ανάλυση και Βελτιστοποίηση της Παράλληλης Υπολογιστικής Απόδοσης Κώδικα Lattice-Boltzmann για Διφασική Ροή

    Profiling and Parallel Performance Optimization of a Lattice-Boltzmann 2-phase Flow Simulator

    Εξεταστική Επιτροπή

    Καθηγητής Αθανάσιος Λιάβας (επιβλέπων)
    Αναπληρωτής Καθηγητής Βασίλειος Σαμολαδάς
    Επίκουρος Καθηγητής Ανδρέας Γιώτης (ΕΜΠ, Σχολή Αγρονόμων και Τοπογράφων Μηχανικών – Μηχανικών Γεωπληροφορικής)

    Περίληψη

    Στην παρούσα διπλωματική εργασία μελετάται η υπολογιστική βελτιστοποίηση της παράλληλης έκδοσης ενός προσομοιωτή ροής που βασίζεται στη μέθοδο Lattice Boltzmann και χρησιμοποιείται κυρίως σε υπολογισμούς μεγάλης κλίμακας στη μελέτη της διφασικής ροής σε πορώδη μέσα. Με τη χρήση εργαλείων ανάλυσης επιδόσεων (profiling), εξετάζεται λεπτομερώς ο υπολογιστικός φόρτος που αντιστοιχεί τόσο στους βασικούς αριθμητικούς υπολογισμούς όσο και στις επικοινωνίες μεταξύ των διεργασιών, οι οποίες υλοποιούνται μέσω του προτύπου MPI, με στόχο τον εντοπισμό των σημείων συμφόρησης που επιβαρύνουν σημαντικά τον συνολικό χρόνο εκτέλεσης.
    Με βάση τα αποτελέσματα της ανάλυσης, εφαρμόζεται μια σειρά βελτιώσεων στις διαδικασίες επικοινωνίας, οι οποίες αφορούν κυρίως τη συχνότητα των ανταλλαγών, το μέγεθος των μεταδιδόμενων μηνυμάτων και τον τύπο των χρησιμοποιούμενων λειτουργιών επικοινωνίας. Επιπροσθέτως, υιοθετούνται αποδοτικότερες τεχνικές προγραμματισμού για την προσπέλαση πολυδιάστατων μεταβλητών μέσα σε εμφωλευμένους βρόχους do, με στόχο τη βελτίωση της τοπικότητας των δεδομένων στη μνήμη cache και τον περιορισμό των δαπανηρών προσπελάσεων σε επίπεδα της ιεραρχίας μνήμης με μεγαλύτερο χρόνο απόκρισης.
    Επιπλέον, πραγματοποιούνται εκτεταμένες βελτιώσεις στην υλοποίηση υπολογισμών κινητής υποδιαστολής, όπως εκθετικές πράξεις και πράξεις λογαρίθμων, ώστε να αξιοποιούνται αποτελεσματικότερα οι δυνατότητες σύγχρονων επεξεργαστών, όπως οι αρχιτεκτονικές AMD EPYC.
    Τέλος, προτείνεται ένα υβριδικό σχήμα παραλληλοποίησης MPI+OpenMP, το οποίο αποδεικνύεται ιδιαίτερα αποδοτικό, καθώς συνδυάζει τις βελτιστοποιημένες διακομβικές επικοινωνίες που παρέχει το MPI με την αποτελεσματική αξιοποίηση της κοινόχρηστης μνήμης και της ιεραρχίας της μνήμης cache μέσω του OpenMP εντός του ίδιου υπολογιστικού κόμβου. Η τελική υλοποίηση του κώδικα είναι σημαντικά αποδοτικότερη, επιτυγχάνοντας αξιοσημείωτη βελτίωση των επιδόσεων και εξαιρετική παράλληλη κλιμάκωση, η οποία σε ορισμένες περιπτώσεις εμφανίζεται υπεργραμμική καθώς αυξάνεται ο αριθμός των χρησιμοποιούμενων πυρήνων επεξεργασίας.

    Abstract 

    This diploma thesis investigates the computational optimization of the parallel version of a flow simulator based on the Lattice Boltzmann method, primarily employed in large-scale simulations of two-phase flow through porous media. Using performance-profiling tools, the computational workload associated with both the main numerical calculations and the communication between parallel processes, implemented using the MPI standard, is analysed in detail. The objective is to identify the computational and communication bottlenecks that contribute significantly to the overall execution time.
    Based on the profiling results, a series of improvements is introduced into the communication procedures, primarily addressing the frequency of data exchanges, the size of the transmitted messages, and the type of communication operations employed. Additionally, more efficient programming techniques are adopted for accessing multidimensional variables within nested do-loops, with the aim of improving data locality in cache memory and reducing costly accesses to higher-latency levels of the memory hierarchy.
    Furthermore, extensive optimizations are applied to the implementation of floating-point calculations, including exponential and logarithmic operations, to make more effective use of the capabilities of modern processors, such as AMD EPYC architectures.
    Finally, a hybrid MPI+OpenMP parallelization scheme is proposed and shown to be particularly efficient. This approach combines the optimized inter-node communication provided by MPI with the effective utilization of shared memory and the cache hierarchy enabled by OpenMP within each individual computing node. The resulting code implementation is substantially more efficient, achieving significant performance improvements and excellent parallel scalability, with superlinear scaling observed in certain cases as the number of processing cores increases.



© Πολυτεχνείο Κρήτης 2012