Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Distributed System

Similar presentations


Presentation on theme: "Introduction to Distributed System"— Presentation transcript:

1 Introduction to Distributed System
Chapter 1 Introduction to Distributed System Outlines Definition Characteristics Organization and Goals of Distributed Systems Hardware and Software Concepts The Client-server Model Distributed System

2 Chapter-1: Introduction to Distributed System
Computer systems are undergoing a revolution and modern computer is started from 1945. At that time, computers are very large and expensive Later, around the mid-1980s, there are two advances in technology began to change that situation. The development of powerful microprocessors( 8, 16,32 and 64 bits) The invention of high-speed computer networks (LANs) A distributed system is a collection of independent computers that appears to its users as a single coherent system. Distributed System

3 Chapter-1: Introduction to Distributed System
It is used to connect multiple components together in a shorter space and the communication component was more or less based on cabling. It is also a collection of autonomous computers linked by a computer network that appear to the users of the system as a single computer. How to connect independent computers? Networks and protocols How to make them appear as a single system? Distributed software A distributed system enables machines involved: Coordinate their activities Share resources- hardware, software, data, etc. Distributed System

4 Chapter-1: Introduction to Distributed System
key features of a distributed system are: Components in the system are concurrent. A distributed system allows resource sharing, including software by systems connected to the network at the same time. There can be multiple components, but they will generally be autonomous in nature. A global clock is not required in a distributed system. The systems can be spread across different geographies. Compared to other network models, there is greater fault tolerance in a distributed model. Price/performance ratio is much better. Distributed System

5 Examples of distributed Systems
rlogin or telnet (for remote access) network file system, network printer, etc. ATM (cash machine) Distributed databases Network computing Retail point-of-sale terminals Air-traffic control Enterprise computing etc Distributed System

6 Advantages and Disadvantages of Distributed System
Economics Speed Inherent distribution Reliability Incremental growth Disadvantages: Software Network More components to fail Security The Makings of a Distributed System Machine A Machine B Machine C network Distributed Applications Middleware Services Local OS Local OS Local OS Distributed System

7 Hardware sharing for: convenience and reduction of cost
Characteristics of Distributed system Resource Sharing: hardware - disks and printers software - files, windows, and data objects Hardware sharing for: convenience and reduction of cost Data sharing for: consistency - compilers and libraries exchange of information - database cooperative work - groupware Resource Manager how? Software module: that manages a set of resources Each resource requires its own management policies and methods Distributed System

8 Characteristics of Distributed system …
Client server model - server processes act as resource managers for a set of resources and a set of clients Object based model- resources are objects that can move and Object manager is movable. Request for a task on an object is sent to the current manager and manager must be collocated with object. Examples: Amoeba, migratory improvements - Arjuna, Clouds, Emerald Distributed System

9 Concurrency of components Lack of a global clock
Characteristics of Distributed system … Concurrency of components Lack of a global clock Independent failure of components. Distributed System

10 Openness of distributed systems
Characteristics of Distributed system … 2. Openness Openness of a computer system is the characteristic that determines whether the system can be extended and re-implemented in various way. Eg. UNIX, open source software Openness of distributed systems determined by the degree to witch new resource sharing services can be added and be made available for use by a variety of other programs Eg. Web. How to deal with openness? key interfaces are published. Eg. RFC Distributed System

11 2. Openness …. Characteristics of Distributed system …
Goals: interoperability, portability, flexibility 3. Scalability A system is scalable if it will remain effective when there is a significant increase in the number of resources and the number of users Example of scalable system: the Internet Design challenges Controlling the cost of physical resources e.g., servers support users at most O(n) Controlling the performance loss e.g., DNS no worse than O(logn) Distributed System

12 3. Scalability … Characteristics of Distributed system …
Preventing software resources from running out e.g., IP address Avoiding performance bottlenecks e.g., partitioning name table of DNS, cache and replication There are three dimensions: Size :- it can easily add more users and resources to the system Geographically scalable:-s one in which the users and resources may lie far apart. Administratively scalable:- it can still be easy to manage even if it spans many independent administrative organizations. Distributed System

13 3. Scalability … There are basically four techniques for scaling:
Characteristics of Distributed system … 3. Scalability … Scalability limitations: Scaling Techniques There are basically four techniques for scaling: Use only decentralized algorithms Hiding communication latencies Distribution Replication 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 Distributed System

14 Decentralized Algorithms
Why are centralized algorithms bad? Single point of failure Lots of communications to one point Centralized algorithm is different from decentralized algorithms No machine has complete information about the system state. Machines make decisions based only on local information. Failure of one machine does not ruin the algorithm. No global clock . Distributed System

15 Hiding communication latencies
It is important to achieve geographical scalability. The difference between letting: a server or a client check forms as they are being filled Distributed System

16 Distribution It involves taking a component, splitting it into smaller parts. An example of dividing the DNS name space into zones. Distributed System

17 Replication To solve the scalability, replicate the component across the distributed system is an important. Replication is Increases the availability of data Balance the load of between components and leads better performance Server based replication Scalable web servers Web proxy caching Replicated databases Auto replication in cloud storage Client based replication Caching Prefetching Static vs. dynamic replication Distributed System

18 GOALS of distributed system High performance Reliability Scalability
Consistency Security Challenges for distributed systems: Coordination and resource sharing can be difficult if proper protocols or policies are not in place. Process knowledge should be put in place for the administrators and users of the distributed model. Distributed System

19 Challenges for distributed systems …
Security Confidentiality protection against disclosure to unauthorized individuals e.g. ACL in Unix File System Integrity protection against alteration or corruption e.g. checksum Availability protection against interference with the means to access the resources e.g. Denial of service(DOS). Distributed System

20 Challenges for distributed systems …
Failure Handling Detecting failures e.g. checksum for corrupted data Sometimes impossible, e.g. a remote crashed server in the Internet Masking failures e.g. Retransmit message, standby server Tolerating failures e.g. a web browser cannot contact a web server Recovery from failures e.g. Roll back Redundancy e.g. IP route, replicated name table of DNS Distributed System

21 Challenges for distributed systems …
Concurrency Correctness ensure the operations on shared resource correct in a concurrent environment e.g. records bids for an auction Performance Ensure the high performance of concurrent operations Transparency in a Distributed System Transparency Description Access Hide differences in data representation and how a resource is accessed (local and remote resources are accessed using identical operations Distributed System

22 Challenges for distributed systems …
Transparency… Location Hide where a resource is located (access resources without the need to know their physical or network location such as building or IP address) Migration Hide that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use Replication Hide that a resource is replicated (multiple instances of resources can be used to increase reliability and performance without knowledge of the replicas by users or application programmers) Concurrency Hide that a resource may be shared by several competitive users (several processes can operate concurrently using shared resources without interference between them) Distributed System

23 Challenges for distributed systems …
Transparency… Failure Hide the failure and recovery of a resource (conceal faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components) Performance allows the system to be reconfigured to improve performance as loads vary Scaling allows the system and applications to expand in scale without change to the system structure or the application algorithms Persistence hide whether a (software) resource is in memory or on disk) Programming hide the physical distribution from the application developers Distributed System

24 Challenges for distributed systems… Heterogeneity Networks
Ethernet, token ring, etc Computer hardware big endian / little endian Operating systems different API of Unix and Windows Programming languages different representations for data structures Implementations from different developers no application standards Distributed System

25 Hardware and Software Concepts
An operating system is primarily a resource manager Design is tied to the hardware and software resources the operating system must manage processors memory secondary storage (such as hard disks) other I/O devices processes threads files Databases Hardware Components A computer’s hardware consists of: processor(s),main memory and input/output devices Distributed System

26 Hardware and Software Concepts Hardware Components …
A processor is hardware that executes machine language CPU executes the instructions of a program Coprocessor executes special-purpose instructions Ex., graphics or audio coprocessors Registers are high-speed memory located on processors Data must be in registers before a processor can operate on it Instruction length is the size of a machine-language instruction Computer time is measured in cycles One complete oscillation of an electrical signal Provided by system clock generator Processor speeds are measured in GHz (billions of cycles per second) Distributed System

27 Hardware and Software Concepts Hardware Components ...
Main memory(RAM) is the lowest data referenced directly by processor Volatile – loses its contents when the system loses power Common forms of RAM include: dynamic RAM (DRAM) – requires refresh circuit static RAM (SRAM) – does not require refresh circuit Bandwidth is the amount of data that can be transferred per unit of time Peripheral Devices(Input/Output) Character devices transfer data one bit at a time Keyboards and mice Can be attached to a computer via ports and other buses ex. Serial ports, parallel ports, USB port etc. Distributed System

28 Hardware and Software Concepts
Software Overview Programming languages Some are directly understandable by computers, others require translation Classified generally as either: Machine language Assembly language High-level language (C,C++,java, C#) Translators Compiler , assembler , Interpreter Middleware: is software for distributed systems that enables interactions among multiple processes running on one or more computers across a network Distributed System

29 Hardware and Software Concepts …
Middleware… Facilitates heterogeneous distributed systems Simplifies application programming Example, Open DataBase Connectivity (ODBC) Permits applications to access databases through middleware called an ODBC driver Client-server Model:-is a distributed application structure that partitions task or workload between the providers of a resource or service, called servers, and service requesters called clients. In a client-server architecture, when the client computer sends a request for data to the server through the internet, the server accepts the requested process and deliver the data packets requested back to the client . Examples of Client-Server Model are , World Wide Web, etc. Distributed System

30 How the Client-Server Model works ?
Its basically the Client requesting something and the Server serving it as long as its present in the database. Distributed System

31 THANK YOU END OF Chapter -1
Distributed System


Download ppt "Introduction to Distributed System"

Similar presentations


Ads by Google