Subject OverviewAn advanced study of distributed computing principles, architectures, algorithms, platforms and management practices. The subject integrates classical theory with cloud-native systems, distributed data processing, edge computing, distributed AI, security, governance, reliability engineering and strategic technology decision-making. Learning GoalEnable students to design, analyze, implement, evaluate and govern scalable, secure and fault-tolerant distributed systems; justify architectural and managerial decisions using theoretical models, quantitative evidence, case analysis and contemporary industry practices. Syllabus1. Foundations of Distributed ComputingLearning Objective: Define distributed systems and their goals, terminology, characteristics, design challenges, limitations and evolution; examine transparency, heterogeneity, openness, concurrency, scalability, partial failure and the end-to-end principle. Category: foundation 2. Distributed Architectures and System ModelsLearning Objective: Compare client–server, multi-tier, peer-to-peer, service-oriented, microservices, event-driven, serverless and decentralized architectures; analyze physical, architectural, interaction and failure models and apply CAP and PACELC reasoning. Category: foundation 3. Communication and Distributed APIsLearning Objective: Analyze message passing, sockets, RPC/RMI, REST, gRPC, publish–subscribe, message queues and event streaming; address serialization, interface contracts, timeouts, retries, backpressure, idempotency and delivery semantics. Category: core 4. Time, Ordering and Global StateLearning Objective: Apply physical clock synchronization, logical and vector clocks, causal ordering, consistent cuts, snapshots and distributed event ordering; explain the effects of asynchronous execution and clock uncertainty. Category: core 5. Coordination, Consensus and MembershipLearning Objective: Evaluate leader election, mutual exclusion, group membership, quorum systems and consensus; study Paxos, Raft, Byzantine agreement and impossibility results including FLP, with attention to safety and liveness. Category: core 6. Replication and ConsistencyLearning Objective: Design replicated services using primary–backup, active replication, quorum and anti-entropy approaches; compare linearizability, sequential, causal and eventual consistency, conflict resolution, CRDTs and session guarantees. Category: core 7. Fault Tolerance and Resilience EngineeringLearning Objective: Model crash, omission, timing and Byzantine faults; apply redundancy, failure detection, checkpointing, recovery, circuit breakers, bulkheads and graceful degradation; quantify availability, reliability, recovery objectives and resilience trade-offs. Category: core 8. Distributed Storage, Databases and TransactionsLearning Objective: Examine partitioning, sharding, distributed file systems, object stores, NoSQL and NewSQL databases; apply ACID, isolation levels, concurrency control, two-phase commit, sagas and compensating transactions to distributed workflows. Category: core 9. Distributed Data Processing and AnalyticsLearning Objective: Design batch, stream and graph-processing pipelines using MapReduce, dataflow, actor and event-stream models; evaluate partitioning, locality, windowing, state management, exactly-once claims, data quality and real-time analytics. Category: application 10. Cloud, Cluster and Edge Computing PlatformsLearning Objective: Assess virtualization, containers, orchestration, service discovery, scheduling, autoscaling, load balancing, service meshes, serverless computing, fog and edge systems; compare cloud deployment and multi-cloud operating models. Category: application 11. Distributed Application Engineering and DevOpsLearning Objective: Apply domain-driven decomposition, API and event design, configuration management, infrastructure as code, CI/CD and progressive delivery; test distributed systems using simulation, fault injection, chaos engineering and reproducible environments. Category: application 12. Performance, Observability and Capacity DecisionsLearning Objective: Use logs, metrics, traces and profiling to diagnose systems; analyze latency, throughput, contention, queuing, tail behavior and scalability; conduct benchmarking, capacity planning, cost optimization and service-level objective management. Category: application 13. Security, Privacy, Ethics and GovernanceLearning Objective: Address distributed identity, authentication, authorization, zero-trust networking, encryption, key management and supply-chain security; govern privacy, data sovereignty, auditability, responsible monitoring, regulatory compliance and ethical system use. Category: strategic 14. Distributed AI and Intelligent SystemsLearning Objective: Examine distributed training, data and model parallelism, parameter servers, federated learning, inference serving and MLOps; evaluate communication costs, privacy, bias, reproducibility, accelerator scheduling and reliable AI operations. Category: contemporary 15. Architecture Strategy and Emerging DirectionsLearning Objective: Lead build-versus-buy, platform, migration and digital-transformation decisions using risk, cost, sustainability and business-value analysis; evaluate case studies and emerging developments in confidential computing, Web3, quantum networking, autonomous operations and sustainable distributed systems. Category: strategic
|