Lectures Publications Theses Events

FS25 - Distributed Systems (DSy)

Challenge Task Winner Distributed Systems FS25

DSy Challenge Task FS 2025 Winner

The winning group is: Roman Weber and Ramon Bister

EduCDN is an educational content delivery network. The system provides hands-on experience in CDN concepts including L3 load balancing with BGP anycast, HTTP caching, and real-time monitoring through a dashboard. The architecture consists of multiple distributed components: application layer load balancers, backend proxy servers that handle cache hits/misses, frontend instances for dashboard rendering, MinIO storage for content replication, NSQ messaging for real-time communication, and integrated DNS services. All components are packaged into a single binary with bootstrap configuration capabilities, supporting features like split-horizon DNS, self-replicating storage, and a web-based monitoring interface that displays CDN events in real-time. The project enables you to configure and observe CDN behavior across geographically distributed locations while learning about load balancing, caching strategies, and distributed systems architecture. Congratulations, very impressive work!

This lecture series focuses on distributed systems, which are computer systems made up of multiple autonomous components, or nodes, that are linked and communicate with one another to achieve a common goal.

By the end of the series, you should have a good understanding of the various components and technologies involved in distributed systems and blockchain, as well as their implementation and deployment considerations.

Lecture Topics

NrDate RapperswilDate St.GallenTopics
0117.02.202518.02.2025Admin, Introduction / Motivation, part 1 (no exercises)
0224.02.202525.02.2025Introduction / Motivation, part 2
0303.03.2025-Monorepos / Polyrepos, Containers and VMs
0410.03.202511.03.2025Docker, Debugging Containers
0517.03.202518.03.2025Load Balancing
0624.03.202525.03.2025Web Architectures
0731.03.202501.04.2025Categorization
----
0814.04.202515.04.2025Authentication
09-22.04.2025Protocols
1028.04.202529.04.2025Application Protocols
1105.05.202506.05.2025Exam preparation
1212.05.202513.05.2025Deployment, Performance
1319.05.202520.05.2025Blockchain, Bitcoin
1426.05.202527.05.2025Challenge Task Presentations
1502.06.202503.06.2025Challenge Task Award Winner Announcement, Q&A (no exercises)

Online/Offline Lectures & Exercises

Due to student requests, the Distributed Systems (DSy) lecture will pre-recorded. The lecture videos will up uploaded before the lecture. The length of the videos will be ~ 80 - 100 minutes (2 x 45 min. lectures) divided into segments. The news segment (~10 min) will cover news around the topics distributed systems and blockchain and are not part of the exam. It should serve as on overview of current topics in this field.

I will be present in the lecture room 3.114 from 08:10 - 09:50 and in 1.257 from 10:10 - 11:50 and 13:10 - 18:40 in Rapperswil on Mondays, on Tuesday in the lecture room FZ0332 from 15:10 - 18:40 in St.Gallen. If you have not watched the lectures, you can watch it in this lecture. During exercises (10:10 - 11:50, 15:10 - 18:40 in Rapperswil; 17:00 - 18:40 in St.Gallen), you can work on your challenge task. You do not need to be present on Monday or Tuesday, but it is highly recommended to discuss your ideas, issues, and problems with the challenge task. On request, you can also join the exercises remotely via MS Teams.

The online lectures and PDFs can be accessed from outside the OST network (also on Youtube), the exercise and admin material only with VPN.

Lecture

Lecture 1

Admin (VPN) News
Introduction - Scaling

The admin part gives an overview over this lecture and presents the challenge task for this course (Slides: FS25-DSy-01-admin.pdf). The second video (news) reports on debates over Rust code adding complexity to the Linux kernel led to Hector Martin's resignation from Asahi Linux and prompted new Rust kernel policies. World Liberty Financial, a Trump-backed DeFi platform, has invested heavily in cryptocurrencies. The platform's structure shows 75% of profits going to Trump-affiliated entities and relies on existing Aave v3 protocol rather than new technology(Slides: FS25-DSy-01-news.pdf). The third video shows the first part of the motivation why distributed systems are necessary (Slides: FS25-DSy-01-intro.pdf). [88min]

Lecture 2

Admin (VPN) News
Introduction - Loction/Latency Introduction - Fault Tolerance

The admin part is about group forming and the challenge task (Slides: FS25-DSy-02-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers NAND flash price drops and Sandisk's petabyte-scale SSDs, followed by a report on Hetzner's server failures highlighting hardware reliability issues. The third discusses Bybit's $1.5 billion crypto theft, while the fourth examines a pump-and-dump scheme involving Argentina's president and the Libra coin. The final piece covers Meta's use of BitTorrent for downloading books for AI training, raising legal questions about file-sharing practices. (Slides: FS25-DSy-02-news.pdf). The third video shows the second part of the motivation why distributed systems are necessary (Slides: FS25-DSy-02-intro-location.pdf). The fourth video is the last part of the motivation (Slides: FS25-DSy-02-intro-hw.pdf). [81min]

Lecture 3

Admin (VPN) News
Monorepos / Polyrepos Containers and VMs

The admin part is about group forming, the challenge task, and the lecture content (Slides: FS25-DSy-03-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article highlights a massive DOOM implementation within TypeScript's type system generating 3.5 trillion lines of code. The next discusses limitations of current distributed systems programming models. Another questions HTTP/2's value for internal server communications. A security report reveals malicious GitHub repositories stealing user data. The subsequent topic covers efforts to protect undersea telecommunications cables. The final article examines Bitcoin's recent crash and recovery, attributing it to trade policies and a major crypto exchange theft. (Slides: FS25-DSy-03-news.pdf). The third video discusses monorepos and polyrepos (Slides: FS25-DSy-03-repo.pdf). The fourth video is starts with the introduction of containers and VMs (Slides: FS25-DSy-03-container.pdf. [99min]

Lecture 4

Admin (VPN) News
Docker Debugging Docker (VPN/admin)

The admin part is about the challenge task and the 1st hand-in, and the lecture content (Slides: FS25-DSy-04-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article briefly mentions CORS and CSRF web security differences, showing how they control cross-site data access and prevent unauthorized actions. Next, Next.js shows poor performance under high traffic. The third topic covers the US Bitcoin Strategic Reserve announcement, which disappointed markets by only holding seized Bitcoin. Apple's M3 Ultra chip features a 32-core CPU and 80-core GPU with significant performance gains. The final article examines custom internet protocols, finding them technically possible but impractical across existing networks. (Slides: FS25-DSy-04-news.pdf). The third video dives into docker (Slides: FS25-DSy-04-docker.pdf). The fourth video is talks about how to troubleshoot issues with docker and the challenge task (Slides: FS25-DSy-04-debug.pdf. [118min]

Lecture 5

Admin (VPN) News
Load Balancing

The admin part is about the challenge task and the successful 1st hand-in, and the lecture content (Slides: FS25-DSy-05-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article introduces DiceDB, an in-memory database enabling real-time updates through query subscriptions. The next article demonstrates Postgres scaling through sharding across multiple databases. The third topic compares storage technologies and their latency impacts on distributed systems. Fourth, a student-recommended Docker tutorial video is mentioned. The final topic addresses Bitcoin's price volatility, with analysts offering contradictory predictions about future market movements. (Slides: FS25-DSy-05-news.pdf). The third video dives into load balancing (Slides: FS25-DSy-05-lb.pdf). [89min]

Lecture 6

Admin (VPN) News
Web Architectures

The admin part is about the lecture content (Slides: FS25-DSy-06-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers LG closing its TV NFT marketplace amid fading interest in NFTs. Next, GitHub Actions faces criticism for complex setup requirements and security vulnerabilities, including a compromised action that attempted to steal CI secrets. The third piece explores HTTP/3's uneven adoption across browsers (95%) versus developer tools. Fourth, Ethereum exchange supply has dropped to its lowest since 2015. Finally, server benchmarking between Nginx, HAProxy, and Traefik emphasizes the importance of customized performance testing for specific workloads. (Slides: FS25-DSy-06-news.pdf). The third video dives into load balancing (Slides: FS25-DSy-06-arch.pdf). [68min]

Lecture 7

Admin (VPN) News
Categorization

The admin part is about the lecture content (Slides: FS25-DSy-07-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article introduces Styrolite, a secure Linux container runtime with a programmatic interface. The next discusses cloud repatriation as companies face unexpected costs. The third covers ConfigHub's solution for managing complex cloud configurations. The fourth warns of sophisticated supply chain attacks targeting npm packages. The fifth highlights Apple's mandated implementation of Wi-Fi Aware for cross-platform peer-to-peer connectivity. The final article examines a new Trump-backed stablecoin amid pending legislation and market growth. (Slides: FS25-DSy-07-news.pdf). The third video categorizes distributed systems (Slides: FS25-DSy-07-cat.pdf). [89min]

Easter Break

News

The first video (news) reports on distributed systems and blockchain news. The first article reveals a GitHub CodeQL supply chain attack via an exposed token. The next warns about mutable references in GitHub Actions. The third discusses European concerns about US cloud providers and surveillance laws. The fourth explains HTTP/3 adoption challenges with DNS resource records. The final piece reviews self-hosting software options including Docker, Podman, Portainer, and Uptime Kuma.. (Slides: FS25-DSy-07e-news.pdf). [12min]

Lecture 8

Admin (VPN) News
Auth

The admin part is about the 2nd hand-in of the challenge task, and the lecture content (Slides: FS25-DSy-08-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article examines a backdoor in liblzma allowing SSH attacks, highlighting software supply chain vulnerabilities. Next, research shows Computer Science students lead AI tool adoption, using it mainly for content creation and technical solutions. Microsoft announced a 10% price increase for on-premises licenses to push cloud migration. Another topic covers a self-hosted calendar solution using Baïkal for data privacy. The final article explains using custom .localhost domains with Caddy for easier local development. (Slides: FS25-DSy-08-news.pdf). The third part is about authentication (Slides: FS25-DSy-08-auth.pdf). [77min]

Lecture 9

Admin (VPN) News
Protocols

The admin part is about the lecture content (Slides: FS25-DSy-09-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers Fedora's goal of 99% package reproducibility to prevent tampering during software compilation. Next, WebSockets are critiqued with HTTP Streaming suggested as a simpler alternative. Vertical database sharding is discussed, highlighting reliability and complexity challenges. SSH certificate-based authentication is proposed to solve key management problems in large systems. The report explains how Time-based One-Time Password systems work, notes TLS certificate lifetimes reducing to 47 days by 2029, introduces DeepSeek's new 3FS distributed file system, and concludes with EU guidelines on reconciling blockchain's immutability with GDPR's right to erasure. (Slides: FS25-DSy-09-news.pdf). The third part introduces protocols (Slides: FS25-DSy-09-proto.pdf). [89min]

Lecture 10

Admin (VPN) News
Application Protocols 1 Application Protocols 2

The admin part is about the lecture content (Slides: FS25-DSy-10-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article showcases a Formula 1 real-time data collection system for race simulation. The next article examines how companies exploit users' devices as distributed "residential proxies" for web scraping. The third topic discusses AI-assisted coding, highlighting both benefits and risks in distributed systems development. The fourth article presents Minecraft's Uncensored Library as a censorship-bypassing information network. The final topic details how NASA engineers fixed Voyager 1's memory failure from billions of miles away, demonstrating the importance of resilient distributed systems design. (Slides: FS25-DSy-10-news.pdf). The third part is about application protocols, split in 2 parts, with part 1 including SSE examples (Slides: FS25-DSy-10-app-proto-1.pdf) and (Slides: FS25-DSy-10-app-proto-2.pdf). [119min]

Lecture 11

Admin/Exam Prep (VPN)
News

The first admin part is about the lecture content and exam preparation (Slides: FS25-DSy-11-admin.pdf, Exam: FS24-DSy-11-exam.pdf). The second video (news) reports on distributed systems and blockchain news. The first article explains how Netflix uses Java with GraphQL and virtual threads for its streaming architecture. The next article describes SQLite's "one database per tenant" pattern for multitenancy isolation. The third topic examines Spain and Portugal's April 2025 power outages, demonstrating why geographically distributed systems provide resilience. The fourth article notes research showing generative AI has "no significant impact" on occupational earnings while creating new tasks. The fifth topic introduces bloom filters for efficient set membership testing. The final article discusses Jujutsu (jj), a version control system working with git while treating code history as flexible "changes". (Slides: FS25-DSy-11-news.pdf). [70min]

Lecture 12

Admin (VPN) News
Deployment Performance

The admin part is about the 3rd hand-in of the challenge task, and the lecture content (Slides: FS25-DSy-12-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers the EU banning privacy coins on regulated platforms from 2027, affecting traders of Monero and Zcash. The next article reveals how AWS documentation errors created security vulnerabilities in their Account Assessment tool, exposing the risks of complex cloud services. The Spanish-Portuguese power outage showed how distributed systems kept people connected through mobile networks during the emergency. Skype's May 2025 shutdown marks Microsoft's migration to WebRTC-based solutions like Teams. Password cracking speeds have accelerated dramatically due to AI hardware, requiring 13+ character passwords for security. A supply chain attack through malicious Go modules highlights new threats to Linux systems via GitHub packages. The final article demonstrates CSV parsing at 21 GB/s speeds using modern AMD processors with AVX-512 instructions. (Slides: FS25-DSy-12-news.pdf). The third video discusses deployments (Slides: FS25-DSy-12-deployment.pdf). The fourth video is about performance (Slides: FS25-DSy-12-performance.pdf) [98min]

Lecture 13

Admin (VPN) News
Blockchain, Bitcoin

The admin part is about the final hand-in of the challenge task, the presentation dates, and the lecture content (Slides: FS25-DSy-13-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers US states establishing Bitcoin reserves despite federal hesitation. The next examines how OpenDNS, Cloudflare, and Google handle court-ordered DNS blocking differently. Another warns about a supply chain attack on the npm package 'rand-user-agent'. The fourth distinguishes complex from complicated systems. The fifth details significant performance issues with OpenSSL 3.0 compared to alternatives. The final article describes Motion's migration from CockroachDB to PostgreSQL, yielding major performance gains and cost savings. (Slides: FS25-DSy-13-news.pdf). The third video introduces blockchains and Bitcoin (Slides: FS25-DSy-13-bitcoin.pdf). [87min]

Lecture 14

Admin (VPN)
News

The admin part is about the final hand-in of the challenge task and the presentation dates (Slides: FS25-DSy-14-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers US states establishing Bitcoin reserves despite federal hesitation. The second video (news) reports on distributed systems and blockchain news. The first article covers Trump's TRUMP memecoin and VIP holders dumped tokens after a dinner event. The next article discusses Microsoft open-sourcing Windows Subsystem for Linux on GitHub. The following articles explore conflict-free replicated data types (CRDTs) and alternative approaches to collaborative text editing using unique character IDs. The fourth topic examines a two-year undetected NPM supply chain attack targeting JavaScript frameworks. The final article analyzes the $223 million Cetus DEX hack exploiting mathematical vulnerabilities in liquidity calculations despite recent security audits. (Slides: FS25-DSy-14-news.pdf). [17min]

Lecture 15

Admin (VPN)
News

The admin part is about the Q-Feedback (Slides: FS25-DSy-15-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article advocates for "reinventing the wheel" as a valuable learning method, arguing that rebuilding existing solutions provides deep understanding of fundamental concepts and system tradeoffs. The next article discusses Pakistan allocating 2'000 megawatts of surplus electricity for Bitcoin mining and AI centers, highlighting energy consumption concerns of proof-of-work versus proof-of-stake systems. The final topic covers challenge task results from my distributed systems course, where the winning project "EduCDN" demonstrated an impressive educational content delivery network with BGP anycast, HTTP caching, and real-time monitoring across distributed components. (Slides: FS25-DSy-15-news.pdf). [20min]

Challenge Task FS 2025

This semester's challenge task (CT) is the design and implementation of a distributed system (of your choice) with Server-Sent Events (SSE) where a service instance can fail. The system needs to have the following components:

  1. Simple Frontend (e.g., HTML, Vue, React, Svelte)
  2. Loadbalancer(e.g., traefik, nginx, HAproxy, Caddy)
  3. Two instances of a service (your choice), and during the challenge task presentation, one instance will be shut off.
  4. A server-sent event that is sent from the server to the client
  5. Database (persistent storage, does not need to be scalable)

Requirements

All requirements below must be met in order to pass this lecture.

  1. Load balancing with multiple instances with failover of a service instance
  2. Dockerized
  3. Simple frontend
  4. Server-Sent Events from the server to the client
  5. Persistent storage
  6. Use latest stable releases of chosen libraries and frameworks

Deliverables

You are allowed to use any language, framework, and platforms. However, the supervisors are familiar with those: Golang, Java, JavaScript/TypeScript, Ethereum, Sui, Bitcoin, Linux.

Groups

There will be groups of 2 - 3 for the challenge task. During the challenge task, the group shall meet every week during exercise hours to work on the task and discuss the next steps. The groups shall utilize their homework times to work on the challenge task, besides the exercise time slots assigned on Monday and Tuesday. You do not have be present at the exercises. The groups shall determine and set-up an internal project plan and shall distribute the workload so that each group member gets a fair load of work. Your submitted deliverables will be only accessible via VPN.

For a reference of previous work, go to FS24.

NrName 1Name 2Name 3ProjectSourcePresentation
01Roman W.Ramon B.-EduCDNgroup1.zipgroup1.pdf
02Israel L.Andreas B.Andre S.Health Trackergroup2.zipgroup2.pdf
03Etienne K.Nico H.-Crypto Alertgroup3.zipgroup3.pdf
04Gian H.Gian-Nicola M.Sven E.SFTPgroup4.zipgroup4.pdf
05Vanessa A.Nina G.Jannis T.WasLauftgroup5.zipgroup5.pdf
06Nico T.Gioele P.Tobias L.MyWishFundgroup6.zipgroup6.pdf
07Silvan L.Fabio Z.Doriano D.P.F1-dashboardgroup7.zipgroup7.pdf
08Mario H.Simon O.Patrik N.Website Trackergroup8.zipgroup8.pdf
09Mathias F.Simon D.-typstgroup9.zipgroup9.pdf
10Ivo C.Baruyr B.-svindlergroup10.zipgroup10.pdf
11Jovan R.Edo H.Davor L.Currency Exchange Trackergroup11.zipgroup11.pdf
12Arnel V.Fabio G.Ivan K.Real Time Stock Trackergroup12.zipgroup12.pdf
13Lukas O.Marcel B.Florian E.PollMeMaybegroup13.zipgroup13.pdf
14Sahithyen K.Luca M.Silvan B.MineDrivegroup14.zipgroup14.pdf
15Musa R.Nicola A.Marcel S.Time Trackinggroup15.zipgroup15.pdf
16Quentin W.Patrick B.Silas S.NonoRushgroup16.zipgroup16.pdf
17Timo L.Joël M.Quirin D.SmolBrainDuelgroup17.zipgroup17.pdf
18Polina L.Ramon S.Leandrea M.Study With Megroup18.zipgroup18.pdf
19Simon W.David B.Tareq K.Werewolvesgroup19.zipgroup19.pdf
20Martin A.Leo O.Matteo M.Taikai-Flowgroup20.zipgroup20.pdf
21Gergö D.Joëlle S.,Simeon R.,brüeder ich ha termingroup21.zipgroup21.pdf