Chapter-1-Introduction to Distributed System (1).pptx

mershaabdisa 5 views 41 slides Oct 31, 2025
Slide 1
Slide 1 of 41
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41

About This Presentation

Asd


Slide Content

1 Introduction to Distributed Systems [email protected] Chapter 1

Course Outline 2 Introduction to DS: Introduction and Definition, Characteristics, Goals of a Distributed System, Types of Distributed Systems. Architectures: Architectural Styles, System Architectures . Processes: Threads and their Implementation, Anatomy of Clients, Servers and Design Issues, Code Migration Communication: Network Protocols and Standards, Remote Procedure Call, Message-Oriented Communication, Stream-Oriented Communication, Multicast Communication. Naming: Names, Identifiers, and Addresses, Flat Naming, Structured Naming, Attribute-Based Naming, Synchronization: Clock Synchronization, Logical Clocks, Mutual Exclusion, Election algorithms, Consistency and Replication: Reasons for Replication, Data-Centric Consistency Models, Client-Centric Consistency Models, Replica Management, Consistency Protocols, Fault Tolerance: Introduction to Fault Tolerance, Process Resilience, Reliable Client-Server Communication, Reliable Group Communication, Distributed Commit, Recovery

Course Outline Continued 3 The main Objective of this course is to introduce: Explain what a distributed system is The current DS development Techniques Their construction issues Issues that are involved in building reliable distributed systems, and Possible applications of distributed systems. Design a distributed system that fulfills requirements with regards to key distributed systems properties.

Introduction Before the mid-80s:computers were Very expensive (hundred of thousands or even millions of dollars). Very slow (a few thousand instructions per second). Not connected among themselves. After the mid-80s: two major developments Cheap and powerful microprocessor-based computers appeared. Computer networks LANs at speeds ranging from 10 to 1000 Mbps (now even 10Gbps) WANs at speed ranging from 64 Kbps to gigabits/sec. Consequence Feasibility of using a large network of computers to work for the same application; this is in contrast to the old centralized systems where there was a single computer with its peripherals. 4

Definition of a Distributed System A distributed system is a collection of independent computers that appears to its users as a single coherent system computer ( Tanenbaum & Van Steen ) This definition has two aspects: hardware : autonomous machines software : a single system view for the users A distributed system is one that stops you getting any work done when a machine you have never even heard of crashes ( Leslie ) A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages. ( George C.) 5

Middleware 6 The middleware layer extends over multiple machines, and offers each application the same interface. Goal is to hide the heterogeneity of the underlying OS and HWs What does it contain? Commonly used components and functions that need not be implemented by applications separately.

Middleware 7 Middleware is software that usually referred as the OS of distributed systems Manage resources for its applications. Moreover, it offers services that can also be found in most operating systems, including: Facilities for inter-application communication. Security services. Accounting services. Masking of and recovery from failures. Example middleware service. Remote Procedure Call (RPC) - allows an application to invoke a function that is implemented and executed on a remote computer as if it was locally available.

Examples of Distributed Systems 8 Local Area Network Database Management System Automatic Teller Machine Network Internet/World-Wide Web Mobile Computing/Mobile Communication

Local Area Network 9

Database Management System 10

Automatic Teller Machine 11

Mobile Computing/Mobile Communication 12

Characteristics of Distributed Systems Differences between the computers and the ways they communicate are hidden from users Users and applications can interact with a distributed system in a consistent and uniform way regardless of location Distributed systems should be easy to expand and scale A distributed system is normally continuously available , even if there may be partial failures (Fault tolerance) 13

Advantages of Distributed Systems Performance : Very often a collection of processors can provide higher performance (and better price/performance ratio) than a centralized computer. Distribution : many applications involve, by their nature, spatially separated machines (banking, commercial, automotive system). Reliability (fault tolerance) : if some of the machines crash, the system can survive. Incremental growth : as requirements on processing power grow, new machines can be added incrementally. Sharing of data/resources : shared data is essential to many applications (banking, computer supported cooperative work, reservation systems); other resources can be also shared (e.g. expensive printers). Communication : facilitates human-to-human communication. 14

Disadvantages of Distributed Systems 15 Difficulties of developing distributed software : how should operating systems, programming languages and applications look like? Networking problems : several problems are created by the network infrastructure, which have to be dealt with: loss of messages, overloading, ... Security problems : sharing generates the problem of data security.

Goals of a Distributed System - Making Resources accessible Connect users and resources. Easily connect (printers, computers, storage facilities, data, files, Web pages, ...)..Some of the reasons.. economics : sharing resources such as printers and high-speed computers.. to collaborate and exchange information groupware : software for collaborative editing, teleconferencing, etc. e-commerce : buying and selling goods. 16

Goals of Distributed System - Transparency A distributed system that is able to present itself to users and applications as if it were only a single computer system is said to be transparent . 17

Different forms of transparency in a distributed system 18

Goals of Distributed System - Openness Openness is concerned with extensions and improvements of distributed systems according to standard rules that describe their syntax and semantics. Detailed interfaces of components need to be published. New components have to be integrated with existing components. Differences in data representation of interface types on different processors (of different vendors) have to be resolved. Interoperability : components of different origin can communicate Portability : components work on different platforms 19

Goals of Distributed System - Scalability A distributed system should be scalable; there are three dimensions size : adding more users and resources to the system geographically : users and resources may be far apart administratively : should be easy to manage even if it spans many administrative organizations Scalability allows the system and applications to expand in scale without change to the system structure or the application algorithms. But a scalable system may exhibit performance problems 20 Scalability Problems Concept Example Centralized services - A single server for all users Centralized data - A single on-line telephone book Centralized algorithms - Doing routing based on complete information

Scaling Techniques: How to solve scaling problems The problem is mainly performance, and arises as a result of limitations in the capacity of servers and networks (for geographical scalability with high latency and mostly unreliable links) Three possible solutions: Hiding communication latencies Distribution and Replication 21

A. Hide Communication Latencies 22

B. Distribution Means splitting a component into smaller parts and spreading those parts across the system e.g., DNS -Domain Name System ..divide the name space into non over lapping zones 23

C. Replication Replicate components across a distributed system to increase availability and for load balancing , leading to better performance replication is decided by the owner of a resource Caching (a special form of replication) also reduces communication latency; decided by the user but, caching and replication may lead to consistency problems 24

Pitfalls when Developing Distributed Systems Because of false assumptions made by first time developers (of distributed systems) which are related to the properties of distributed systems and do not occur in non distributed applications. The network is reliable (making it difficult to achieve failure transparency) The network is secure The network is homogeneous The topology does not change Latency is zero Bandwidth is infinite Transport cost is zero There is one administrator 25

Types of Distributed System Three main types: Distributed computing systems Focus on computation Goal: High performance computing tasks Distributed information systems Focus on interoperability (the ability to exchange and use information) Goal: Distribute information across several servers Distributed pervasive systems Focus on mobile, embedded, communicating systems Goal: Spread a real-life environment with a large variety of smart devices 26

Distributed Computing Systems: Cluster Computing Essentially a group of systems connected through a high speed LAN. Homogeneous : Same OS, near-identical hardware Single managing node Tightly coupled systems A master node runs a middleware (containing libraries for parallel programs) and controls other compute nodes Centralized job management & scheduling system 27

Distributed Computing Systems: Grid Computing Lots of nodes (including clusters across multiple subnets) from everywhere. Heterogeneous : no assumptions are made concerning hardware, operating systems, networks, administrative domains, security policies, etc. Diversity and dynamism (it can handle nodes dropping in and out at any point of time) Dispersed across several organizations and can easily span a wide-area network To allow for collaborations, grids generally use virtual organizations (grouping of users that will allow for authorization on resource allocation). Loosely coupled (decentralization) Distributed job management & scheduling 28

Distributed Computing Systems: Cloud Computing Web-based tools or applications that users can access and use through a web browser as if it were a program installed locally on their own computer. Internet-based computing offers dynamically scalable and virtualized resources that make up services for users to use over the internet The only thing the user's computer needs to be able to run is the cloud computing system's interface software 29

30 Evolved in organizations that were confronted with a wealth of networked applications, but for which interoperability turned out to be problematic. Many of the existing middleware solutions are the result of working with an infrastructure in which it was easier to integrate applications into an enterprise-wide information system.  Several levels at which integration took place: A networked application simply consisted of a server running that application (often including a database) and making it available to remote programs, called clients . Such clients could send a request to the server for executing a specific operation, after which a response would be sent back. Integration at the lowest level would allow clients to wrap a number of requests, possibly for different servers, into a single larger request and have it executed as a distributed transaction. The key idea was that all, or none of the requests would be executed. Distributed Information Systems

… Cont’d As applications became more sophisticated and were gradually separated into independent components, it became clear that integration should also take place by letting applications communicate directly with each other. The vast amount of distributed systems in use today is in the form of traditional information systems. Example: Transaction processing systems BEGIN TRANSACTION(server, transaction); READ(transaction, file-1, data); WRITE(transaction, file-2, data); newData := MODIFIED(data); IF WRONG( newData ) THEN ABORT TRANSACTION(transaction); ELSE WRITE(transaction, file-2, newData ); END TRANSACTION(transaction); END IF; Note : All READ and WRITE operations are executed, i.e. their effects are made permanent at the execution of END TRANSACTION. Transactions form an atomic operation. 31

32 Focus on database applications - operations on a database are usually carried out in the form of transactions. special primitives are required to program transactions, supplied either by the underlying distributed system or by the language runtime system Exact list of primitives depends on the type of application; procedure calls, ordinary statements, etc. can also be included Distributed Information Systems: Transaction processing systems

… Cont’d 33 Transaction between processes: e.g., assume the following banking operation withdraw an amount x from account 1 deposit the amount x to account 2 what happens if there is a problem after the first activity is carried out? group the two operations into one transaction; either both are carried out or neither we need a way to roll back when a transaction is not completed

… Cont’d A transaction is a collection of operations on the state of an object (database, object composition, etc.) that satisfies the following properties (ACID): Atomicity : All operations either succeed, or all of them fail. When the transaction fails, the state of the object will remain unaffected by the transaction. Consistency : A transaction establishes a valid state transition. This does not exclude the possibility of invalid, intermediate states during the transaction’s execution. Isolation : Concurrent transactions do not interfere with each other. It appears to each transaction T that other transactions occur either before T, or after T, but never both. Durability : After the execution of a transaction, its effects are made permanent: Changes to the state survive failures. 34

Distributed Pervasive Systems The distributed systems discussed so far are characterized by their stability ; fixed nodes having high-quality connection to a network A next-generation of distributed systems emerging in which the nodes are small , wireless , battery-powered , mobile (e.g. PDAs, smart phones, wireless surveillance cameras, portable ECG monitors, etc.), and often embedded as part of a larger system. Some requirements: Contextual change : The system is part of an environment in which changes should be immediately accounted for. Ad hoc composition : Each node may be used in a very different ways by different users. Requires ease-of-configuration. Sharing is the default : Nodes come and go, providing sharable services and information . 35

36 Home Systems built around home networks· consist of one or more personal computers integrate consumer electronics such as TVs, audio and video equipment, gaming devices, (smart) phones, PDAs, and other personal wearables into a single system. Now/Soon: all kinds of devices such as kitchen appliances, surveillance cameras, clocks, controllers for lighting, and so on, will all be hooked up into a single distributed system. Several challenges: System should be completely self-configuring and self-managing e.g.  Universal Plug and Play (UPnP) standards by which devices automatically obtain IP addresses, can discover each other, etc. Unclear how software and firmware in devices can be easily updated without manual intervention, or when updates do take place, that compatibility with other devices is not violated. Distributed Pervasive Systems: Examples

Electronic health System New devices are being developed to monitor the well-being of individuals and to automatically contact physicians when needed. Major goal is to prevent people from being hospitalized. Questions to be raised: Where and how should monitored data be stored? How can we prevent loss of crucial data? What infrastructure is needed to generate and propagate alerts? How can security be enforced? How can physicians provide online feedback? 37 Distributed Pervasive Systems: Examples

Sensor Networks Consists of spatially distributed autonomous sensors to cooperatively monitor physical or environmental conditions, such as temperature, sound, vibration, pressure, motion or pollutants, etc. The nodes to which sensors are attached are: Many (10s-1000s) Simple (i.e., hardly any memory, CPU power, or communication facilities) Often battery-powered 38 Distributed Pervasive Systems: Examples

Related Concepts : Parallel Systems 39 Parallel Computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently (in parallel). In parallel computing, all processors have access to a shared memory. Shared memory can be used to exchange information between processors. In distributed computing, each processor has its own private memory (distributed memory). Information is exchanged by passing messages between the processors.

40 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. Distributed System Characteristics Multiple autonomous components. Components are not shared by all users. Resources may not be accessible. Software runs in concurrently on different processors. Multiple points of control. Multiple points of failure. Related Concepts : Centralized System

41 ?
Tags