90 likes | 95 Views
Explore the concept of distributed systems, their characteristics, importance, examples, challenges, and implementations. Learn about parallel vs. distributed systems, concurrent vs. asynchronous systems, and the theory vs. practice debate in this field.
E N D
What is a distributed system? “A distributed system is one on which I can’t do my work some computer has failed that I never heard of.” -Leslie Lamport. Network of processes.
Typical characteristics • Multiple sequential processes • Inter-process communication via messages • Disjoint address spaces • Collective goal
Why distributed systems? Sometimes, it is natural. Think of geographically distributed applications. ATMs, servers, battlefields Speed-up. Example: grid computing Resource sharing. Distributed database, peer-to-peer networks Fault-tolerance. Trade-off between total collapse and graceful degradation.
More examples WWW Banking network Process control systems SETI@home Distributed file systems Smart dust and wireless sensor networks Client-server vs peer-to-peer
Issues and challenges Handicapped due to the lack of global knowledge. Topology and connectivity Lack of a global time frame Non-determinism Synchrony and asynchrony Types of failures Privacy and security Yet, the system has to deliver.
Example implementations Loosely coupled MIMD machines (i.e. a network) Old examples: network of transputers. Modern example: wireless network of smart dusts, neural nets Amoeba, Mach, Windows NT are micro-kernel based operating systems where processes communicate via messages What about shared memory multiprocessors?
Parallel vs. Distributed Systems In both, events or actions can at best be partially ordered. Parallel systems. Consists of processes in a SIMD type environment. All processes have a uniform view of the global state. Distributed systems. Cooperating processes with private address spaces communicating via messages. Concurrent systems. Asynchronous systems communicating via shared memory . No uniform consensus on these definitions.
Now solve this How many emails travel the Internet around Sunday noon? Perhaps it is a bad question. But can you realize the underlying problems?
Theory vs. practice The community is divided into two camps, although they are expected to complement each other’s efforts. Models, proofs mutual exclusion, group communication, replication, transaction deadlock, consensus Java, Jini, RPC, RMI CORBA, DCOM, Middleware Kerberos, PGP