Parallel Computing
Public syllabus for 2025-2026
Academic overview
Teaching team
Learning time distribution
| Total | ||||||
|---|---|---|---|---|---|---|
| Curriculum | Lecture | Practice | Total Weekly | Lecture | Practice | |
| 42 | 28 | 14 | 3 | 2 | 1 | |
| Exam hours | ||||||
| 8 | ||||||
| Individual Study | Bibliography study | Field study | Homework | Tutoring | Others | |
| 100 | 51 | 7 | 37 | 5 | 0 | |
| Overall | ||||||
| 150 |
Learning outcomes
Knowledge
- To be familiar with the design, description and implementation of the applications that are using parallel computing
- (C4) Understanding how platforms specific to the processing of large volumes of data work
Skills
- Capacity to identify, design and describe a parallel computing system
- Capacity to implement an application that uses parallel computing
- Capacity to use parallel computing systems
- (A4) Using distributed parallel processing principles in designing scalable applications
Responsibility
- Capacity to comunicate knowledge related to parallel computing used in different activities domains
- (6a03a0952355ae3a04d2f2fd) Accurately representing one’s level of competence and accepting tasks within its limits;
Online platform
Course content
| Content | Methods | Obs |
|---|---|---|
| Lecture 1. (2h) Introduction: Parallel computers, why parallel computing, application examples, short history, to port or not to port. Performance: overhead, performance metrics for parallel systems | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-1.pdf |
| Lecture 2. (2h) Performance Metrics for Parallel Programs: analytic modeling, execution time, overhead, speedup, efficiency, cost, granularity, scalability, roadblocks, asymptotic analysis | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-2.pdf |
| Lecture 3. (2h) Architecture: logical organization - Flynn taxonomy, SIMD, MIMD, communication; physical organization - historical context, shared memory versus distributed memory | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-3.pdf |
| Lecture 4. (2h) Architecture and Models: physical organization - radius-based classification, multicore, clusters, grids, trends; early models, PRAM | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-4.pdf |
| Lecture 5. (2h) Models: dataflow and systolic architectures, circuit model, graph model, LogP and LogGP; message-passing paradigm; levels of parallelism | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-5.pdf |
| Lecture 6. (2h) Implicit Parallelism - Instruction Level Parallelism. Pipeline, Vector and Superscalar Processors | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-6.pdf |
| Lecture 7. (2h) Cache coherence in multiprocessor systems. Interconnection Networks - classification, topologies, evaluating static and dynamic interconnection networks | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-7.pdf |
| Lecture 8. (2h) Communication costs, routing mechanism, mapping techniques, cost-performance tradeoffs | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-8.pdfTextbook at http://staff.fmi.uvt.ro/ ~dana.petcu/calcul.htm |
| Lecture 9. (2h) Concurrency and Steps in Parallel Algorithm Design: concurrency in parallel programs, approaches to achieve concurrency, basic leyers of software concurrency; tasks, processes and processors, design steps, decomposition - simple examples and classification | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-9.pdfIdem |
| Lecture 10. (2h) Decomposition and Orchestration: recursive, data, exploratory, speculative and hybrid decompositions, orchestration under the data parallel, shared-address space and message passing model | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-10.pdfIdem |
| Lecture 11. (2h) Mapping Techniques for Load Balancing and Methods for Containing Interaction Overheads: mapping classification, schemes for static mapping, schemes for dynamic mapping, maximizing data locality, overlapping computations with interactions, replication, optimized collective interactions | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-11.pdfIdem |
| Lecture 12. (2h) Emulations, Scheduling and Patterns: emulations among architectures, task scheduling problem, scheduling algorithms, load balancing; patterns - task decomposition, data decomposition, group tasks, order tasks, data sharing, design evaluation | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-12.pdfIdem |
| Lecture 13. (2h) Models of Parallel Algorithms and Simple Parallel Algorithms: models - data parallel, task graph, work pool, master-slave, pipeline, hybrids; applying data parallel model, building-block computations; sorting networks | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-13.pdfIdem |
| Lecture 14. (2h) Parallel computations in numerical analysis: linear equations, nonlinear equations, ordinary differential equations, computational fluid dynamics | Lecture, conversation, exemplify | Slides:http://staff.fmi.uvt.ro/~dana.petcu/calcul/PC-14.pdfIdem |
Course bibliography
Bibliography:
Seminar content
| Content | Methods | Obs |
|---|---|---|
| Lab 1 (2h): OpenMP – Generalities, basic mechanisms and simple examples | Classroom examples | |
| Lab 2 (2h): OpenMP – Matrix operations and performance studies | Classroom examples | |
| Lab 3 (2h): OpenMP – sorting and performance studies | Classroom examples | |
| Lab 4 (2h) OpenACC – generalities, simple examples and matrix operations | Classroom examples | |
| Lab 5 (2h): MPI – Generalities, basic mechanisms and simple examples | Classroom examples | |
| Lab 6 (2h): MPI – Matrix operations and performance studies | Classroom examples | |
| Lab 7 (2h): MPI – solving linear systems and performance studies | Classroom examples | |
| Bibliography: |
Seminar bibliography
The content is consistent in structure with similar courses from other universities and covers the fundamental aspects necessary familiarity with the issue of parallel computing. Ability to identify, design, implement and analyze applications that utilize parallel calculation is essential for getting a timely response in case of scientific applications and commercial complex ones. Skills offered by this discipline are needed by an IT specialist in order to identify effective solutions for solving concrete problems, regardless of their specific activity field.
Corroboration
(none)
AI tools guidance
Evaluation and delivery
| Activity | Criteria | Methods | Percentage |
|---|---|---|---|
| C |
|
|
|
| S |
|
|
|
Performance standards
Capacity to write a simple application that uses parallel computing Understand the basic principles of parallel computing
Additional info
-