Distributed and Parallel Systems
First semester · 2026 · Universidad de Santiago de Chile · Assistant Professor
Lecture hours
- Monday, block L4 — 13:45–15:05
- Friday, block V5 — 15:20–16:40
Laboratory
- Friday, block V6 — 16:55–18:15
Course description
This course covers the foundations and applications of parallel and distributed systems. During the first half of the semester, the emphasis is on parallel systems; the second half focuses on distributed systems. Students will learn architectures, algorithms, and models relevant to both.
Contents
1. Parallel systems
- Course introduction — scalar vs. multicore processors; parallel architectures; modern processors; supercomputers.
- Synchronization and mutual exclusion — race conditions; mutual exclusion; hardware and software solutions.
- Multithreaded parallelism on multiprocessors — OpenMP; memory model; structured parallelism; tasks and unstructured parallelism.
- Object-oriented parallelism — concurrency vs. parallelism; uC++; uC++ objects.
- Computational performance — runtime and speedup; Amdahl’s and Gustafson’s laws; scalability.
- Parallelism in distributed systems — message-passing; point-to-point and collective communication; topologies.
2. Distributed systems
- Introduction — fundamental concepts; design goals (scalability, transparency, reliability).
- Peer-to-peer computing — architectures; examples (BitTorrent, Kademlia).
- Edge and cloud computing — introduction; comparing approaches.
- Virtualization and containers — VMs vs. containers; Docker and Kubernetes in practice.
- Communication — RPC, publish–subscribe; scalability of distributed communication.
- Blockchain and distributed consensus — introduction; Paxos, Raft.
Evaluation
Theory
Quizzes
| Quiz | Date |
|---|---|
| Quiz 1 | Mon May 25, 2026 (before PEP1) |
| Quiz 2 | Fri Jun 26, 2026 (before PEP2) |
- Quizzes assess deep understanding, technical communication, and critical thinking.
- Each quiz counts for 10% of the theory grade.
- Quiz average: PC = (Quiz 1 + Quiz 2) / 2
Partial exams (PEP)
| Assessment | Date |
|---|---|
| PEP1 | Mon Jun 8, 2026 |
| PEP2 | Fri Jul 10, 2026 |
| PDR (discussion / redemption) | Mon Jul 13, 2026 |
| PER (per PEP, schedule TBD) | 1–2 weeks after the corresponding PEP |
- Each PEP has the same weight: 40% of the theory grade.
- Lecture attendance is voluntary and not required to sit exams.
- The PDR replaces your lowest PEP score (subject to eligibility below).
- PDR eligibility: the average of your PEP grades must be ≥ 3.0.
Laboratory
From Lab 2 onward, there are two weeks between release and due date. Lab 1 has a longer window. Each lab’s due date matches the release of the next lab; Lab 5 closes with its own due date.
| Lab | Released | Due |
|---|---|---|
| 1 — OpenMP | Apr 2, 2026 | May 8, 2026 |
| 2 — MPI | May 8, 2026 | May 22, 2026 |
| 3 — P2P (sockets) | May 22, 2026 | Jun 5, 2026 |
| 4 — Pub/sub (Kafka/RabbitMQ) | Jun 5, 2026 | Jun 19, 2026 |
| 5 — Blockchain | Jun 19, 2026 | Jul 3, 2026 |
Lab expectations
- All labs weigh equally toward the lab grade.
- Work must be reproducible; submissions use a GitHub or GitLab repo per lab with a working in-repo CI pipeline.
- Include unit and integration tests and containers for run/grade workflows.
- AI-assisted tooling for development is allowed unless a specific assignment says otherwise.
- Each lab ties to an exit interview (concepts, code review, and/or short demo) so every group member can explain the work.
Theory and final grades
Let NT be the theory grade and NL the lab grade.
- NT = 0.2 × PC + 0.4 × PEP₁ + 0.4 × PEP₂
- PC = (Quiz 1 + Quiz 2) / 2
Final grade (NF): if NT ≥ 4.0 and NL ≥ 4.0 → NF = 0.7 × NT + 0.3 × NL; otherwise NF = min(NT, NL).
Symbols
- NT — Theory grade
- PC — Quiz average (20% of NT)
- PEP₁, PEP₂ — Partial exams (40% of NT each)
- NL — Laboratory grade
- NF — Final grade
Bibliography
- Andrew S. Tanenbaum, Maarten van Steen, Distributed Systems, 4th ed., 2024 — distributed-systems.net
- Peter A. Buhr, Russell A. Stroobosscher, uC++ Annotated Reference Manual, v7.0.0, 2024 — PDF
- OpenMP ARB, OpenMP Application Programming Interface, v5.2, 2024 — specification (PDF)
- MPI Forum, MPI: A Message-Passing Interface Standard, v4.1, 2023 — report (PDF)
Other policies
- No plagiarism or copying on exams or in labs.
- No phones or tablets during exams.
- Answers without reasoning receive no credit.
- Bring only a bound exam notebook (“cuadernillo”) for written answers; other formats will not be accepted.
- Writing must be legible and spell-checked; otherwise answers may not be graded.