Distributed System
Distributed System
DISTRIBUTED
SYSTEMS
UNIT I INTRODUCTION
Introduction: Definition –Relation to computer system components –
Motivation –Relation to parallel systems – Message-passing systems
versus shared memory systems –Primitives for distributed
communication –Synchronous versus asynchronous executions –Design
issues and challenges. A model of distributed computations: A
distributed program –A model of distributed executions –Models of
communication networks –Global state – Cuts –Past and future cones
of an event –Models of process communications. Logical Time: A
framework for a system of logical clocks –Scalar time –Vector time –
Physical clock synchronization: NTP.
Challenges in Distributed System
• Heterogeneity – In h/w, OS,N/W, Programming languages etc . Mobile code:
code transferred from one computer to another as executables are
dependent on an instruction set & OS. Ex: Java applets
• Transparency – concealing from the user about the separation of components
- Access transparency : hide differences in data representation and how
resources are accessed.
- Location transparency : hide where a resource is located
- Migration transparency : hide a resource may move to another location
- Relocation transparency: hide a resource has moved to another location
- Replication transparency: hide a resource may be copied to another place
Challenges in Distributed System
- Concurrency transparency: hide distributed serializable or hide that a resource is shared with
competitive users.
- Failure transparency: hide the failure & the recovery of a resource
- Persistence transparency: hide whether a resource is in memory / disk
• Openess: s/s can be extended/ reimplemented. Ex: Twitter & facebook provides extendability
to add s/w using APIs.
• Concurrency: multiple clients access resources which is bound to change objects like bidding
in auctions, results displayed post exams in Universities. Through semaphore we achieve
concurrency
• Security: Sharing of sensitive resources . Availability , Integrity, Confidentiality are to be taken
care of.
• Scalability: Size – overloading problem communication ; geographical – reliability problem,
administrative mess (as controllable feature)
• Failure handling – h/w or s/w failure could happen, but computation should continue without
interrupts.
Relation to computer system
components
Relation to computer system
components
• Each computer has a memory & processing unit connected by
communication network
• Every computer uses its OS and network protocol stack for
functioning.
• Distributed software-> middleware
• Distributed Execution: Execution of the processes across the
distributed systems to achieve a common goal. Also called as
Computation or Run.
• Layered architecture – to reduce the complexity.
• Middleware: distributed software that drives the distributed system
to provide transparency of heterogeneity.
Relation to computer system
components
• Schematic diagram, displays the s/w – middleware communication
between the s/s components of the processor.
• http, ftp, mail, telnet protocols are not present in the application layer
of the middleware.
• Middleware libraries: have primitives and the function calls
embedded into the user program.
• Libraries contain functions for reliable and ordered multicasting.
• Reliable multicast : allows a group of processes to agree on a set of
messages received by the group which does not consider ordering ,
but ordered multicast resolves this as well.
Relation to computer system
components
• Standards like OMGs – Object Management Group like CORBA –
Common Object Request Broker Architecture, RPC- Remote Method
Invocation – which works like a local procedure call.
• Commercial versions of Middleware use: CORBA, DCOM- Distributed
Component Object Model, Java, RMI- Remote Method Invocation,
MPI – Message Passing Interface.
Parallel vs Distributed Systems
Parallel Systems vs Distributed
Systems
Parallel Systems Distributed Systems
Main focus: Performance & Scientific Computing. Performance in terms of cost, scalability. Reliability
and Resource sharing are the main focus.
Relation to parallel multiprocessor
systems
• Multiprocessor systems
• Multicomputer parallel systems
• Array processors
• Flynn’s taxonomy
• Coupling, parallelism , concurrency & granularity
Relation to parallel multiprocessor
systems -UMA
Relation to parallel multiprocessor systems - UMA