- Introduction: What is a distributed system. Examples of distributed systems. Goals (transparency, open operation, scalability, robustness)
- Distributed Systems Hardware: Multiprocessors. Homogeneous multi-computer systems. Heterogeneous multi-computer systems
- Distributed Systems Software: Distributed operating systems. Network operating systems. Middleware
- Communication: The Client-server model. Remote Procedure Call. Calling remote objects. Message -based communication. Stream-based communication
- Causality: Relationship "happened - before"
- Distributed Algorithms: Leader Election, MSTs, Consensus, Mutual Exclusion, Replication
- Cloud Computing: Map-Reduce, Amazon EC2
During the course delivered lab exercises related to:
- Programming familiarity with network protocols UDP / TCP
- Client – Server Paradigm
- Peer-to-Peer Paradigm
- Migrating applications using serialization
- Implementation of RMI mechanism
- System Implementation by calling remote procedures.
- Implementation on the Hadoop middleware
- Selection of a distributed system and presentation in class