Skip to content

Commit

Permalink
courses: add CSPC43 (#31)
Browse files Browse the repository at this point in the history
Co-authored-by: GetPsyched <[email protected]>
  • Loading branch information
Govind-Jangra and GetPsyched authored Nov 13, 2023
1 parent 09bbe56 commit 40fb9f4
Showing 1 changed file with 54 additions and 20 deletions.
74 changes: 54 additions & 20 deletions courses/CSPC43.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
code: CSPC43
title: Distributed Computing
similar: [ITPE44]
needs_screening: true

specifics:
- branch: CS
Expand All @@ -15,36 +14,71 @@ kind: PC2

# Objectives

- Objective 1
- Objective 2
- ...
- To understand fundamental concepts of distributed computing.
- To acquire knowledge to design and develop protocols for distributed systems and networks.

# Content

## Unit 1

1. **Topic 1:**
- Description line 1
- Description line 2
2. **Topic 2:**
- Description line 1
- Description line 2
- Fundamental issues in Distributed Systems
- Models of Distributed Computations
- Handling time through clocks
- Physical Time and Hardware Clock Synchronization
- Logical Time and Software Clocks
- Message Ordering Protocols
- Interprocess Communication
- Shared Memory Vs Message Passing Models
- Distributed and Localized Algorithms
- Evaluation of Correctness and Performance

## Unit 2

1. **Topic 1:**
- Description line 1
- Description line 2
2. **Topic 2:**
- Description line 1
- Description line 2
- Protocols for Routing and Designing Virtual Constructs
- MST, MIS, and CDS
- Distributed Mutual Exclusion
- Leader Election

## Unit 3

- Distributed Deadlock Detection
- Termination Detection
- Global State Computation and Snapshot Recording

## Unit 4

- Global Predicate Detection
- Fault-Tolerance Issues
- Basic Techniques for handling Crash Failure in Distributed Systems
- Checkpointing and Rollback Recovery
- Z-path and Z-cycles
- Other Types of Failures in Distributed Computing Systems
- Consensus and Agreement Protocols
- FLP impossibility
- Byzantine Generals Problem
- Failure Detectors
- Wait Freedom
- Self-Stabilization
- Peer-to-Peer Computing
- Overlay Structures
- Distributed Scheduling and Load Balancing
- Naming
- Security

# Reference Books

- Book 1
- Book 2
- A D Kshemkalyani and MukeshSinghal, Distributed Computing: Principles Algorithms, and Systems, Cambridge University Press 2008
- G Colouris, J Dollimore, and T Kindberg, Distributed Systems: Concepts and Design, 3/e Pearson Ed. 2002
- A S Tanenbaum and M van Steen, Distributed Systems: Principles and Paradigms, 3/e Pearson Ed. 2002
- V K Garg, Principles of Distributed Systems, Kluwer Academic Publishers, 1996
- Sukumar Ghosh, Distributed Systems: An Algorithmic Approach, 2/e Chapman& Hall
- V K Garg, Principles of Distributed Computing, IEEE Press
- Nancy Lynch, Distributed Algorithms, Morgan Kaufmann Press.Gerard Tel, Introduction to Distributed Algorithms, Cambridge University Press

# Outcomes

- Outcome 1
- Outcome 2
- Able to apply knowledge of operating systems and networks to distributed systems.
- Design distributed algorithms for complex computing problems.
- Analyze the performance of algorithms and evaluate the scalability of solutions.
- Adapt existing centralized algorithms to distributed set up.
- Simulate the algorithms in distributed environment.

0 comments on commit 40fb9f4

Please sign in to comment.