Subject

Modern Trends in Parallel Processing

1. Course Title Modern Trends in Parallel Processing
Contemporary trends in parallel processing
2. Code m23_s_057
3. Study Programme
4. Organizer of the study programme (unit, institute, department or division) Faculty of Computer Science and Engineering
5. Degree level (first, second, third cycle) Second cycle
6. Academic year / semester 10 / Summer
7. Number of ECTS credits 6
8. Teacher Vladimir Zdraveski
9. Prerequisites for enrolling in the course
10. Objectives of the course programme (competences) This course is intended to acquire skills and knowledge about contemporary trends in
Parallel processing, grids, high-performance computing and computing
in the cloud.
The subject has theoretical and practical applications aimed at leveraging the performance of
existing architectures and to provide opportunities for the introduction of parallelism
calculation.
Competencies
Upon successful completion of this course, the student will be able to:
Knowledge and understanding – The student will be able to:
 to clearly understand the impact of abstraction, modeling, and the application of
parallel processing;
 to critically discuss and investigate the key concepts of systems for
parallel computation based on shared-memory architectures and
distributed systems, models, methods and techniques;
 to critically discuss and explore the architectural and design
possibilities, with the ability to generate the most appropriate method and technique for
Utilization of the system's performance;
Intellectual Skills - Students will be able to:
 analyze different parallel architectures and identify the essential
relevant characteristics
 find similarities and differences between the various techniques for parallel
programming
 to apply practical skills and demonstrate knowledge of programming by applying
parallel processing.
Practical skills - The student will be able to:
 used the well-known parallel methods and techniques for programming;
 found a parallel solution with the best performance for the posed problems;
 Set up, configure, and use a cloud computing system
11. Course content Parallel Processing Architectures
 Performance and characteristics of parallel systems
 Algorithms and structures for parallel processing
 Concepts of parallel processing and performance
 Competitive processes
Examples of programs that utilize the performance of multiple cores
 Parallel programming of shared-memory processors with OpenMP
 Parallel Programming with Distributed MPI Processors
 Processor fields and algorithm mappings, systolic arrays, processor
fields, data-flow systems
12. Learning methods Lectures, exercises, independent work, project assignments, seminar papers
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 30 + 30 + 30 + 45 + 45 = 180 hours
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 30 hours
16. Other forms of activities
16.1. Project assignments 45 hours
16.2. Independent assignments 30 hours
16.3. Home study 45 hours
17. Assessment method
17.1. Tests 0 points
17.2. Seminar paper / project (presentation: written and oral) 45 points
17.3. Activities and learning 0 points
17.4. Final exam 0 points
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
19. Requirement for obtaining a signature and taking the final exam completion of activities 15.1 and 15.2
20. Language of instruction Macedonian or English
21. Method for monitoring the quality of teaching internal evaluation and surveys, according to the model explained above
22. Literature
22.1. Required literature
1.
22.2. Additional literature
No. Author Title Publisher Year