Σύντομη περιγραφή
Το μάθημα «Παράλληλη Επεξεργασία» δείχνει πώς αξιοποιείται ο παραλληλισμός για να επιταχύνονται εφαρμογές και να “κλιμακώνεται” η απόδοσή τους σε σύγχρονες αρχιτεκτονικές. Καλύπτει τις βασικές κατηγορίες παράλληλων συστημάτων (SISD/SIMD/MIMD) και περνά στον προγραμματισμό με νήματα, OpenMP και MPI, ενώ δίνει και εισαγωγή σε CUDA/GPU. Παράλληλα δουλεύονται βασικές έννοιες απόδοσης όπως Amdahl, κλιμακωσιμότητα και ιεραρχία μνήμης (roofline), ώστε να γίνεται πιο “ρεαλιστική” η αξιολόγηση ενός παράλληλου κώδικα.
Tip – Τι χρειάζεται προσοχή
- Συγχρονισμός & race conditions: να αναγνωρίζονται σωστά τα shared δεδομένα και πότε χρειάζεται προστασία/lock ή σωστό scoping σε OpenMP.
- Επικοινωνία στο MPI: να είναι καθαρό πότε συμφέρει point-to-point vs collective και πώς “κοστίζει” η επικοινωνία σε σχέση με τον υπολογισμό.
Τι κερδίζεις από αυτό το μάθημα
- Εξοικείωση με εργαλεία που χρησιμοποιούνται στην πράξη σε HPC/parallel projects (OpenMP, MPI, βασική εικόνα CUDA).
- Πιο καθαρή εικόνα για το πώς “μετριέται” η απόδοση: τι σημαίνει speedup/κλιμάκωση και γιατί ο bottleneck συχνά είναι η μνήμη/επικοινωνία, όχι μόνο ο CPU χρόνος.