Distributed System PDF
Document Details
Uploaded by GracefulAllegory
Hailemichael A.
Tags
Summary
This document provides an overview of distributed systems, including their characteristics, goals, and the client-server model. It covers topics such as scalability, transparency, fault tolerance, and concurrency.
Full Transcript
DISTRIBUTED SYSTEM Distributed Systems Characterization,goal andclient- server model 1 Instructor:Hailemichael A. OUTLINE 1. What is a Distributed System 2. Common Characteristics 3.organization and goals of...
DISTRIBUTED SYSTEM Distributed Systems Characterization,goal andclient- server model 1 Instructor:Hailemichael A. OUTLINE 1. What is a Distributed System 2. Common Characteristics 3.organization and goals of distributed systems 4. hardware and software concept 5.client-server model 6.SUMMARY 2 Instructor:Hailemichael A. 1. WHAT IS A DISTRIBUTED SYSTEM? Definition: A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages. 3 Instructor:Hailemichael A. 1.1 CENTRALIZED SYSTEM CHARACTERISTICS One component with non-autonomous parts Component shared by users all the time All resources accessible Software runs in a single process Single point of control Single point of failure 4 Instructor:Hailemichael A. CHARACTESTICS OF DISTRIBUTED SYSTEM Multiple autonomous components Components are not shared by all users Resources may not be accessible Software runs in concurrent processes on different processors Multiple points of control Multiple points of failure 5 Instructor:Hailemichael A. 3. COMMON CHARACTERISTICS What are we trying to achieve when we construct a distributed system? Certain common characteristics can be used to assess distributed systems Scalability Transparency Fault Tolerance Concurrency Heterogeneity 6 Instructor:Hailemichael A. 3.1SCALABILITY VAbility to grow and manage increased load by adding more resources. Can be horizontal (adding more machines) or vertical (adding resources to existing machines). 7 Instructor:Hailemichael A. 3.2 TRANSPARENCY Access Transparency: Users should not be aware of the location of resources. Location Transparency: Resources can be accessed without knowing their physical location. Migration Transparency: Resources can move without affecting the operations. 8 Instructor:Hailemichael A. 3.4 FAULT TOLERANCE Ability to continue operating in the event of a failure of one or more components. Redundancy and replication are often used to achieve this. Fault tolerance is achieved by recovery redundancy 9 Instructor:Hailemichael A. 3.6 CONCURRENCY Components in distributed systems are executed in concurrent processes. Components access and update shared resources (e.g. variables, databases, device drivers). Integrity of the system may be violated if concurrent updates are not coordinated. Lost updates Inconsistent analysis 10 Instructor:Hailemichael A. HETEROGENEITY Supports a variety of hardware, operating systems, and networks. Allows for the integration of diverse components. 11 Instructor:Hailemichael A. 4.4 SYSTEM ARCHITECTURES Client-Server Peer-to-Peer 12 Instructor:Hailemichael A. 4.4.1 CLIENTS INVOKE INDIVIDUAL SERVERS Client invocation invocation Server result result Server Client Key: Process: Computer: 13 Instructor:Hailemichael A. 4.4.2 PEER-TO-PEER SYSTEMS Peer 2 Peer 1 Application Application Sharable Peer 3 objects Application Peer 4 Application Peers 5.... N 14 Instructor:Hailemichael A. 1.3 ORGANIZATION OF DISTRIBUTED SYSTEMS COMPONENTS: Nodes: Individual computers or devices in the network. Middleware: Software that provides common services and capabilities to applications outside of what's offered by the operating system. Communication Protocols: Define the rules for data exchange between nodes. 15 Instructor:Hailemichael A. ARCHITECTURAL MODELS Client-Server Architecture: A server provides resources or services, and clients request them. Peer-to-Peer Architecture: All nodes act as both clients and servers. Multi-tier Architecture: Divides the application into layers, improving scalability and manageability. 16 Instructor:Hailemichael A. 1.4 GOALS OF DISTRIBUTED SYSTEMS Resource Sharing: Enable users to access and share resources efficiently. Openness: Systems should be designed with open standards to allow for easy integration and expansion. Reliability: Ensure that the system can recover from failures. Performance: Provide high throughput and low latency in resource access. Security: Protect data and resources from unauthorized access and threats. 17 Instructor:Hailemichael A. 1.5 HARDWARE AND SOFTWARE CONCEPTS Hardware: Diverse hardware components including servers, workstations, and mobile devices. Network infrastructure like routers, switches, and communication links. Software: Distributed operating systems (e.g., Google Kubernetes). 18 Applications designed for distributed environments (e.g., cloud computing services). Instructor:Hailemichael 1.6 THE CLIENT-SERVER MODEL Overview: A foundational architecture for distributed systems. Clients request services, and servers provide them. Components: Client: Initiates requests for services. Server: Listens for requests, processes them, and sends responses. 19 Instructor:Hailemichael A. 5. SUMMARY Definitions of distributed systems and comparisons to centralized systems. The characteristics of distributed systems. The eight forms of transparency. The basic design issues. 20 Instructor:Hailemichael A.