Distributed Computing Systems CSCI 69004900 Introduction Distributed System
Distributed Computing Systems CSCI 6900/4900
Introduction
Distributed System A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Why Distributed Systems? • Distributed (and mobile) users – Desire to access data/resources • Distributed data/information – World Wide Web • Distributed organizations – Multi-location & multinational corporations • Distributed resources – Distributed file systems, grids, web farms • Enabling technology: – Advances in communications and networks
Characteristics of Distributed Systems • • • Hides heterogeneity and internal workings Easy to expand or scale Continuous availability Layered design Examples – Networked workstations – Distributed databases – WWW – Peer-to-peer systems
Distributed System Organization 1. 1 A distributed system organized as middleware. Note that the middleware layer extends over multiple machines.
Design Goals • Make resources available to users – Enable resource sharing in a controlled manner • Transparency – Hide distributed nature • Openness – Complies to standards with regard to syntax and semantics – Interoperability • Security & privacy • Scalability & performance
Transparency in a Distributed System Transparency Description Access Hide differences in data representation and how a resource is accessed Location Hide where a resource is located 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 may have multiple copies Concurrency Hide that a resource may be shared by several competitive users Failure Hide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk • How much transparency is needed? • How much can we achieve?
Openness Security & Privacy • Openness – Follows rules that describe syntax and semantics – Interface definition language – Interoperability, portability – Mechanism-policy separation • Security – Access control – Data integrity – Data/service availability – Copyright protection
Scalability • Scalability with respect to size • Scalability with respect to geographical location • Scalability with respect to management 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 Scalability Problems
Scalability Techniques • Hiding communication latencies – Asynchronous communication – Reduce amount of data transmitted • Distribution – Spreading work across system • Caching and replication – Make copies of data and services • Balance load – Avoid hot spots
- Slides: 11