CSC 7260 - Distributed Systems
Every Winter, Department of Computer Science, Wayne State University, Last Update, 2024
Both basic distributed computing ideas and system designs that support distributed applications will be covered in this course. The following learning outcomes are part of the course: a thorough understanding of the fundamentals of distributed computing, construction of distributed system components, and comprehension of the current state of the art in various areas of distributed systems. This includes studying abstract concepts and practical methods for creating system support for distributed applications.
Objactives
- Understand the core concepts in distributed systems, like logical clocks, consistent cuts, consensus, replication, and fault tolerance.
- Learn the standard techniques to implement them to build correct and performant distributed systems and applications.
- Be familiar with multiple practical distributed systems that underpin popular real-world distributed applications and services
- Know how such systems are realized by relying on core distributed computing concepts
Topics
- Introduction: definitions, design goals, and types
- Architectures: styles, middleware, system, etc.
- Processes: threads, virtualization, clients, servers, etc.
- Communication: foundation, remote call, message-oriented communication, etc.
- Naming: flat, structured, and attribute-based naming approaches
- Coordination: clock synchronization, clock, election algorithm, etc.
- Consistency and replication: client-centric consistency models and replica management
- Fault tolerance: process resilience, reliable communication, recovery
- Security: secure channel, access control, secure naming
Recent Information
- Term: Winter 2025
- Time: TT 1:00 PM-2:15 PM
- Room: State Hall 2211 (In-person by default, online attendance is available upon approval).
- Prerequisites: CSC 5250 with a minimum grade of C or waived by the instructor
- Registration due on Dec 15, 2024