distributed systems definition. definition of a distributed system a distributed system is a...
TRANSCRIPT
Distributed Systems
Definition
Definition of a Distributed System
A distributed system is a collection of independent computers that appears to its users as a single system.
A definition (Coulouris, et al)
System of networked computers that
communicate and coordinate their actions only by passing messages
concurrent execution of programs components fail independently of
one another
A definition (Lamport)
“You know you have a distributed system when the crash of a computer you’ve never heard of stops you from getting any work done.” inter-dependencies shared state
Distributed System
Operating System types Centralized Systems
Process management Network System
Share resources Remote access Telnet / FTP No direct control from machine to another
Distributed system Global view of files system Global name Global time….
Distributed system properties
Connect users and resources
Transparency
Scalability
Openness
Transparency
To hide the fact that machines are
physically distributed and how much
the distributed system appears as
single system
Transparency in a Distributed System
Different forms of transparency in a distributed system.
TransparencyDescription
AccessHide differences in data representation and how a resource is accessed
LocationHide where a resource is located
Migration Hide that a resource may move to another location
RelocationHide that a resource may be moved to another location while in use
ReplicationHide that a resource may be shared by several competitive users
ConcurrencyHide that a resource may be shared by several competitive users
FailureHide the failure and recovery of a resource
PersistenceHide whether a (software) resource is in memory or on disk
Types of transparency– Location Transparency: users cannot tell where hardware and
software resources such as CPUs, printers, files, data bases are located.
– Migration Transparency: resources must be free to move from one location to another without their names changed.E.g., /usr/lee, /central/usr/lee
– Replication Transparency: OS can make additional copies of files and resources without users noticing.
– Concurrency Transparency: The users are not aware of the existence of other users. Need to allow multiple users to concurrently access the same resource. Lock and unlock for mutual exclusion.
– Parallelism Transparency: Automatic use of parallelism without having to program explicitly. The holy grail for distributed and parallel system designers.
Users do not always want complete transparency: a fancy printer 1000 miles away
Scalability
It is to able to send anything to
anyone anywhere
System scalability to size means
easily add more users & resources
Scalability of geographically
Scalability A distributed system is scalable if it
remains effective as the number of users and/or resources increase
Challenges: Controlling resource costs Controlling performance loss Preventing resources from running out Avoiding performance bottlenecks
Scalability Problems• 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.• There is no implicit assumption that a
global clock exists.
Openness / Flexibility
The distributed system has a clear
rules controls its services
Open distributed system is flexible
means easy to configure system for
different developers
Openness When protocols are known to developers
extensibility and maintainability becomes possible
Openness allows re-implementation of different components of the system
Important factors: Specification Documentation Published interfaces (often bypassing
standards organizations)
Reliability
• Distributed system should be more reliable than single system. Example: 3 machines with .95 probability of being up. 1-.05**3 probability of being up.– Availability: fraction of time the system is usable.
Redundancy improves it.– Need to maintain consistency– Need to be secure– Fault tolerance: need to mask failures, recover
from errors.
Security Three components:
Confidentiality (protection against disclosure to unauthorized individuals)
Integrity (protection against alteration or corruption)
Availability (protection against interference with the means of accessing the resources)
The challenge: sending sensitive information in a network message in a secure manner efficiently
Security Scenario 1: Accessing exam information
via a network file system Authentication: how do we know for sure
that the user is a teacher who should have access to the data?
Scenario 2: Sending a credit card number over the Internet Confidentiality: no other than the recipient
should be able to read the data
Hardware concept of DS
Distributed system may be
multi-processor or multi-computers
Hardware Concepts
Tightly Coupled versus Loosely Coupled Tightly coupled systems (multiprocessors)
o shared memoryo intermachine delay short, data rate high
Loosely coupled systems (multicomputers)o private memoryo intermachine delay long, data rate low
11/14/00
Multicomputers
Bus-Based Multicomputers easy to build communication volume much smaller relatively slow speed LAN (10-100 MIPS,
compared to 300 MIPS and up for a backplane bus)
Switched Multicomputers interconnection networks: E.g., grid,
hypercube hypercube: n-dimensional cube
Hardware Concepts
1.6
Multi-processor Multi-computers
Multiprocessors
1.7
11/14/00
Switched Multiprocessors
for connecting large number (over 64) of processors
crossbar switch: n**2 switch points omega network: 2x2 switches for n CPUs
and n memories, log n switching stages, each with n/2 switches,
total (n log n)/2 switches building a large, tightly-coupled, shared
memory multiprocessor is possible, but is difficult and expensive
Multiprocessors (2)
1.8
Multicomputer Systems
Grid Hypercube
1-9
Software Concepts
DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware
SystemDescriptionMain Goal
DOSTightly-coupled operating system for multi-processors and multicomputers
Tries to maintain global view of resources
NOSLoosely-coupled operating system for multicomputers (LAN and WAN)
Manages collection of machines with local services and OS
MiddlewareAdditional layer atop of NOS implementing general-purpose services
Provide distribution transparency
11/14/00
Software Concepts• Software more important for users• Three types:
1. Network Operating Systems
2. (True) Distributed Systems
3. Multiprocessor Time Sharing
Uniprocessor Operating Systems
Separating applications from operating system code through a microkernel.
1.11
Network Operating Systems
loosely-coupled software on loosely-coupled hardware
A network of workstations connected by LAN each machine has a high degree of autonomy Files servers: client and server model Clients mount directories on file servers Best known network OS:
o Sun’s NFS (network file servers) for shared file systems
Multicomputer Operating Systems (1) General structure of a multicomputer operating
system
1.14
Positioning Middleware General structure of a distributed system as
middleware.
1-22
(True) Distributed Systems
tightly-coupled software on loosely-coupled hardware
provide a single-system image or a virtual uniprocessor
a single, global interprocess communication mechanism, process management, file system; the same system call interface everywhere
Ideal definition: “ A distributed system runs on a collection of computers that
do not have shared memory, yet looks like a single computer to its users.”
Comparison between Systems
A comparison between multiprocessor operating systems, multicomputer operating systems, network operating systems, and middleware based distributed systems.
ItemDistributed OS
Network OS
Middleware-based OS Multiproc
.Multicomp.
Degree of transparency
Very HighHighLowHigh
Same OS on all nodesYesYesNoNo
Number of copies of OS
1NNN
Basis for communication
Shared memory
MessagesFilesModel specific
Resource management
Global, central
Global, distributed
Per nodePer node
ScalabilityNoModeratelyYesVaries
OpennessClosedClosedOpenOpen
Distributed object architecture
Software bus
o1 o2 o3 o4
o5 o6
S (o1) S (o2) S (o3) S (o4)
S (o5) S (o6)
A data mining system
Database 1
Database 2
Database 3
Integrator 1
Integrator 2
Visualiser
Display
Report gen.
Data mining system
The logical model of the system is not one of service provision where there are distinguished data management services
It allows the number of databases that are accessed to be increased without disrupting the system
It allows new types of relationship to be mined by adding new integrator objects