Distributed Systems: - Printers, Disks, Cdroms, Etc. - Data
Distributed Systems: - Printers, Disks, Cdroms, Etc. - Data
A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility
A well designed distributed system should be perceived as a single, integrated computing facility
The introduction of LANs at the beginning of the 1970s triggered the development of distributed systems
Key Characteristics
There are 6 key characteristics of a distributed system
Support for resource sharing Openness Concurrency Scalability Fault Tolerance Transparency
Resource Sharing
Resource
The range of things that can be shared usefully in a distributed system Includes things like
Printers, disks, cdroms , etc. Data
A resource manager is a software module that manages a set of resources of a particular type
Openness
The characteristic that a system can be extended in various ways
Hardware extensions Software extensions
Concurrency
Concurrency in a distributed system does not necessarily mean concurrency within a single program
Many users invoke similar commands Many different server processes may be running
Scalability
Distributed systems operate at many different scales
Two workstations and a file server The CS computers
Often the more important question is not can you scale, but can you scale well
Consider the Internet
Fault Tolerance
Fault tolerance is the ability of a system to recover when failures occur
Required in some systems Nuisance value in others
Hardware Redundancy
Two computers are employed for a single application, one acting as a standby
Very costly, but often very effective, solution
Software Redundancy
Software must be designed so that the state of permanent data can be recovered or rolled back when a fault is detected
Transaction processing
Transparency
The concealment of the separation of components in a distributed system
Access transparency Location transparency Concurrency transparency Replication transparency Failure transparency Migration transparency Performance transparency Scaling transparency
Transparency
The two most important forms of transparency are
Access Location
Workload allocation