Fundamentals of Distributed Computing Systems

Course: Quantum computers, computing and information

Structural unit: Faculty of Physics

Title
Fundamentals of Distributed Computing Systems
Code
ВК 3.3
Module type
Вибіркова дисципліна для ОП
Educational cycle
Second
Year of study when the component is delivered
2023/2024
Semester/trimester when the component is delivered
3 Semester
Number of ECTS credits allocated
6
Learning outcomes
Learning outcomes are the basic mastery of the most common methods of distributed computing in the examples of MPI and OpenMP, the ability to create simple algorithms for common scientific problems with parallel computing. It is important to develop skills in the analysis of computational problems and finding ways to optimize computational procedures, as well as choosing the best software for the implementation of the computational task and to gain the skills needed to write original numerical calculation programs for distributed systems. Also, the important task is to give the ability to search, process and analyze information from various sources, including electronic resources, and the ability of students to think abstractly.
Form of study
Full-time form
Prerequisites and co-requisites
Students must know the basics of programming in C (or C ++), de able to apply previous knowledge of numerical methods. Basic knowledges of higher mathematics courses (linear algebra, mathematical analysis, differential equations, methods of mathematical physics) are required. Basic knowledges of theoretical physics courses (classical mechanics, electrodynamics, quantum mechanics, statistical physics) are also required.
Course content
The normative discipline "Fundamentals of Distributed Computing Systems" is a component of the cycle of professional training of specialists of educational and qualification level "Master of Physics". The course program is aimed at students who are already familiar with the basic mathematical and physical disciplines. The course aims to provide knowledge and experience with modern computing tools based on the use of multithread and multiprocessor methods. Introduce students to a group of the most common methods (MPI, OpenMP, ready-made libraries for C/C ++, Fortran, computational packages). Introduction to the most relevant methods of parallelization of algorithms typical of physics problems.
Recommended or required reading and other learning resources/tools
7. Ortega J.M., Voigt R.G., Solution of partial differential equations on vector and parallel computers SIAM, 1985 8. Bertsekas D.P., Tsitsiklis J.N. Parallel and distributed computation .. numerical methods, Athena Scientific, 1997 9. Rauber T., Runger G. Parallel programming .. for multicore and cluster systems, Springer, 2010 10. Shonkwiler R., Lefton L. An introduction to parallel and vector scientific computing, CUP, 2006
Planned learning activities and teaching methods
Lectures - 30 hours, practical classes - 30 hours, independent work - 60 hours, consultations.
Assessment methods and criteria
The control is carried out according to the module-rating system, which consists of 2 content modules. The knowledge assessment system includes current, modular and semester control of knowledge. The results of students' learning activities are evaluated on a 100-point scale. Forms of current control are: assessment of written independent tasks, tests performed by students during practical classes. The student can receive a maximum of 60 points for homework, independent assignments, oral answers, additions to practical classes (30 points in each content module). Modular control: 2 modular tests. The student can get a maximum of 30 points for modular tests (15 points for each work). The final semester control is conducted in the form of a test (40 points).
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Departments

The following departments are involved in teaching the above discipline