Μετάβαση στο περιεχόμενο

Παράλληλη Επεξεργασία

Παράλληλος προγραμματισμός σε επίπεδο μηχανής και λογισμικού: νήματα POSIX (PThreads), OpenMP (παράλληλες περιοχές, καταμερισμός έργου, tasks, SIMD), κατανεμημένος προγραμματισμός με MPI (point-to-point, συλλογικές επικοινωνίες, I/O) και προγραμματισμός GPU με CUDA. Είναι ένα πρακτικό, «χέρια-στον-κώδικα» μάθημα: ζητά κυρίως κώδικα — διόρθωση και παραλληλοποίηση υπάρχοντος προγράμματος σε C — με ένα μέρος θεωρίας πολλαπλής επιλογής. Είναι επιλογής εαρινού εξαμήνου (τομέας ΛΥ), ιστορικά με προαιρετικό project και τελική γραπτή εξέταση.

Θέματα Τι λένε οι φοιτητές ⬇ Κατέβασε για AI

Με μια ματιά

Κωδικός CEID_25EE607
Εξάμηνο / τύπος Εαρινό, επιλογής Κατάλογος
ECTS 5 Κατάλογος
Ώρες / εβδομάδα 2 θεωρία + 1 φροντιστήριο + 2 εργαστήριο Κατάλογος
Τομέας ΛΥ Κατάλογος
Διδάσκοντες 2025-26 Π. Χατζηδούκας, Ε. Δερματάς Κατάλογος
Διδασκαλία Κατά τα έτη 2024-25 το μάθημα δεν διδασκόταν και εξεταζόταν με το παλιό υλικό· το εαρινό 2025-26 υπάρχει νέο υλικό και εργασία στο eClass Discord 2025-02 (διαθέσιμο στο πλήρες πακέτο), eClass (διαθέσιμο στο πλήρες πακέτο)
Εργασία (project) Προαιρετική· και χωρίς αυτήν βαθμολογείσαι από το γραπτό Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο)

Τι θα μάθεις

Πρόκειται για εισαγωγή στην παράλληλη υπολογιστική, με έμφαση στα προγραμματιστικά μοντέλα. Από τις διαφάνειες και τα εγχειρίδια του eClass προκύπτουν οι εξής ενότητες:

  • Εισαγωγή: επεξεργαστές πολλών πυρήνων, clusters, μέτρα επίδοσης (Rpeak), αρχιτεκτονικές κοινής και κατανεμημένης μνήμης, C++ threads eClass (διαθέσιμο στο πλήρες πακέτο).
  • Νήματα POSIX (PThreads): δημιουργία/συγχρονισμός, mutex, recursive locks, thread attributes, once-only αρχικοποίηση eClass (διαθέσιμο στο πλήρες πακέτο).
  • OpenMP: παράλληλες περιοχές, thread management, binding σε πυρήνες, NUMA, καταμερισμός έργου, tasks, nested loops, collapse eClass (διαθέσιμο στο πλήρες πακέτο), eClass (διαθέσιμο στο πλήρες πακέτο).
  • MPI: μοντέλο μηνυμάτων, rank/size, point-to-point, buffering, non-blocking (Isend/Irecv/Wait/Test), συλλογικές επικοινωνίες (Bcast, Scatter/Gather, Reduce, Allreduce) και MPI I/O eClass (διαθέσιμο στο πλήρες πακέτο), eClass (διαθέσιμο στο πλήρες πακέτο), eClass (διαθέσιμο στο πλήρες πακέτο).
  • CUDA/GPU: GPU vs CPU, blocks και threads, μεταφορά δεδομένων, shared memory, reductions, streams eClass (διαθέσιμο στο πλήρες πακέτο).
  • SIMD και διανυσματικές εντολές: SSE/AVX, intrinsics, cache, αυτόματη διανυσματοποίηση, εξαρτήσεις eClass (διαθέσιμο στο πλήρες πακέτο).

Πώς βαθμολογείται

  • Παλαιότερα το project ήταν προαιρετικό, με βάρος 20–30%. Κατά φοιτητές ο τελικός βαθμός υπολογιζόταν ως max(γραπτό, 0.7·γραπτό + 0.3·project) — άλλες αναφορές έλεγαν 80/20 Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο).
  • Χωρίς project παίρνεις τον πλήρη βαθμό του γραπτού (100%). Κατά φοιτητές το μάθημα περνιέται και χωρίς εργασία, αρκεί να γράψεις 5 ή παραπάνω στην τελική Discord 2023-09 (διαθέσιμο στο πλήρες πακέτο), Discord 2024-06 (διαθέσιμο στο πλήρες πακέτο).
  • Την περίοδο 2024-25, κατά φοιτητή, το μάθημα δεν διδασκόταν και δεν υπήρχε project — μόνο τελική εξέταση Discord 2025-04 (διαθέσιμο στο πλήρες πακέτο).
  • Το εαρινό 2025-26 υπάρχει ξανά εργασία, αλλά παραμένει προαιρετική ακόμη και για φοιτητές του παλιού προγράμματος σπουδών Discord 2026-03 (διαθέσιμο στο πλήρες πακέτο). Για το τμήμα CUDA δημιουργήθηκαν λογαριασμοί χρήστη Discord 2026-05 (διαθέσιμο στο πλήρες πακέτο).
  • Η εξέταση του project (2026) ρωτά για την υλοποίηση και όχι για κώδικα, γίνεται από δύο μεταπτυχιακούς βοηθούς και χαρακτηρίστηκε «χαλαρή» Discord 2026-06 (διαθέσιμο στο πλήρες πακέτο).
  • Οι βαθμοί ανακοινώνονται στο progress/eclass· ενδεικτικά Ιούνιος 2025 και Ιανουάριος και Ιούλιος 2026 Discord 2025-06 (διαθέσιμο στο πλήρες πακέτο), Discord 2026-02 (διαθέσιμο στο πλήρες πακέτο), Discord 2026-07 (διαθέσιμο στο πλήρες πακέτο).
  • Κατά φοιτητή, η επιτυχία στην εξέταση Ιουλίου 2024 ήταν 47.5% (ανεπίσημο, μία αναφορά) Discord 2024-07 (διαθέσιμο στο πλήρες πακέτο).

Εργασίες & εργαστήρια

Ο κατάλογος προβλέπει 2 ώρες εργαστηρίου την εβδομάδα Κατάλογος. Η εργασία του εαρινού 2025-26 περιγράφεται στο ParallelProcessing_Project_2026.pdf (διαθέσιμο στο πλήρες πακέτο): επεξεργασία δεδομένων/υπολογισμός μέσου όρου, block size και κατανομή δεδομένων στις διεργασίες, με γραπτή αναφορά eClass (διαθέσιμο στο πλήρες πακέτο).

  • Η εργασία είναι προαιρετική, ακόμη και για φοιτητές που είχαν δηλώσει το μάθημα ως κορμού Discord 2026-03 (διαθέσιμο στο πλήρες πακέτο).
  • Παρουσιάστηκε κατά τη διάρκεια του εξαμήνου· φοιτητές ρωτούσαν μέχρι πότε παραδίδεται Discord 2026-06 (διαθέσιμο στο πλήρες πακέτο).
  • Στο Discord έχουν μοιραστεί παλαιότερες εκφωνήσεις project (parpro_21-22, parpro_22-23) ως υλικό εξάσκησης Discord 2025-03 (διαθέσιμο στο πλήρες πακέτο).
  • Δεν βρέθηκαν πληροφορίες για βαθμολόγηση του εργαστηρίου ή ποσοστά του project.

Εξετάσεις

Συνοπτικά, με τα δεδομένα του Εξετάσεις: 24 συνεδρίες από το 2020 και μετά. Η μορφή είναι συνήθως μικτή — ερωτήσεις πολλαπλής επιλογής (συχνά με αιτιολόγηση) και θέματα κώδικα (διόρθωση και παραλληλοποίηση προγράμματος). Αναφέρονται και αποκλειστικά πολλαπλής επιλογής συνεδρίες (ηλεκτρονικές εξετάσεις).

Τα επαναλαμβανόμενα θέματα είναι:

  • OpenMP: τιμές μεταβλητών μετά από παράλληλη περιοχή, shared/private/firstprivate, reduction, schedule, critical/atomic, sections, single, collapse, nested περιοχές Εξετάσεις 2024-06, Εξετάσεις 2025-06.
  • PThreads/mutex: δοσμένος κώδικας με λάθος συγχρονισμό, που καλείσαι να εντοπίσεις και να διορθώσεις Εξετάσεις 2024-06.
  • MPI: συλλογικές επικοινωνίες, reduce/allreduce, scatter/gather, point-to-point Εξετάσεις 2024-07.
  • CUDA και SIMD/AVX: εμφανίζονται στα ενδεικτικά θέματα Εξετάσεις 2025-26.

Ανακλήσεις φοιτητών: τον Ιούνιο 2022 τα θέματα ήταν κυρίως OpenMP και MPI, ενώ τα pthreads δεν είχαν μεγάλη βαρύτητα Εξετάσεις. Τον Ιούνιο 2023 αναφέρεται αναλογία κώδικα 8 μονάδες και θεωρίας 2 μονάδες Εξετάσεις. Τον Ιούνιο 2025 φοιτητές ρωτούσαν αν χρειάζεται αιτιολόγηση στα πολλαπλής Εξετάσεις. Λύσεις υπάρχουν (community) μόνο για 4 συνεδρίες — 2021-06 και 2024-07 (μικτή), 2024-09 (πολλαπλής επιλογής) και 2025-01 (μικτή), όλες με status community Εξετάσεις. Από τις υπόλοιπες συνεδρίες, η 2023-07 είχε διάρκεια 150 λεπτά Εξετάσεις 2023-07 και οι 2025-01 και 2025-06 από 120 Εξετάσεις 2025-01, Εξετάσεις 2025-06· στα θέματα του 2024-06 το Θέμα 1ο ήταν 3,5 μονάδες, το 2ο 3 και το 3ο 2 Εξετάσεις 2024-06.

Δυσκολίες & παγίδες

  • Τα πολλαπλής επιλογής θεωρήθηκαν τα πιο δύσκολα και με ασαφείς διατυπώσεις· φοιτητής γράφει ότι «κόπηκε» από αυτά ενώ είχε απαντήσει σωστά σε άλλα Discord 2024-07 (διαθέσιμο στο πλήρες πακέτο).
  • Δεν επιτρέπεται υλικό στην εξέταση (ούτε σημειώσεις ούτε τυπολόγιο, κατά αναφορές φοιτητών) Discord 2024-06 (διαθέσιμο στο πλήρες πακέτο), Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο).
  • Τα παλιά θέματα/το CA έχουν παρόμοια δομή στα OpenMP, αλλά η δομή των θεμάτων έχει αλλάξει· κατά φοιτητή «δεν αξίζει τόσο» ως αποκλειστική πηγή Discord 2024-06 (διαθέσιμο στο πλήρες πακέτο).
  • Σε θέματα κώδικα ζητείται πραγματική παραλληλοποίηση· μια σειριακή λύση (π.χ. parallel for με ένα νήμα) κόβεται Discord 2024-06 (διαθέσιμο στο πλήρες πακέτο).
  • Κατά φοιτητές/ακούσματα, ο διδάσκων επαναλαμβάνει την ίδια ύλη μεταξύ εξεταστικών και «δεν βάζει δύσκολα», «μέχρι να το περάσουν όλοι»· πρόκειται για ανεπίσημες εκτιμήσεις, όχι εγγύηση Discord 2025-09 (διαθέσιμο στο πλήρες πακέτο), Discord 2025-02 (διαθέσιμο στο πλήρες πακέτο).
  • Κατά φοιτητή, το 2023-24 το υλικό του eClass ήταν κυρίως κώδικας: σημειώνει ότι «στο eclass δεν έχει πουθενά θεωρία έχει μόνο κώδικα» και χρειάστηκε εξωτερικές σημειώσεις Discord 2024-05 (διαθέσιμο στο πλήρες πακέτο). Αντίθετα, οι διαφάνειες 2025-26 περιέχουν και θεωρία (βλ. «Υλικό & τρόπος μελέτης»).

Υλικό & τρόπος μελέτης

  • Διαφάνειες 2025-26 (η βασική πηγή): Εισαγωγή (διαθέσιμο στο πλήρες πακέτο), PThreads (διαθέσιμο στο πλήρες πακέτο), OpenMP threads (διαθέσιμο στο πλήρες πακέτο), OpenMP tasks (διαθέσιμο στο πλήρες πακέτο), MPI I (διαθέσιμο στο πλήρες πακέτο), MPI II (διαθέσιμο στο πλήρες πακέτο), CUDA (διαθέσιμο στο πλήρες πακέτο), SIMD (διαθέσιμο στο πλήρες πακέτο), MPI III (διαθέσιμο στο πλήρες πακέτο) eClass (διαθέσιμο στο πλήρες πακέτο).
  • Εγχειρίδια: Eijkhout, Parallel Programming (διαθέσιμο στο πλήρες πακέτο), MPI Quick Reference (διαθέσιμο στο πλήρες πακέτο), OpenMP 3.1 reference card (διαθέσιμο στο πλήρες πακέτο).
  • Παραδείγματα κώδικα στο eClass: week03_threads2, week06_openmp3 (nested, scheduling, tasks), week08_mpi1/week09_mpi2 (MPI) και CUDA examples eClass (διαθέσιμο στο πλήρες πακέτο).
  • Παλιά θέματα/CA: CAparallhlh.pdf (διαθέσιμο στο πλήρες πακέτο), --CA_.pdf (διαθέσιμο στο πλήρες πακέτο). Οι συμβουλές των φοιτητών συγκλίνουν σε «διαφάνειες + λύσε παλιά θέματα» Discord 2024-11 (διαθέσιμο στο πλήρες πακέτο), Discord 2023-09 (διαθέσιμο στο πλήρες πακέτο).
  • Ο ίδιος ο διδάσκων (email, αναδημοσίευση 2024-06) έγραψε ότι αρκούν οι διαφάνειες, τα παραδείγματα και οι ασκήσεις, και ότι το project είναι προαιρετικό και παρόμοιο με τις ασκήσεις Discord 2024-06 (διαθέσιμο στο πλήρες πακέτο).
  • Φοιτητής πρότεινε εξωτερικές σημειώσεις OpenMP ως συμπλήρωμα, επειδή το eClass έχει κυρίως κώδικα Discord 2024-05 (διαθέσιμο στο πλήρες πακέτο).

Συχνές ερωτήσεις

  • Χρειάζεται project για να περάσω; Όχι, είναι προαιρετικό· χωρίς αυτό παίρνεις τον βαθμό του γραπτού Discord 2024-06 (διαθέσιμο στο πλήρες πακέτο), Discord 2026-03 (διαθέσιμο στο πλήρες πακέτο).
  • Πόσο μετράει το project; Ιστορικά 20–30%· ο τελικός βαθμός ήταν max(γραπτό, συνδυασμός) Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο).
  • Είναι όλη η εξέταση πολλαπλής επιλογής; Συνήθως μόνο το πρώτο θέμα· η δομή ακολουθεί τα ενδεικτικά θέματα του eClass Discord 2024-06 (διαθέσιμο στο πλήρες πακέτο).
  • Επιτρέπεται τυπολόγιο ή σημειώσεις; Όχι Discord 2024-06 (διαθέσιμο στο πλήρες πακέτο).
  • Από πού να διαβάσω; Από τις διαφάνειες και τα παραδείγματα, συμπληρωματικά από παλιά θέματα/CA Discord 2024-11 (διαθέσιμο στο πλήρες πακέτο).
  • Πότε βγαίνουν οι βαθμοί; Στο progress/eclass· κατά φοιτητές περίπου σε μια εβδομάδα έως αρκετές Discord 2026-06 (διαθέσιμο στο πλήρες πακέτο), Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο).
  • Διδάσκεται το μάθημα; Κατά τα έτη 2024-25 όχι (μόνο εξέταση με παλιό υλικό)· το εαρινό 2025-26 υπάρχει νέο μάθημα με υλικό Discord 2025-04 (διαθέσιμο στο πλήρες πακέτο), Discord 2026-02 (διαθέσιμο στο πλήρες πακέτο).

Πηγές & αξιοπιστία

  • Κατάλογος 2025-26: ECTS 5, 2 ώρες θεωρία + 1 φροντιστήριο + 2 εργαστήριο, τομέας ΛΥ, διδάσκοντες Π. Χατζηδούκας και Ε. Δερματάς. Δεν βρέθηκε επίσημο περίγραμμα (outline) για το μάθημα.
  • Discord: 3156 μηνύματα σε 13 περιόδους (2020-10 έως 2026-10). Είναι όλα ανεπίσημες γνώμες φοιτητών, εκτός από αναδημοσιεύσεις ανακοινώσεων/email του διδάσκοντα· όπου υπάρχει αμφιβολία, η πληροφορία σημειώνεται ως «ακούσματα».
  • Εξετάσεις: 24 συνεδρίες, οι περισσότερες με μερική μεταγραφή· λύσεις υπάρχουν μόνο για 4 (community) Εξετάσεις.
  • eClass: 177 αρχεία, 14 με text sidecar· το ολοκληρωμένο υλικό (διαφάνειες, εργασία, παραδείγματα) αφορά κυρίως το εαρινό 2025-26.
  • Δεν βρέθηκαν πληροφορίες για επίσημη κατανομή βαθμών ανά θέμα, επίσημες λύσεις ή βαθμολόγηση εργαστηρίου.

Αρχεία του φακέλου

Παράγεται αυτόματα από tools/render_readmes.py — αλλαγές εδώ χάνονται στην επόμενη εκτέλεση.

Φάκελος Περιεχόμενο
discord/ (διαθέσιμο στο πλήρες πακέτο) 13 περίοδοι συζητήσεων Discord · 3156 μηνύματα
Previous Exams/ 24 συνεδρίες εξετάσεων · 24 με αρχείο λύσεων · 119 πρωτότυπα αρχεία (118 εικόνες) · 118 μεταγραφές · ανακλήσεις από Discord
eclass/ (διαθέσιμο στο πλήρες πακέτο) 177 αρχεία · 14 κείμενα (sidecar)
other/ 47 αρχεία (26 εικόνες) · 9 κείμενα (sidecar) · 1 μεταγραφές