Εικόνα παράδειγμα περιγράμματος μαθήματος

COMa

|
Επικοινωνήστε με την υποστήριξη

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

1. ΓΕΝΙΚΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ

Πανεπιστήμιο Πατρών

ΣΧΟΛΗ

Πολυτεχνική

ΤΜΗΜΑ

Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής

ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ

Προπτυχιακό

ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ

CEID_NE4128

ΕΞΑΜΗΝΟ

Χειμερινό

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ

Παράλληλοι αλγόριθμοι

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

Διαλέξεις

2

3

Φροντιστήριο

2

Εργαστήριο

2

ΤΥΠΟΣ ΜΑΘΗΜΑΤΟΣ

Επιστημονικής περιοχής

ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ ΜΑΘΗΜΑΤΑ

-

ΓΛΩΣΣΑ ΔΙΔΑΣΚΑΛΙΑΣ ΚΑΙ ΕΞΕΤΑΣΕΩΝ

ελληνικά

ΤΟ ΜΑΘΗΜΑ ΠΡΟΣΦΕΡΕΤΑΙ ΣΕ ΦΟΙΤΗΤΕΣ ERASMUS

Όχι

ΗΛΕΚΤΡΟΝΙΚΗ ΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ (URL)goo.gl/juNBnt

2. ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Μαθησιακά αποτελέσματα

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

Ο παράλληλος υπολογισμός προϋποθέτει την ύπαρξη πολλών επεξεργαστών (ή υπολογιστών) που δουλεύουν μαζί για ένα κοινό πρόβλημα. Κάθε επεξεργαστής δουλεύει για μέρος του προβλήματος που του έχει ανατεθεί. Οι επεξεργαστές μπορούν να ανταλλάσσουν πληροφορία. Στον ακολουθιακό υπολογισμό (όταν δηλ., υπάρχει ένας επεξεργαστής), το λογισμικό και το υλικό στο οποίο εκτελείται ακολουθεί το μοντέλο RAM που βασίζεται στο μοντέλο αποθηκευμένου προγράμματος (stored program model) του Von Neumann. 

Πολλές διεργασίες στη φύση και την καθημερινότητα ενέχουν παραλληλισμό, π.χ., καιρικά φαινόμενα, κίνηση τεκτονικών πλακών, σχηματισμός γαλαξιών, οδική κυκλοφορία, συναρμολόγηση αυτοκινήτων, κατασκευή αεροσκαφών, κτλ. Παράλληλος υπολογισμός χρησιμοποιείται σε πολλές περιοχές έρευνας και ανάπτυξης (όπως Επιστήμη των Υπολογιστών, Μαθηματικά, Ηλεκτρολογία, Μηχανολογία, Φυσική, Βιοεπιστήμες, Βιοτεχνολογία, Γενετική, Χημεία, Γεωλογία, Σεισμολογία, κτλ). Ειδικά, στην Επιστήμη των Υπολογιστών, παράλληλος υπολογισμός χρησιμοποιείται για εργασίες όπως εξόρυξη πληροφορίας, αναζήτηση στον Παγκόσμιο Ιστό, επεξεργασία εικόνας, εικονική πραγματικότητα, χρηματική και οικονομική μοντελοποίηση, διαχείριση οργανισμών, δικτυακές τεχνολογίες video και πολυμέσων, συνεργατικά περιβάλλοντα εργασίας.

Ο παράλληλος υπολογισμός χρησιμοποιείται προκειμένου να ξεπερατούν οι περιορισμοί που επιβάλλονται από τον ακολουθιακό υπολογισμό και ειδικότερα για για εξοικονόμηση χρόνου και χρηματικών δαπανών, για επίλυση μεγάλων προβλημάτων, για εξασφάλιση ταυτόχρονης πρόσβασης σε πληροφορίες/υπηρεσίες καθώς και για χρήση μη τοπικών πληροφοριών (π.χ., SETI@home). Στο πλαίσιο του μαθήματος εξετάζεται η έννοια, η εφαρμογή και η αποδοτικότητα του παραλληλισμού στο σχεδιασμό και την εκτέλεση υπολογιστικών εργασιών (αλγορίθμων). Τα προβλήματα και οι αντίστοιχοι αλγόριθμοι που μελετώνται περιλαμβάνουν υπολογιστικές εργασίες που γίνονται μέσα σε ένα ολοκληρωμένο κύκλωμα (chip) ή σε ένα μικροεπεξεργαστή, όπως  π.χ., ταξινόμηση, μέτρηση, πρόσθεση, πολλαπλασιασμός, υπολογισμός προθεμάτων, συνέλιξη, κτλ, υπολογιστικές εργασίες που γίνονται σε ένα υπολογιστικό σύστημα, όπως π.χ., ταξινόμηση, δρομολόγηση, κτλ και άλλες υπολογιστικές εργασίες σχετικές με επικοινωνία σε δίκτυα δεδομένων, κατανομή πόρων, κτλ. Εξετάζονται διάφορες μορφές δικτύων σταθερών συνδέσεων όπως γραμμές, πλέγματα, δέντρα, υπερκύβους, πεταλούδες. Οι προτεινόμενοι παράλληλοι αλγόριθμοι αναλύονται ως προς την επιτάχυνση που επιτυγχάνουν σε σύγκριση με τους αντίστοιχους ακολουθιακούς, την αποδοτικότητα και το έργο τους, δηλ., το πόσο ομοιόμορφα χρησιμοποιούνται οι διαθέσιμοι πόροι. Χρησιμοποιείται ασυμπτωτική ανάλυση για την εκτίμηση της απόδοσης μέσω υπολογισμό άνω και κάτω φραγμάτων. Η ανάλυση είναι κυρίως θεωρητική αλλά μπορεί να στηριχθεί και σε πειραματισμό.

Τα άτομα που συμμετέχουν συστηματικά στις δραστηριότητες του μαθήματος Θεωρία Υπολογισμού και ολοκληρώνουν επιτυχώς την παρακολούθησή του:

  • διαθέτουν αποδεδειγμένη γνώση και κατανόηση για βασικές αρχές και μεθόδους σχεδιασμού και ανάλυσης παράλληλων αλγορίθμων και, επομένως, είναι σε θέση να παρακολουθούν τις σύγχρονες εξελίξεις στην αιχμή του γνωστικού τους πεδίου

  • είναι σε θέση να χρησιμοποιούν τη γνώση και την κατανόηση που απέκτησαν με τρόπο που δείχνει επαγγελματική προσέγγιση της εργασίας ή του επαγγέλματός τους και διαθέτουν ικανότητες που αποδεικνύονται με το σχεδιασμό και την ανάλυση παράλληλων αλγορίθμων για μελέτη και επίλυση προβλημάτων στο πλαίσιο του γνωστικού τους πεδίου

  • διαθέτουν την ικανότητα να συγκεντρώνουν και να ερμηνεύουν συναφή στοιχεία (κατά κανόνα εντός του γνωστικού τους πεδίου) για να διαμορφώνουν κρίσεις που περιλαμβάνουν προβληματισμό σε συναφή κοινωνικά, επιστημονικά ή ηθικά ζητήματα

  • είναι σε θέση να κοινοποιούν πληροφορίες, ιδέες, προβλήματα και λύσεις τόσο σε ειδικευμένο όσο και σε μη-εξειδικευμένο κοινό

  • έχουν αναπτύξει εκείνες τις δεξιότητες απόκτησης γνώσεων, που τους χρειάζονται για να συνεχίσουν σε περαιτέρω σπουδές με μεγάλο βαθμό αυτονομίας

  • αποκτούν εξοικείωση με τον "υπολογιστικό τρόπο σκέψης" (computational thinking)

Ειδικότερα, τα άτομα που συμμετέχουν συστηματικά στις δραστηριότητες του μαθήματος Εισαγωγή στους Αλγόριθμους και ολοκληρώνουν επιτυχώς την παρακολούθησή του:

  1. γνωρίζουν βασικές αρχές και μεθόδους σχεδιασμού και ανάλυσης παράλληλων αλγορίθμων

  2. κατανοούν πώς μπορούν να χρησιμοποιούν παράλληλο υπολογισμό και πώς να εκτιμούν την ορθότητα και την απόδοση σχετικών αλγορίθμων 

  3. εφαρμόζουν αρχές και μεθόδους σχεδιασμού και ανάλυσης παράλληλων αλγορίθμων  για την επίλυση σχετικών προβλημάτων

  4. αναλύουν προβλήματα/ερωτήματα με στόχο την κατανόηση της δομής τους και των συστατικών τους μερών καθώς και τη δυνατότητα επίλυσής τους με χρήση παράλληλων αλγορίθμων

  5. συνθέτουν λύσεις για τα προβλήματα αυτά με βάση γνωστές μεθόδους σχεδιασμού και ανάλυσης παράλληλων αλγορίθμων

  6. αξιολογούν την ορθότητητα και την απόδοση των προτεινόμενων παράλληλων αλγορίθμων καθώς και τη βελτίωση που επιτυγχάνουν σε σύγκριση με ακολουθιακές προσεγγίσεις

αποκτούν εξοικείωση με τον "υπολογιστικό τρόπο σκέψης" (computational thinking)

Γενικές ικανότητες

Λαμβάνοντας υπόψη τις γενικές ικανότητες που πρέπει να έχει αποκτήσει ο πτυχιούχος (όπως αυτές αναγράφονται στο Παράρτημα Διπλώματος και παρατίθενται ακολούθως) σε ποια / ποιες από αυτές αποσκοπεί το μάθημα;

-

3. ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Ο παράλληλος υπολογισμός προϋποθέτει την ύπαρξη πολλών επεξεργαστών (ή υπολογιστών) που δουλεύουν μαζί για ένα κοινό πρόβλημα. Κάθε επεξεργαστής δουλεύει για μέρος του προβλήματος που του έχει ανατεθεί. Οι επεξεργαστές μπορούν να ανταλλάσσουν πληροφορία. Στον ακολουθιακό υπολογισμό (όταν δηλ., υπάρχει ένας επεξεργαστής), το λογισμικό και το υλικό στο οποίο εκτελείται ακολουθεί το μοντέλο RAM που βασίζεται στο μοντέλο αποθηκευμένου προγράμματος (stored program model) του Von Neumann. 

Πολλές διεργασίες στη φύση και την καθημερινότητα ενέχουν παραλληλισμό, π.χ., καιρικά φαινόμενα, κίνηση τεκτονικών πλακών, σχηματισμός γαλαξιών, οδική κυκλοφορία, συναρμολόγηση αυτοκινήτων, κατασκευή αεροσκαφών, κτλ. Παράλληλος υπολογισμός χρησιμοποιείται σε πολλές περιοχές έρευνας και ανάπτυξης (όπως Επιστήμη των Υπολογιστών, Μαθηματικά, Ηλεκτρολογία, Μηχανολογία, Φυσική, Βιοεπιστήμες, Βιοτεχνολογία, Γενετική, Χημεία, Γεωλογία, Σεισμολογία, κτλ).

Ειδικά, στην Επιστήμη των Υπολογιστών, παράλληλος υπολογισμός χρησιμοποιείται για εργασίες όπως εξόρυξη πληροφορίας, αναζήτηση στον Παγκόσμιο Ιστό, επεξεργασία εικόνας, εικονική πραγματικότητα, χρηματική και οικονομική μοντελοποίηση, διαχείριση οργανισμών, δικτυακές τεχνολογίες video και πολυμέσων, συνεργατικά περιβάλλοντα εργασίας. Ο παράλληλος υπολογισμός χρησιμοποιείται προκειμένου να ξεπερατούν οι περιορισμοί που επιβάλλονται από τον ακολουθιακό υπολογισμό και ειδικότερα για για εξοικονόμηση χρόνου και χρηματικών δαπανών, για επίλυση μεγάλων προβλημάτων, για εξασφάλιση ταυτόχρονης πρόσβασης σε πληροφορίες/υπηρεσίες καθώς και για χρήση μη τοπικών πληροφοριών (π.χ., SETI@home).

Στο πλαίσιο του μαθήματος εξετάζεται η έννοια, η εφαρμογή και η αποδοτικότητα του παραλληλισμού στο σχεδιασμό και την εκτέλεση υπολογιστικών εργασιών (αλγορίθμων). Τα προβλήματα και οι αντίστοιχοι αλγόριθμοι που μελετώνται περιλαμβάνουν υπολογιστικές εργασίες που γίνονται μέσα σε ένα ολοκληρωμένο κύκλωμα (chip) ή σε ένα μικροεπεξεργαστή, όπως  π.χ., ταξινόμηση, μέτρηση, πρόσθεση, πολλαπλασιασμός, υπολογισμός προθεμάτων, συνέλιξη, κτλ, υπολογιστικές εργασίες που γίνονται σε ένα υπολογιστικό σύστημα, όπως π.χ., ταξινόμηση, δρομολόγηση, κτλ και άλλες υπολογιστικές εργασίες σχετικές με επικοινωνία σε δίκτυα δεδομένων, κατανομή πόρων, κτλ. Εξετάζονται διάφορες μορφές δικτύων σταθερών συνδέσεων όπως γραμμές, πλέγματα, δέντρα, υπερκύβους, πεταλούδες. Οι προτεινόμενοι παράλληλοι αλγόριθμοι αναλύονται ως προς την επιτάχυνση που επιτυγχάνουν σε σύγκριση με τους αντίστοιχους ακολουθιακούς, την αποδοτικότητα και το έργο τους, δηλ., το πόσο ομοιόμορφα χρησιμοποιούνται οι διαθέσιμοι πόροι. Χρησιμοποιείται ασυμπτωτική ανάλυση για την εκτίμηση της απόδοσης μέσω υπολογισμό άνω και κάτω φραγμάτων. Η ανάλυση είναι κυρίως θεωρητική αλλά μπορεί να στηριχθεί και σε πειραματισμό.

 

Η εξέλιξη του μαθήματος πραγματοποιείται με βάση το εξής πρόγραμμα ενοτήτων διαλέξεων, φροντιστηρίων και εργαστηρίων:

Ιδιότητες του μοντέλου δικτύου με σταθερές συνδέσεις

  • Στοιχειώδης ταξινόμηση και μέτρηση

Ακέραια αριθμητική

  • Πρόσθεση με πρόβλεψη κρατουμένου

  • Υπολογισμός προθεμάτων

  • Πρόσθεση με αποθήκευση και μεταφορά κρατουμένου

  • Πολλαπλασιασμός και Συνέλιξη

Ταξινόμηση

  • Ταξινόμηση με εναλλαγή άρτιων-περιττών θέσεων σε γραμμικό πλέγμα

  • Απλός αλγόριθμος ταξινόμησης σε διδιάστατο πλέγμα

  • Βελτιωμένος αλγόριθμος ταξινόμησης σε διδιάστατο πλέγμα

  • Αυστηρό κάτω φράγμα

Δρομολόγηση πακέτων

  • Άπληστοι αλγόριθμοι

  • Ανάλυση Άπληστων αλγορίθμων στη μέση περίπτωση

  • Δρομολόγηση N πακέτων σε τυχαίους προορισμούς

  • Πιθανοτικοί αλγόριθμοι δρομολόγησης

  • Ντετερμινιστικοί αλγόριθμοι με μικρές ουρές

  • Off-line δρομολόγηση

  • Άλλα μοντέλα και αλγόριθμοι δρομολόγησης

4. ΔΙΔΑΚΤΙΚΕΣ ΚΑΙ ΜΑΘΗΣΙΑΚΕΣ ΜΕΘΟΔΟΙ - ΑΞΙΟΛΟΓΗΣΗ

ΤΡΟΠΟΣ ΠΑΡΑΔΟΣΗΣ

-

ΧΡΗΣΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ

-

ΟΡΓΑΝΩΣΗ ΔΙΔΑΣΚΑΛΙΑΣ

Περιγράφονται αναλυτικά ο τρόπος και μέθοδοι διδασκαλίας. Αναγράφονται οι ώρες μελέτης του φοιτητή για κάθε μαθησιακή δραστηριότητα καθώς και οι ώρες μη καθοδηγούμενης μελέτης ώστε ο συνολικός φόρτος εργασίας σε επίπεδο εξαμήνου να αντιστοιχεί στα standards του ECTS.

ΔραστηριότηταΦόρτος εργασίας εξαμήνου
Διαλέξεις26
Φροντιστήριο26
Εργαστήριο 26
Αυτοτελής μελέτη 12
Σύνολο μαθήματος90
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ

Περιγραφή της διαδικασίας αξιολόγησης


Γλώσσα Αξιολόγησης, Μέθοδοι αξιολόγησης, Διαμορφωτική ή Συμπερασματική, Δοκιμασία Πολλαπλής Επιλογής, Ερωτήσεις Σύντομης Απάντησης, Ερωτήσεις Ανάπτυξης Δοκιμίων, Επίλυση Προβλημάτων, Γραπτή Εργασία, Έκθεση / Αναφορά, Προφορική Εξέταση, Δημόσια Παρουσίαση, Εργαστηριακή Εργασία, Κλινική Εξέταση Ασθενούς, Καλλιτεχνική Ερμηνεία, Άλλη / Άλλες


Αναφέρονται ρητά προσδιορισμένα κριτήρια αξιολόγησης και εάν και πού είναι προσβάσιμα από τους φοιτητές.

Γραπτή εξέταση κατά την εξεταστική περίοδο Φεβρουαρίου ή Ιουνίου (για άτομα επί διπλώματι) ή την αντίστοιχη Σεπτεμβρίου

Προαιρετικά (για προσαύξηση της συνολικής βαθμολογίας κατά το πολύ 1 μονάδα):

  • υλοποίηση προγραμματιστικής άσκησης σε θέματα σχετικά με τη διδαχθείσα ύλη

  • μελέτη και παρουσίαση δημοσιευμένης εργασίας από τα πρακτικά του διεθνούς συνεδρίου SPAA: ACM Symposium on Parallelism in Algorithms and Architectures

5. ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

- Προτεινόμενη βιβλιογραφία:

Introduction to Parallel Algorithms and Architectures, F. T. Leighton (διαθέσιμο online μέσω της Bιβλιοθήκης του Πανεπιστημίου Πατρών στα url https://find.library.upatras.gr/Record/88059 και https://ebookcentral.proquest.com/lib/upatras/detail.action?docID=2050837)


- Συναφή ακαδημαϊκά περιοδικά:

Theoretical Computer Science, Elsevier

Theory of Computing Systems, Springer