Distributed Systems: Dr.P.Amudha Associate Professor
Distributed Systems: Dr.P.Amudha Associate Professor
Introduction
Dr.P.Amudha
Associate Professor
What is an Operating System
An operating system is:
4
6 Aug 2021
Definition of a Distributed System (1)
A distributed system is (Tannenbaum):
6
6 Aug 2021
Consequences
• Concurrent execution of processes:
– Non-determinism, race conditions, synchronisation, deadlocks,
…
• No global clock
– Coordination is done by message exchange
– No single global notion of the correct time
• No global state
– No process has a knowledge of the current global state of the
system.
• Units may fail independently
– Network faults may isolate computers that are still running
– System failures may not be immediately known
7
6 Aug 2021
Why do we have distributed
systems?
• People are distributed but need to work together…
• Hardware needs to be physically close to people
(who are distributed)…
• Information is distributed but needs to be shared
(trustworthily)…
• Hardware can be shared (increases computing power
by doing work in parallel; more efficient resource
utilisation)…
8
6 Aug 2021
Examples of distributed
systems…
• Intra-nets, Inter-net, WWW, email, …
• DNS (Domain Name System)
– Hierarchical distributed database
• Distributed supercomputers, Grid/Cloud computing
• Electronic banking
• Airline reservation systems
• Peer-to-peer networks
• Sensor networks
• Mobile and Pervasive Computing
9
6 Aug 2021
Evolution
• Parallel Computing was a hot topic in the 70s and 80s. (the
vision existed since the 1920s)
– Cluster computers started dominating in the 1990s.
• Early distributed systems:
– Airline reservation systems
– Banking systems
• The real proliferation came with developments in network
technology and the WWW (early 90s)
10
6 Aug 2021
Definition of a Distributed System (2)
A service is managed by one or more servers, which provide access to a set of resources
• Transparency
• Openness
• Scalability
Connecting users and Resources
Hence information can be collected about the loads on all machines and use
graph theory algorithms to compute optimal routes
But collecting and transporting information will again overload the network
which must be avoided.
Figure 1-4. The difference between letting (a) a server or (b) a client check forms as they
are being filled.
Figure 1-5. An example of dividing the DNS name space into zones.
• It splits a component into smaller parts and spreading across the system (Eg., The DNS name space is
hierarchically organized into tree of domains, which are divided into non-overlapping zones
• Names in each zone are handled by a single name server
• Resolving a name returns the network address of the associated host
• eg., In the name nl.vu.cs.flits, to resolve, it is passed to the server of zone Z1.
• It returns the address of the server for zone Z2, to which vu.cs.flits can be handed.
• The server for Z2 will return the address of the server for zone Z3, which is capable of handing the last
part of the name and will return the address of the associated host
Scaling Technique 3 - Replication
• It is good idea to replicate components across a distributed system