DISTRIBUTED
COMPUTING
By
Sunita Mahajan & Seema Shah
Presented By
Prof. S.J. Soni,
Asst. Professor, CE Dept.,
SPCE, Visnagar
CHAPTER-1
BASIC DISTRIBUTED SYSTEM CONCEPTS
What is a distributed system?
Tanenbaum’s definition of a distributed system: “
A distributed system is a collection of independent
computers that appear to the users of the system as
a single coherent system.”
© Oxford University Press 2011
An example of a Distributed System
Nationalized Bank with multiple Branch Offices
© Oxford University Press 2011
Requirements of Distributed systems
Security and reliability.
Consistency of replicated data.
Concurrent transactions (operations which involve
accounts in different banks; simultaneous access
from several users, etc)
Fault tolerance
© Oxford University Press 2011
Architectures for Distributed systems
Shared memory architectures / Tightly coupled
systems
easier to program
Distributed memory architectures / Loosely coupled
systems
offera superior price performance ratio and are
scalable
© Oxford University Press 2011
Architectures for Distributed systems
© Oxford University Press 2011
Distributed Computing Models
Workstation model
Workstation–server model
Processor-pool model
© Oxford University Press 2011
Workstation model
Consists of network of personal computers,
Each one with its own hard disk and local file system
Interconnected over the network
© Oxford University Press 2011
Workstation model
This model is not very easy to implement, since
several issues need to be resolved. They are:
How to find an idle workstation?
How to transfer a process from one workstation to
another workstation in a transparent manner?
What happens to the remote process when a user logs
on to that workstation and a home process is created?
© Oxford University Press 2011
workstation-server model
Consists of multiple workstations (diskless) coupled
with powerful servers with extra hardware to store
the file systems and other software like databases
© Oxford University Press 2011
processor-pool model
consists of multiple processors: a pool of processors
and a group of workstations
© Oxford University Press 2011
Advantages of Distributed systems
• Inherently distributed applications
• Information sharing among
geographically distributed users
• Resource Sharing
• Better price performance ratio
• Shorter response time & higher
throughput
• Higher reliability and availability
against component failures
• Extensibility and Incremental Growth
• Better Flexibility
© Oxford University Press 2011
Disadvantages of Distributed
systems
Relevant software does not exist currently
Security poses a problem due to easy access to all
data
Networking saturation may cause a hurdle in data
transfer.
© Oxford University Press 2011
Software concepts
Network Operating System (NOS)
Distributed Operating System (DOS)
Multiprocessor Time Sharing System
© Oxford University Press 2011
Network Operating System (NOS)
Build using a distributed system from a network of
workstations connected by high speed network.
Each workstation is an independent computer with its
own operating system, memory and other resources
like hard disks, file system and databases
© Oxford University Press 2011
Distributed Operating System (DOS)
• Enables a distributed system to behave like a
virtual uniprocessor even though the system
operates on a collection of machines.
• Characteristics
– enabling Inter process communication,
– Uniform process management mechanism,
– Uniform and visible file system,
– Identical kernel implementation,
– Local control of machines
– handling scheduling issues.
© Oxford University Press 2011
Multiprocessor Time Sharing System
Combination of tightly coupled software and tightly
coupled hardware with multiple CPUs projecting a
uniprocessor image.
Tasks are queued in shared memory and are
scheduled to be executed in time shared mode on
available processors.
© Oxford University Press 2011
Comparison of different Operating
systems
Software Concepts
© Oxford University Press 2011
Issues in Designing Distributed
systems
Transparency
Flexibility
Reliability
Performance
Scalability
Security
© Oxford University Press 2011
Transparency
Transparencies required for Distributed Systems
© Oxford University Press 2011
Replication Transparency
Locating Replicated File stored on any server
© Oxford University Press 2011
Flexibility
Monolithic kernel approach
Microkernel approach
© Oxford University Press 2011
Monolithic kernel approach
uses the minimalist , modular approach with
accessibility to other services as needed.
© Oxford University Press 2011
Microkernel approach
uses the kernel does it all approach with all
functionalities provided by the kernel irrespective
whether all machines use it or not
© Oxford University Press 2011
Monolithic versus Microkernel
Approach
© Oxford University Press 2011
Reliability
• Availability in case of Hardware failure
• Data recovery in case of Data failure
• Maintain consistency in case of replicated data
© Oxford University Press 2011
Performance
Metrics are:
Response time,
Throughput,
System utilization
Amount of network capacity used
© Oxford University Press 2011
Scalability
Techniques to handle scalability issues
hide communication latencies,
hide distribution
hide replication
© Oxford University Press 2011
Hide communication latencies,
© Oxford University Press 2011
Hide distribution
© Oxford University Press 2011
Security
confidentiality means protection against
unauthorized access;
integrity implies protection of data against
corruption
availability means protection against failure always
accessible.
© Oxford University Press 2011
Client Server model
Client Server Interaction
© Oxford University Press 2011
Client Server addressing techniques
Machine addressing,
process addressing
Name server addressing
© Oxford University Press 2011
Client Server addressing techniques
© Oxford University Press 2011
Client Server implementation
Messages for client server interaction
Request, Reply, Acknowledge, Are you Alive, I am Alive.
© Oxford University Press 2011
differentiation between the client and
the server
User interface level
Processing level
data level
© Oxford University Press 2011
Client Server Architecture
© Oxford University Press 2011
© Oxford University Press 2011
Case Study: World Wide Web 1.0
© Oxford University Press 2011
Internet scenario with web servers and
web browsers
© Oxford University Press 2011
Case study: World Wide Web 2.0
© Oxford University Press 2011
Case Study: Google Servers
© Oxford University Press 2011
Summary
• Multiple-interconnected computers can have either
shared memory or distributed memory architectures
• Distributed systems offer integration of distributed
applications, resource sharing, more reliability,
better flexibility
• Network operating system, distributed operating
system and multiprocessor timesharing system are
different types of distributed systems
© Oxford University Press 2011
This slide is available on
www.worldsj.wordpress.com
© Oxford University Press 2011