Distributed Computing Chapter 01: Character of Distributed Systems
BOOKS TEXT BOOK REFERENCE BOOKS Distributed Systems: Concepts and Design (Fourth/Third Edition) By George Coulouris, Jean Dollimore and Tim Kindberg Addison-Wesley, ©Pearson Education 2001 REFERENCE BOOKS Distributed Systems: Principles and Paradigms, By Andrew S. Tanenbaum and van Steen Distributed Operating System and Algorithms, By Randy Chow & Theodore Johnson. LPU
Definition of Distributed System A distributed system is: Components located at networked computers communicate and coordinate their actions by passing messages Collection of independent computers that appear to the users of the system as a single computer [Tanenbaum] LPU
Definition of Distributed System Machine A Local OS Machine B Local OS Machine C Local OS Distributed applications Middleware service Network LPU
Definition of Distributed System "a collection of autonomous computers linked by a computer network with distributed system software" "a collection of processors interconnected by a communication network in which each processor has its own local memory and other peripherals and the communication between any two processors of the system takes place by message passing over the communication network" "one in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages" LPU
Definition of Distributed System In other words, to the user, a DS looks like a single system a virtual uniprocessor The user doesn't know (or care) - where (on what machine) files are located - where a job is executed A Distributed System is made of several computers which have no shared memory have no shared clock communicate with each other via messages have their own operating systems LPU
Advantages Why distributed systems Resource sharing Communication Inherent distribution Speed 10000 CPU running at speed of 50 MIPS 500000 MIPS Economy Incremental growth Reliability LPU
Characteristics of DS Concurrency Lack of global clock Distributed systems are concurrent systems Every software or hardware components is autonomous Process Concurrent tasks A and B are concurrent if either A can happen before B or B can happen before A Synchronization and coordination by message passing Lack of global clock Coordination and time Independent failure Failures of individual processes may remain undetected LPU
Examples of Distributed Systems 1. The internet Heterogeneous network of computers and applications Implemented through Internet protocol intranet ISP desktop computer: backbone satellite link % server: network link: LPU
Examples of Distributed Systems 2. Distributed multimedia Often use the Internet infrastructure Characteristics Heterogeneous data sources that need to be synchronized in real time Video, Audio, Text Often: distribution services multicast Examples Tele teaching, Video conferencing LPU
Examples of Distributed Systems 3. Intranet Locally administered network Usually proprietary Interfaces with the Internet via router Firewall the rest of email server Web server Desktop computers File server router/firewall print and other servers other servers Local area network the Internet Issues File services need to share data Firewall impede Legitimate access LPU
Examples of Distributed Systems (1) 4. Mobile and Ubiquitous computing Resource Sharing while on the move Primary concerns: resource discovery efficient use of limited bandwidth security (privacy) LPU
Resource sharing and the Web Resource sharing pattern Search engine CSCW Computer-supported cooperative work Service Software that manages a collection of resources and presents them to users and applications via a well-defined interface Server Running program (a process that provide one or more services) Remote invocation Client’s request to server. LPU
Challenges A number of challenges arises: Heterogeneity Openness Security Scalability Failure handling Concurrency of components Transparency LPU
Challenges Heterogeneity Middleware networks computer hardware Operating systems Programming languages Middleware To over come differences in network, OS and languages CORBA LPU
Challenges Openness Benefits of ODS Ensures extensibility and maintainability of the system Standard interfaces & their publication Addition of new resources RFC (Request for comments) specification for internet protocols. www. ietf.org Benefits of ODS key interfaces are published uniform communication mechanisms and access to shared resources Construction Heterogeneous components LPU
Challenges Security Current security challenges confidentiality integrity availability Example A doctor might request access to hospital patient data In electronic commerce and banking, users send their credit card numbers across the internet Current security challenges Denial of service attack Security of mobile code LPU
Challenges Scalability Controlling the cost of the physical resources Does the system remain effective given the expected growth Controlling the performance loss www.amzon.com is more than one computer Preventing the software resources running out IP addressees :32 bits to 128 Avoiding performance bottleneck Decentralization of data/information LPU
Challenges Computers vs. Web servers in the Internet Date Computers Web servers Percentage 1993, July 1,776,000 130 0.008 1995, July 6,642,000 23,500 0.4 1997, July 19,540,000 1,203,096 6 1999, July 56,218,000 6,598,697 12 Mid. 2002 Internet : 150 million+ computers 667 million people 2.5 billion+ web pages LPU
Challenges Failure handling Detecting failure Masking Checksum can be used to detect corrupted data System crash (impossible) Masking Retransmission Redundant storage Tolerating failure Exception handling (timeout when waiting for web source) LPU
Challenges Failure handling Recovery from failure Redundancy Roll back Redundancy Redundant routes in network Replication of name tables in multiple domain name servers Database replication Availability Measure of the proportion of the time a server is available LPU
Challenges Concurrency Transparency Consistent scheduling of threads (so that dependencies are preserved in concurrent transactions) Avoidance of deadlock Transparency Concealing the heterogeneous and distributed nature of the system so that it appears to the user like one system LPU
Challenges :Transparency Access transparency: enables local and remote resources to be accessed using identical operations. Location transparency: enables resources to be accessed without knowledge of their location. Concurrency transparency: enables several processes to operate concurrently using shared resources without interference between them. Replication transparency: enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers. Failure transparency: enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components. Mobility transparency: allows the movement of resources and clients within a system without affecting the operation of users or programs. Performance transparency: allows the system to be reconfigured to improve performance as loads vary. Scaling transparency: allows the system and applications to expand in scale without change to the system structure or the application algorithms. LPU