Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Systems and Concurrency: Distributed Systems

Similar presentations


Presentation on theme: "Distributed Systems and Concurrency: Distributed Systems"— Presentation transcript:

1 Distributed Systems and Concurrency: Distributed Systems
Majeed Kassis

2 What is a distributed system?
A distributed system is a collection of independent computers that appear to the users of the system as a single system. They communicate by using a network by passing messages. Successful distributed system requires: Networking Processors Memory and Storage Communication Protocols

3 Key Characteristics of Distributed Systems
Resource Sharing Openness Concurrency Scalability Fault Tolerance Transparency

4 Resource Sharing Resource Sharing Freedom Controlled Access
Ability to use any hardware, software or data anywhere in the system. Controlled Access Resource manager controls concurrent access to resources Resource Sharing Protocol How resources are provided - provider How to acquire resources - user How user provider interaction is defined The systems needs a well defined protocol for resource sharing

5 Openness Changes Visibility Interface Visibility Integration
System changes and improvements must be visible to users! Interface Visibility Detailed interfaces of components need to be published. Integration New components have to be integrated with existing components. Backward Computability Differences in data representation of interface types on different processors (of different vendors) have to be resolved.

6 Concurrency Concurrent Execution Concurrent Access
Components in distributed systems are executed in concurrent processes. Concurrent Access Components access and update shared resources concurrently Concurrent Integrity Concurrent access to shared resources must be coordinated To avoid data loss To avoid inconsistent state Inconsistent state of the system : -> partial database modification of a transaction without rollback Inconsistent state of memory: -> constructor that crashes -> a list of set() that fails in the middle

7 Scalability Adaption of distributed systems to accommodate: Done by:
more users respond faster Done by: Upgrading hardware Upgrading software Upgrading protocols (networking protocols, storage protocols) Components should not need to be changed when scale of a system increases. Design components to be scalable! Upgrading hardware: more computers, more ram, more disk space Upgrading software: improved OS, file systems, storage systems, etc Upgrading protocols: newer connectivity protocols (Ethernet), better storage protocols

8 Fault Tolerance Failures in distributed systems are not uncommon
Software failure – program crashes Hardware failure – HDDs die, routers fail, RAM gets corrupt, etc Distributed systems achieve fault tolerance by: Recovery Recovery of failed process Redundancy Data is copied to multiple places Solves data loss in case of hardware failure

9 Transparency Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components. The users need not know that the system is distributed. The users interaction with a distributed system is exactly with that of a centralized system.

10 Types of Transparency Type Explanation Access Transparency
Accessing local and remote data is done using the same commands Location Transparency Accessing local or remote data should not be affected by its location Concurrency Transparency Executing several processes operating on shared data should not cause conflicts Replication Transparency Duplication of data should not require the users or applications for special care Failure Transparency Failure of process or hardware should not hinder the users from completing their tasks Migration Transparency Migrating data should not affect the regular operation of the system Performance Transparency Allows the system to be reconfigured to improve performance (load balancing) Scaling Transparency Expanding the system should not require system structure/implementation change

11

12


Download ppt "Distributed Systems and Concurrency: Distributed Systems"

Similar presentations


Ads by Google