Methods of Parallel Computation

Course: Informatics

Structural unit: Faculty of Computer Science and Cybernetics

Title
Methods of Parallel Computation
Code
Module type
Вибіркова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2021/2022
Semester/trimester when the component is delivered
7 Semester
Number of ECTS credits allocated
4
Learning outcomes
PL16. Perform parallel and distributed computation, apply numerical methods and algorithms for parallel structures, parallel programming languages in the development and operation of parallel and distributed software. PL18.2. Analyze, evaluate and select tools and computing tools, paradigms, technologies, algorithmic and software solutions in the design and development of software systems.
Form of study
Full-time form
Prerequisites and co-requisites
1. Know: basic concepts of mathematical logic and theory of algorithms, architecture of computer systems, mathematical analysis, formal models of algorithms and complexity of algorithms. 2. Be able to: perform structuring of programs into independent fragments of calculations taking into account the target architecture of the parallel system, as well as to assess the performance of parallel software. 3. Have the means: synchronization and interaction of parallel processes in modern programming languages (java or C #).
Course content
The aim of the discipline is to provide with competence, knowledge and skills at the level of using the latest advances in parallel programming of multiprocessor systems and high-performance computing required for modern computer and software technologies in accordance with the qualification. As a result of studying the discipline the student must: know: types and levels of parallelism of operations in computer systems; characteristics of multiprocessor systems architecture; paradigms of parallel programming; tools for programming parallel computing systems with shared memory; problems of deadlocks and mutual exclusion and their methods of solution; model of parallel computing with distributed memory; methods of developing parallel programs; be able to: choose the architecture of a multiprocessor system for the appropriate class of application tasks; use parallel programming tools appropriate to the target architecture; develop parallel algorithms for solving applied problems.
Recommended or required reading and other learning resources/tools
1. F.I. Andon, A.E. Doroshenko, K.A. Zhereb, R.S. Shevchenko, E.A. Yatsenko. Metody Algebraicheskogo Programmirovania. Formal’nyye Methody Razrabotki Parallel’nykh Program. Kiev, “Naukova Dumka”, 2017. 440 s. 2. Doroshenko A.Yu. Lectsii z Paralel’nykh Obchysliuval’nykh System. Metodychnyi posibnyk. Kyiv, Vydavnychyi Dim “KM Akademia”, 2003. 42 s. 3. A.E. Doroshenko. Matematicheskiye Modeli i Metody Organizatsii Vysokoproizvoditel’nykh Parallel’nykh Vychislenii. K., “Naukova Dumka”, 2000. 177 s. 4. A.Yu. Doroshenko, G.S.Finin, G.O. Tseitlin. Algebroalgorytmichni Osnovy Programuvannia. Objektna Orientatsia I Paralelizm. Kyiv, “Naukova Dumka”, 2004. 458 s. 5. Nemniugin S.A., Stesik O.L. Parallel’noye Programmirovanie dlia Mnogoprocessornykh Vychislitel’nykh Sistem. SPb.: BHV-Peteburg, 2002. 400 s. 6. P.I. Andon, A.Yu. Doroshenko, K.A. Zhereb, O.A. Yatsenko. Algebra-algorithmic models and methods of parallel programming. Kyiv, VD “Akademperiodyka”, 2018. 192 s. 7. http:/parallel.ru/.
Planned learning activities and teaching methods
Lectures, independent work, tests, homework, exam.
Assessment methods and criteria
- Semester assessment: 1. Test 1: LO 1.1, LO 1.2, LO 1.3 — 30 points/18 points 2. Test 2: LO 2.1, LO 2.2, LO 2.3, LO 2.4 — 30 points/18 points - Final assessment (in the form of an exam): - maximum number of points: 40 points; - learning outcomes which shall be assessed: LO1.1, LO1.2, LO1.3, LO2.1., LO2.2.? LO2.3., LO2.4. - form of conducting: written work.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Anatoliy Yu. Doroshenko
Theory and Technology of Programming
Faculty of Computer Science and Cybernetics

Departments

The following departments are involved in teaching the above discipline

Theory and Technology of Programming
Faculty of Computer Science and Cybernetics