Upload
debasis-das
View
630
Download
3
Embed Size (px)
DESCRIPTION
Citation preview
CS 704DAdvanced Operating System
(Distributed Computing)
Debasis Das
MIT CS704D Advanced OS Class of 2011
2
Distributed Computing Fundamentals
MIT CS704D Advanced OS Class of 2011
3
Motivations for Distributed Computing
Fast but inexpensive processors are available aplenty
Availability of cost effective and efficient
communication networks
Result is ; distributing the computing load even over
large geographical distances is an cost effective
option now.
MIT CS704D Advanced OS Class of 2011
4
Types of Interconnected Multiprocessors
Tightly coupled systems
Processors in the system operate through a
common address space(a common main
memory)
Loosely couple system
Each processor has its own private memory
and are on different address spaces
MIT CS704D Advanced OS Class of 2011
5
Block DiagramsTightly coupled
CPU CPU CPU CPUSystemwide
Shared memory
Local Mem Local Mem Local Mem Local Mem
CPU CPU CPU CPU
Communication Network
Loosely coupled
MIT CS704D Advanced OS Class of 2011
6
A Distributed Computing System
A collection of processorsInterconnected by a networkEach processor has its own local memory &
peripheralsCommunication between processors is by
messagesA node is a local processor with its own local
memory and peripheralsAll others are “remote” nodes
MIT CS704D Advanced OS Class of 2011
7
Distributed System Models
Minicomputer Model
Workstation Model
Workstation-server model
Processor pool Model
Hybrid model
MIT CS704D Advanced OS Class of 2011
8
Minicomputer Model
Minicompute
r
Minicompute
r
Minicompute
r
Minicompute
r
Communication
network
MIT CS704D Advanced OS Class of 2011
9
Mini-computer Model
A user is connected to his local machine
Can access to the remote nodes
Resource sharing
MIT CS704D Advanced OS Class of 2011
10
Workstation Model
Workstation
WS
WS
WSWS
WSComunication
network
MIT CS704D Advanced OS Class of 2011
11
Workstation ModelUser submits work to the local workstationIf the local station is not able to manage the
processing, it will find one idle machines and transfer processes to other workstations
Problems are How to find an idle WSHow to transfer a process & execute itWhat happens to the remote process if user
logs on to an WS that was idle until now and was given for a remote process execution
MIT CS704D Advanced OS Class of 2011
12
Workstation-Server model
Server Server Server
WS
WS WS WS
WS
WS
Communicationnetwork
MIT CS704D Advanced OS Class of 2011
13
Workstation-Server modelAdvantages compared to WS model
Cheaper to provides servers with the required services than providing it locally. e.g file services
Any WS can be used to access the file serversWith diskless workstations, it is easier to maintain a
few large disks centrallyProcess migration is not necessary, request
response protocol (client server model of communication)
User gets guaranteed response time as workstations are not used for remote processes, processing power may be wasted
MIT CS704D Advanced OS Class of 2011
14
Processor Pool Model
Net
RunServer
File Server
Terminals
MIT CS704D Advanced OS Class of 2011
15
Processor Pool ModelCompared to WS-Server model
Provides better resource utilization
Additional services can be provided without the need for
more processors
Not very suitable for high performance interactive ( such
as graphics & windowing) applications, WS-server models
probably will work better
MIT CS704D Advanced OS Class of 2011
16
Hybrid ModelReal models depend of the workload being
handled.The work station server is a model suitable
model for users doing most work locally, doing a little bit of interactive work, send emails, execute simple programs etc.
Workstation-server configurations may have pools of processors. These pools can be used for jobs that are compute intensive
MIT CS704D Advanced OS Class of 2011
17
Advantages of Distributed Computing Systems
Design of distributed systems are more complex than centralized ones. That’s because communication and security issues have to be handled additionally.
Still the advantages are Applications are inherently distributable in many casesInformation sharingResource sharingBetter price performanceShorter response times, higher throughputsHigher reliabilityExtensibility & incremental growthFlexibility in meeting user needs
MIT CS704D Advanced OS Class of 2011
18
Inherently Distributed Applications
Applications that need local processing as well as
global level processing and viewing requirements
Employee database of a multi branch company
Banking
Airlines ticketing
MIT CS704D Advanced OS Class of 2011
19
Information Sharing among Distributed Users
Person to person communication over distance. In a distributed system work at a local node can be easily shared at remote nodes too
Thus users distributed at diverse areas can collaborate
Groupware is possible and is a natural for distributed computing
MIT CS704D Advanced OS Class of 2011
20
Resource SharingBesides information
Software in libraries
Databases
Hardware resources can be shared
MIT CS704D Advanced OS Class of 2011
21
Better Price Performance
Increasing performance yet falling prices of
processors
Better & higher speed networks being
available at higher reliability yet lower prices
Better resource sharing
MIT CS704D Advanced OS Class of 2011
22
Shorter Response & higher Throughput
If the problem can be split suitably
More processors will reduce processing time
Throughput will increase
Better resource utilization
MIT CS704D Advanced OS Class of 2011
23
Higher Reliability
Redundant drives, back up copies etc. can be
easily arranged in a distributed system
Availability is better
Fail soft is possible etc.
MIT CS704D Advanced OS Class of 2011
24
Extensibility & Incremental Growth
Additional resources can be added
incrementally
Additional processors can be added when
needed
Addition of resources does not disrupt the
work too much
MIT CS704D Advanced OS Class of 2011
25
Flexibility in Meeting User Needs
Ordinary data processing
High performance computing
Work can be distributed to specialized processing unit
For example, interactive jobs can run on local work
stations while processor pools can manage compute
intensive jobs
MIT CS704D Advanced OS Class of 2011
26
What is a Distributed OS?
“ An operating System of is a program that controls the resources of a computer system and provides its users with an interface or virtual machine that is more convenient to use than the bare machine.”- Tannenbaum & Van Renesse [1985]
Thus what OS needs to do arePresent users with a VM that is easier to program
than the underlying hardwareManage resources, keep track of resource users,
track requests, account usage, be the umpire in deciding who gets what
MIT CS704D Advanced OS Class of 2011
27
NOS vs. DOSSystem Image
In case of NOS it is known to the users that distinct machines working cooperatively through a communication system. Whereas a DOS provides a single machine image
AutonomySystems are autonomous. In DOS the operating
system manages all the machinesFault tolerance capability
No fault tolerance, DOS provides high levels of tolerance
MIT CS704D Advanced OS Class of 2011
28
Definition of a DOSAgain by Tannenbaum & Van Renesse
A distributed OS is one that looks to its users like an ordinary centralized operating system but runs on multiple, independent central processing units. The key concept here is transparency. In other words, the use of multiple processors should be invisible(transparent) to the user. Another way of expressing the same idea is to say that the user views the system as a “virtual uniprocessor”, not as a collection of distinct machines.
MIT CS704D Advanced OS Class of 2011
29
DifficultiesDo manage resources optimally, the manager
must be aware of the accurate status of every resource. However, a distributed system never has thatResources are physically separatedNo common clockDelivery of message may be delayed or even
lostNo accurate status information is thus
available, yet the OS has to try and run things optimally
MIT CS704D Advanced OS Class of 2011
30
DOS Design Issues
MIT CS704D Advanced OS Class of 2011
31
Features of a DOSTransparency
Reliability
Flexibility
Performance
Scalability
Heterogeneity
Security
Emulation of existing OS
MIT CS704D Advanced OS Class of 2011
32
Transparency Access transparency
Uniform access whether remote or local; uniform system calls and naming conventions
Location transparency Name transparency & user mobility
Replication transparency Naming & replication control
Failure transparency Redundancy; servers, communication etc.
Migration transparency Automatic, no name change, message passing (receiver has migrated)
Concurrency transparency Event driven ordering, mutual exclusion, no-starvation
Performance transparency Auto reconfig, scaling should not cause disruption
MIT CS704D Advanced OS Class of 2011
33
ReliabilityFaults can be fail-stop or Byzantine;
prevention includesFault Avoidance
Good design practices, low failure components, redundancy etc.
Fault Tolerance Redundancy, distributed control
Fault Detection & Recovery Atomic transactions, stateless servers, ack & time
out based messages
MIT CS704D Advanced OS Class of 2011
34
FlexibilityEase of modifications
When required it should be easy to modify sub-systems
Ease of enhancementWhen required it should be easy to enhance
featuresStructure of the kernel
Monolithic kernel or a microkernel Modular, server based services, easy to implement
and modify There is a small performance penalty
MIT CS704D Advanced OS Class of 2011
35
PerformanceBatch, if possible
Cache whenever possible
Minimize copying of data
Minimize network traffic
Take advantage of fine grained parallelism
for multiprocessing
MIT CS704D Advanced OS Class of 2011
36
Scalability
Avoid centralized entities
Avoid centralized algorithms
Perform most operations on client
workstations
MIT CS704D Advanced OS Class of 2011
37
Heterogeneity
Format related issues could be a big hurdle
Format interchange conversions will have to
be supported
Better to have an intermediate internal
format
MIT CS704D Advanced OS Class of 2011
38
SecuritySender needs to know the right receiver
received the message
The receiver needs to have assurance that a
genuine sender sent the message
Both sender and receiver need to be assured
that the contents of the message was not
tampered with during transmission
MIT CS704D Advanced OS Class of 2011
39
Emulation of Existing Operating System
New developments will use the API of the
new OS
Necessary for the ability to run existing
applications
Backward compatibility