Undergraduate Elective 1068: Διαφορά μεταξύ των αναθεωρήσεων
Από Περιγράμματα - Τμήμα Μαθηματικών
Νέα σελίδα με '{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}} <ul class="nav nav-pills mb-2 justify-content-end" id="pills-tab-lang" role="tablist"> <li class="nav-item"><btn id="pills-gr-tab" data-toggle="pill" class="nav-link active" role="tab" aria-controls="pills-gr" aria-selected="true">#pills-gr|Ελληνικά</btn></li> <li class="nav-item"><btn id="pills-en-tab" data-toggle="pill"...' |
Χωρίς σύνοψη επεξεργασίας |
||
| (7 ενδιάμεσες εκδόσεις από 2 χρήστες δεν εμφανίζονται) | |||
| Γραμμή 9: | Γραμμή 9: | ||
<div id="pills-gr" class="tab-pane fade show active" role="tabpanel" aria-labelledby="pills-gr-tab" style="text-align:left;"> | <div id="pills-gr" class="tab-pane fade show active" role="tabpanel" aria-labelledby="pills-gr-tab" style="text-align:left;"> | ||
=== Γενικά === | === Γενικά === | ||
| Γραμμή 30: | Γραμμή 31: | ||
|- | |- | ||
! Τίτλος Μαθήματος | ! Τίτλος Μαθήματος | ||
| | | Κατανεμημένα και Παράλληλα Συστήματα | ||
|- | |- | ||
! Αυτοτελείς Διδακτικές Δραστηριότητες | ! Αυτοτελείς Διδακτικές Δραστηριότητες | ||
| Γραμμή 50: | Γραμμή 51: | ||
| Δείτε το [https://ecourse.uoi.gr/ eCourse], την Πλατφόρμα Ασύγχρονης Εκπαίδευσης του Πανεπιστημίου Ιωαννίνων. | | Δείτε το [https://ecourse.uoi.gr/ eCourse], την Πλατφόρμα Ασύγχρονης Εκπαίδευσης του Πανεπιστημίου Ιωαννίνων. | ||
|} | |} | ||
=== Μαθησιακά Αποτελέσματα === | === Μαθησιακά Αποτελέσματα === | ||
| Γραμμή 72: | Γραμμή 72: | ||
* Αυτόνομη Εργασία | * Αυτόνομη Εργασία | ||
|} | |} | ||
=== Περιεχόμενο Μαθήματος === | === Περιεχόμενο Μαθήματος === | ||
{| class="wikitable" style="width: 100%;" | |||
| | |||
ΘΕΩΡΙΑ: | ΘΕΩΡΙΑ: | ||
* Εισαγωγικά στοιχεία. Ιστορική ανασκόπηση της παράλληλης και κατανεμημένης επεξεργασίας. | * Εισαγωγικά στοιχεία. Ιστορική ανασκόπηση της παράλληλης και κατανεμημένης επεξεργασίας. | ||
| Γραμμή 87: | Γραμμή 88: | ||
* Μοντέλα και μηχανισμοί επικοινωνίας διεργασιών. | * Μοντέλα και μηχανισμοί επικοινωνίας διεργασιών. | ||
* Διανυσματική Επεξεργασία. Συστοιχίες και υπολογιστική πλέγματος. Παραδείγματα παραλληλοποίησης εφαρμογών. Θέματα συγχρονισμού. | * Διανυσματική Επεξεργασία. Συστοιχίες και υπολογιστική πλέγματος. Παραδείγματα παραλληλοποίησης εφαρμογών. Θέματα συγχρονισμού. | ||
ΕΡΓΑΣΤΗΡΙΟ: | </br>ΕΡΓΑΣΤΗΡΙΟ: | ||
* Εισαγωγικές έννοιες προγραμματισμού με το gcc. Δείκτες, κλάσεις, δυναμικές δομές. Δημιουργία διεργασιών σε Linux, διαχωρισμός των εννοιών user-space και kernel-space, γονικές διεργασίες και σχέσεις γονέα-παιδιού, Διαχείριση διεργασιών. | * Εισαγωγικές έννοιες προγραμματισμού με το gcc. Δείκτες, κλάσεις, δυναμικές δομές. Δημιουργία διεργασιών σε Linux, διαχωρισμός των εννοιών user-space και kernel-space, γονικές διεργασίες και σχέσεις γονέα-παιδιού, Διαχείριση διεργασιών. | ||
* Containers, Templates, STL (c++ standard templates library). | * Containers, Templates, STL (c++ standard templates library). | ||
| Γραμμή 100: | Γραμμή 101: | ||
* Χρήση συλλογικών μεθόδων του MPI (Gather-Scatter-Reduce-Broadcast) και παραδείγματα. | * Χρήση συλλογικών μεθόδων του MPI (Gather-Scatter-Reduce-Broadcast) και παραδείγματα. | ||
* Βασικές δομές οργάνωσης κατανεμημένων προγραμμάτων. Παραδείγματα κατανεμημένων υπολογισμών. Σύνθετοι τύποι δεδομένων με χρήση του MPI. | * Βασικές δομές οργάνωσης κατανεμημένων προγραμμάτων. Παραδείγματα κατανεμημένων υπολογισμών. Σύνθετοι τύποι δεδομένων με χρήση του MPI. | ||
* Δημιουργία σύνθετων δομών δεδομένων με το MPI | * Δημιουργία σύνθετων δομών δεδομένων με το MPI και αποστολή μηνυμάτων δομών δεδομένων. | ||
* Παράλληλος προγραμματισμός OpenMP και Epiphany-SDK, BSP. | * Παράλληλος προγραμματισμός OpenMP και Epiphany-SDK, BSP. | ||
|} | |||
=== Διδακτικές και Μαθησιακές Μέθοδοι - Αξιολόγηση === | === Διδακτικές και Μαθησιακές Μέθοδοι - Αξιολόγηση === | ||
| Γραμμή 139: | Γραμμή 140: | ||
* Γραπτή εξέταση (50%) | * Γραπτή εξέταση (50%) | ||
|} | |} | ||
=== Συνιστώμενη Βιβλιογραφία === | === Συνιστώμενη Βιβλιογραφία === | ||
| Γραμμή 147: | Γραμμή 147: | ||
<div id="pills-en" class="tab-pane fade" role="tabpanel" aria-labelledby="pills-en-tab" style="text-align:left;"> | <div id="pills-en" class="tab-pane fade" role="tabpanel" aria-labelledby="pills-en-tab" style="text-align:left;"> | ||
=== General === | === General === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Γραμμή 167: | Γραμμή 169: | ||
|- | |- | ||
! Course Title | ! Course Title | ||
| Parallel | | Distributed and Parallel Systems | ||
|- | |- | ||
! Independent Teaching Activities | ! Independent Teaching Activities | ||
| Γραμμή 176: | Γραμμή 178: | ||
|- | |- | ||
! Prerequisite Courses | ! Prerequisite Courses | ||
| | | - | ||
|- | |- | ||
! Language of Instruction and Examinations | ! Language of Instruction and Examinations | ||
| Γραμμή 188: | Γραμμή 190: | ||
|} | |} | ||
=== Learning Outcomes === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Γραμμή 210: | Γραμμή 212: | ||
* Working independently | * Working independently | ||
|} | |} | ||
=== Syllabus === | === Syllabus === | ||
{| class="wikitable" style="width: 100%;" | |||
| | |||
* Historical review of parallel and distributed processing. | |||
* Von Neumann model. Flynn categorization. Tubing. Multiprocessors, Multi-computers. | |||
* Distributed and Shared Memory Systems. Memory architectures for single and non-unified access time. | |||
* Performance calculations and metrics. System scalability, partitioning and optimization. Parallel computer interface networks. | |||
* Law of Grosch, of Amdahl, of Gustafson Barsis. Design of parallel applications. | |||
* Program parallelization - MPI. Synchronization. Dependency charts, shared resources and racing conditions. Scheduling. Shared Memory Affinity. MESI. Parallel Processing using parallella FPGA cores. | |||
* Models and process communication mechanisms. Vector Processing. Arrays and computational grid. Examples of application parallelization. Synchronization issues | |||
</br>Course laboratory part | |||
* Introductory programming concepts using gcc. Pointers, classes, dynamic structures. Creating processes in Linux, separating user-space and kernel-space concepts, parenting processes and parent-child relationships, Process Management. | |||
* Containers, Templates, STL (C++ standard templates library). | |||
* Introduction to Boost and advanced C ++ aspects. | |||
* Introduction to C ++ Armadilo | |||
* Process intercommunication. Static memory areas, pipelines, shared memory areas, process signalling. | |||
* Threads creation and thread management. shared thread memory areas, critical areas, producer-consumer model, threads signalling. | |||
* Thread Management and Synchronization, critical areas protection using mutex locks and semaphores. Presentation of conditional execution threads and sync barriers. | |||
* Introduction to MPI, MPI settings, MPI key features presentation, preliminary MPI programs. | |||
* Presentation of basic modern methods of sending and receiving messages in MPI. Presentation of asynchronous upload methods. Examples. | |||
* Using Gather-Scatter-Reduce-Broadcast Collective Methods and Examples. | |||
* Basic structures for organizing distributed programs. Examples of distributed calculations. Advanced data types using MPI. Creating # Complex Data Structures with MPI And Sending Data Structure Messages. | |||
* Parallel programming OpenMP and Epiphany-SDK, BSP. | |||
|} | |||
=== Teaching and Learning Methods - Evaluation === | === Teaching and Learning Methods - Evaluation === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Γραμμή 269: | Γραμμή 274: | ||
* Semester written examination (50%) | * Semester written examination (50%) | ||
|} | |} | ||
=== Attached Bibliography === | === Attached Bibliography === | ||
Τελευταία αναθεώρηση της 19:42, 29 Μαρτίου 2026
Γενικά
| Σχολή | Σχολή Θετικών Επιστημών |
|---|---|
| Τμήμα | Τμήμα Μαθηματικών |
| Επίπεδο Σπουδών | Προπτυχιακό |
| Κωδικός Μαθήματος | MAE840 |
| Εξάμηνο | 8 |
| Τίτλος Μαθήματος | Κατανεμημένα και Παράλληλα Συστήματα |
| Αυτοτελείς Διδακτικές Δραστηριότητες | Διαλέξεις και Εργαστηριακές Ασκήσεις (Εβδομαδιαίες Ώρες Διδασκαλίας: 3, Πιστωτικές Μονάδες: 6) |
| Τύπος Μαθήματος | Ειδίκευσης |
| Προαπαιτούμενα Μαθήματα | |
| Γλώσσα Διδασκαλίας και Εξετάσεων | Ελληνική |
| Το Μάθημα Προσφέρεται σε Φοιτητές Erasmus | |
| Ηλεκτρονική Σελίδα Μαθήματος (URL) | Δείτε το eCourse, την Πλατφόρμα Ασύγχρονης Εκπαίδευσης του Πανεπιστημίου Ιωαννίνων. |
Μαθησιακά Αποτελέσματα
| Μαθησιακά Αποτελέσματα | Με την επιτυχή ολοκλήρωση του μαθήματος, ο φοιτητής:
|
|---|---|
| Γενικές Ικανότητες |
|
Περιεχόμενο Μαθήματος
|
ΘΕΩΡΙΑ:
|
Διδακτικές και Μαθησιακές Μέθοδοι - Αξιολόγηση
| Τρόπος Παράδοσης | Στην τάξη | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Χρήση Τεχνολογιών Πληροφορίας και Επικοινωνιών | Χρήση Εργαστηρίου Μικροϋπολογιστών | ||||||||||
| Οργάνωση Διδασκαλίας |
| ||||||||||
| Αξιολόγηση Φοιτητών |
|
Συνιστώμενη Βιβλιογραφία
Δείτε την υπηρεσία Εύδοξος. Συγγράμματα και άλλες πηγές εκτός της υπηρεσίας Εύδοξος:
General
| School | School of Science |
|---|---|
| Academic Unit | Department of Mathematics |
| Level of Studies | Undergraduate |
| Course Code | MAE840 |
| Semester | 8 |
| Course Title | Distributed and Parallel Systems |
| Independent Teaching Activities | Lectures-Laboratory (Weekly Teaching Hours: 3, Credits: 6) |
| Course Type | Special Background |
| Prerequisite Courses | - |
| Language of Instruction and Examinations | Greek |
| Is the Course Offered to Erasmus Students | Yes(in English) |
| Course Website (URL) | See eCourse, the Learning Management System maintained by the University of Ioannina. |
Learning Outcomes
| Learning outcomes |
Students knowledge acquisition of:
|
|---|---|
| General Competences |
|
Syllabus
|
Teaching and Learning Methods - Evaluation
| Delivery | Classroom | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Use of Information and Communications Technology | Use of Micro-computers Laboratory | ||||||||||
| Teaching Methods |
| ||||||||||
| Student Performance Evaluation |
|
Attached Bibliography
See the official Eudoxus site. Books and other resources, not provided by Eudoxus:
- Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and their Implementation, G.M. Karniadakis and R.M. Kirby, 2003, Cambridge University press, ISBN: 0-521-81754-4
- Using OpenMP, Portable Shared Memory Parallel Programming., B. Chapman, G. Jost and R. Pas, 2008, MIT press, ISBN: 9780262533027
- Learning Boost C++ libraries, A. Mukherjee, 2015, PACKT, ISBN:978-1-78355-121-7
- Boost C++ Application Development Cookbook - Second Edition: Recipes to simplify your application development, 2 Edition, A. Polukhin, 2017, PACKT, ISBN:978-1-78728-224-7
- C++17 STL Cookbook, J. Galowicz, PACKT,978-1-78712-049-5, 2017