|
|
Main menu for Browse IS/STAG
Course info
KIV / PPR-E
:
Course description
Department/Unit / Abbreviation
|
KIV
/
PPR-E
|
Academic Year
|
2023/2024
|
Academic Year
|
2023/2024
|
Title
|
Parallel Programming
|
Form of course completion
|
Exam
|
Form of course completion
|
Exam
|
Accredited / Credits
|
Yes,
6
Cred.
|
Type of completion
|
Oral
|
Type of completion
|
Oral
|
Time requirements
|
Lecture
4
[Hours/Week]
Tutorial
1
[Hours/Week]
|
Course credit prior to examination
|
Yes
|
Course credit prior to examination
|
Yes
|
Automatic acceptance of credit before examination
|
No
|
Included in study average
|
YES
|
Language of instruction
|
English
|
Occ/max
|
|
|
|
Automatic acceptance of credit before examination
|
No
|
Summer semester
|
0 / -
|
0 / -
|
0 / -
|
Included in study average
|
YES
|
Winter semester
|
0 / -
|
0 / -
|
0 / 10
|
Repeated registration
|
NO
|
Repeated registration
|
NO
|
Timetable
|
Yes
|
Semester taught
|
Winter semester
|
Semester taught
|
Winter semester
|
Minimum (B + C) students
|
10
|
Optional course |
Yes
|
Optional course
|
Yes
|
Language of instruction
|
English
|
Internship duration
|
0
|
No. of hours of on-premise lessons |
|
Evaluation scale |
1|2|3|4 |
Periodicity |
každý rok
|
Evaluation scale for credit before examination |
S|N |
Periodicita upřesnění |
|
Fundamental theoretical course |
No
|
Fundamental course |
No
|
Fundamental theoretical course |
No
|
Evaluation scale |
1|2|3|4 |
Evaluation scale for credit before examination |
S|N |
Substituted course
|
None
|
Preclusive courses
|
KIV/PPR
|
Prerequisite courses
|
N/A
|
Informally recommended courses
|
KIV/OS and KIV/PC and KIV/CPP
|
Courses depending on this Course
|
KIV/PES, KIV/SZD, KMA/PNM
|
Histogram of students' grades over the years:
Graphic PNG
,
XLS
|
Course objectives:
|
To students, in theory and practice to closely introduce methods of parallel programming for systems with shared and distributed memory and real-time systems. To cover parallel applications, means for their development and runtime.
|
Requirements on student
|
Credit: Individually accomplished work, maximum 40 points, 25 needed to get credits.
Credit deadline: the semestral work has to be delivered until 31.1. of the present academic year, see course's page for details.
Exam: Written exam, maximum 60 points, see details on course's page.
Notice:
The dates and form of verification of compliance with the requirements may be adjusted with regard to the measures announced in connection with the development of the epidemiological situation in the Czech Republic.
|
Content
|
1. Classification of parallel computer architectures. Performance criteria.
2. Program code paralelization, shared memory paralelism.
3. Functional and data parallelism, threads, basic and structured forms of interaction.
4. Programming languages with a support for threads - means for parallelization: Java and C++ threads, Ada's tasks andrendez-vous.
5. Threading libraries, POSIX and WinAPI
6. Other than traditional means of concurrency code: OpenMP, Intel Threading Building Blocks and OpenCL (GPGPU).
7. Multiprocessor systems with distributed memory, MPDM and SPMD models. Communication parallelism & effects of physical network topology and virtual topology.
8. Tools for distributed computing - PVM.
9. Tools for distributed computing - MPI.
10. Grid Environment, Globus Toolkit.
11. Advanced techniques for speeding up a distributed computation.
12. Real-time systems.
13. Multithreading implementation on uniprocessor and symmetric multiprocessor.
|
Activities
|
|
Fields of study
|
|
Guarantors and lecturers
|
|
Literature
|
-
Extending:
Skillicorn, David. Foundations of parallel programming. Cambridge : University Press, 1994. ISBN 0-521-45511-1.
-
Extending:
Grama, Ananth. Introduction to parallel computing. 2nd ed. Harlow : Pearson, 2003. ISBN 0-201-64865-2.
-
Recommended:
Berman, Kenneth A.; Paul, Jerome L. Algorithms: sequential, parallel, and distributed. Boston : Course Technology, 2005. ISBN 0-534-42057-5.
-
Recommended:
Andrews, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading : Addison-Wesley, 2000. ISBN 0-201-35752-6.
-
Recommended:
Ježek, Karel; Matějovic, Přemysl; Racek, Stanislav. Paralelní architektury a programy. Plzeň : ZČU, 1997. ISBN 80-7082-322-4.
-
On-line library catalogues
|
Time requirements
|
All forms of study
|
Activities
|
Time requirements for activity [h]
|
Graduate study programme term essay (40-50)
|
52
|
Preparation for an examination (30-60)
|
104
|
Total
|
156
|
|
Prerequisites
|
Knowledge - students are expected to possess the following knowledge before the course commences to finish it successfully: |
Fundamental knowledge of operating systems, KIV/ZOS. Knowledge of a language with thread support, or with a possibility to utilize threading functions of underlying operating system. Knowledge of a pointer language such as C is an advantage, KIV/PC. |
|
Learning outcomes
|
Knowledge - knowledge resulting from the course: |
To student, the course provides a body of knowledge that student can apply in development of parallel applications and in development of tools for development and runtime of parallel applications.
The body of knowledge covers:
- Parallel programming theory, program models
- Means of interaction for processes and threads
- Computational environments with shared and distributed memories
- Means of Java and ADA programming languages, POSIX and WinAPI for SMP
- Means of PVM and MPI for a distribute environment
- Means for speed-up of a computation
- Real-time systems |
|
Assessment methods
|
Knowledge - knowledge achieved by taking this course are verified by the following means: |
Written exam |
Test |
Seminar work |
Individual presentation at a seminar |
|
Teaching methods
|
Knowledge - the following training methods are used to achieve the required knowledge: |
Lecture supplemented with a discussion |
Task-based study method |
Skills demonstration |
Individual study |
Seminar classes |
|
|
|
|