Το παρόν repository περιέχει την υλοποίηση και αξιολόγηση ενός αλγορίθμου πάνω σε DAG (Directed Acyclic Graph), με στόχο τη μελέτη διαφορετικών στρατηγικών παραλληλοποίησης και τη σύγκρισή τους ως προς την απόδοση.
Το project υλοποιήθηκε στο πλαίσιο του μαθήματος Παράλληλη Επεξεργασία.
Ο βασικός στόχος είναι:
- Η εκτέλεση τοπολογικής ταξινόμησης σε DAG
- Η παραλληλοποίηση του αλγορίθμου με OpenMP
- Η σύγκριση διαφορετικών scheduling στρατηγικών:
- Static
- Dynamic
- Task-based
- Η αξιολόγηση της απόδοσης με και χωρίς compiler optimizations (
-O0,-O3) - Η μελέτη της κλιμάκωσης ως προς τον αριθμό των threads
-
static.c
Υλοποίηση μεschedule(static)OpenMP. -
dynamic.c
Υλοποίηση μεschedule(dynamic)OpenMP. -
task.c
Υλοποίηση με OpenMP tasks. -
makermatrix.c/dag.txt
Δημιουργία τυχαίου DAG (ίδιο format – χρησιμοποιούνται εναλλακτικά).
Χωρίς βελτιστοποίηση:
gcc -O0 -fopenmp static.c -o static
gcc -O0 -fopenmp dynamic.c -o dynamic
gcc -O0 -fopenmp task.c -o taskΜε βελτιστοποίηση:
gcc -O3 -fopenmp static.c -o static
gcc -O3 -fopenmp dynamic.c -o dynamic
gcc -O3 -fopenmp task.c -o taskΟ αριθμός των threads ορίζεται μέσω μεταβλητής περιβάλλοντος:
OMP_NUM_THREADS=1 ./static
OMP_NUM_THREADS=2 ./static
OMP_NUM_THREADS=4 ./static(αντίστοιχα για dynamic και task)
Πραγματοποιήθηκαν μετρήσεις για:
- Διαφορετικά μεγέθη DAG (κόμβοι / ακμές)
- 1, 2 και 4 threads
-O0και-O3
- Σημαντική βελτίωση απόδοσης με
-O3 - Μικρό overhead για μικρά DAG
- Καλύτερη συμπεριφορά του dynamic scheduling σε μη ισορροπημένα workloads
- Περιορισμένη κλιμάκωση λόγω εξαρτήσεων του DAG
- Η παραλληλοποίηση αλγορίθμων DAG περιορίζεται από τις εγγενείς εξαρτήσεις
- Το OpenMP scheduling παίζει καθοριστικό ρόλο στην απόδοση
- Οι compiler optimizations είναι συχνά σημαντικότερες από την αύξηση των threads
- Τα task-based μοντέλα προσφέρουν ευελιξία, αλλά όχι πάντα καλύτερη απόδοση
Η αρχική εκφώνηση δεν ήταν διαθέσιμες.
Το project βασίζεται αποκλειστικά στις λύσεις, τον κώδικα και τα πειραματικά αποτελέσματα.
- Μπουλαφέντης Χρήστος
- Παναγιώτης Συριόπουλος
- Ντάκος Γιώργος
- Παπαβασιλείου Μάριος
Το αποθετήριο περιέχει προσωπική ακαδημαϊκή εργασία. Διατίθεται αποκλειστικά για εκπαιδευτική χρήση και αναφορά.
Παρακαλείται να μη χρησιμοποιηθεί ως έτοιμη λύση.
All Rights Reserved.