4-5 Distributed Operating Systems Concepts and Principles + Comparison of NOS and DOS
4-5 Distributed Operating Systems Concepts and Principles + Comparison of NOS and DOS
INT413
Content sources: (i) Introduction to Network Operating Systems by Carol Traver and Richard T. Watson
(ii) Lecture notes of Hsung-Pin Chang, National Chung-Hsing University
Distributed Operating Systems (DOS)
• A system where distributed applications are running
on multiple computers that are linked by
communication lines
• Use multiple central processors to serve multiple real
time applications and multiple users
• Can be seen as an extension of NOS that supports
higher levels of communication and integration of the
machines on the network
2
Distributed Operating Systems (DOS)
• Are able to share computational tasks, and provide a rich set
of features to users
• Look to its users as an ordinary centralized operating system
but actually runs on multiple, independent CPUs
• Each processor has its own local memory and processors
communicate with one another through various
communication lines
3
Distributed Operating System
• Users not aware of multiplicity of machines
• Access to remote resources similar to access to local resources
• Ease of connectivity for users
• Manages resources in a distributed system
• Seamlessly and transparently to the user
• Transparency of Location, migration, concurrency, replication etc
• Looks to the user like a centralized OS
• But operates on multiple independent CPUs
• Presents users with a virtual uniprocessor
4
Distributed Operating System
5
DOS: Advantages
• Sharing of resources
• Access to remote resources similar to access to local resources
• Reliability
• Does not have a single point of failure
• Does not depend on a single pool of resources
• Communication
• Tightly-coupled
• Computation speed-up
• Transfers the computation rather than data
6
DOS: Migration Types
• Data Migration
• Transfer data by transferring entire file, or transferring only those
portions of the file necessary for the immediate task
• Computation Migration
• Transfer the computation, rather than the data, across the system
• Process Migration
• Transfer of processes from machine to machine while running
(might be done for load balancing)
7
Distributed OS vs. Network OS
8
Distributed OS vs. Network OS
9
Distributed System Transparency
10
Distributed System Transparency
• Access transparency
• Example
• A distributed system may have computer systems with different OS
• As a result, have different file-naming convention
• Location transparency
• Solution: a well-designed naming scheme
• Resources may be assigned logical names
• Failure transparency
• Mask failure
11
Distributed System Transparency
• Relocation transparency
• Stronger than migration transparency since resource may be in use
• Example: mobile users roaming from place to place but can continue to use
their wireless network
• Concurrency transparency
• Key point: consistency
• Solutions: locking or transaction
• Persistence transparency
• Example: invoke methods on stored object
• We must first copy the object from disk to memory, perform operation,
and then write back to disk if necessary
• User is unaware that the server is moving state between disk and memory
12
Distributed System Transparency
• Degree of Transparency
• Trade-off between a high degree transparency and the
performance of a system
• Example: a copy of a file is changed
• If the change is propagated to all copies on different
machines, then a single update will take seconds to
complete
13
Openness
• An open distributed system offers services according to standard rules
that describe the syntax and semantics of those services
• Example: in computer networks
• Standard rules (protocols) govern the format, contents, and
meaning of messages sent and received
• Openness guarantees
• Interoperability
• Portability
• Flexibility and extensibility
14
Scalability
• Measured in different dimensions
• Size scalability
• Easily add more users, machines, and resources
• Geographical scalability
• Users and resources lie far apart
• Administratively scalability
• It can still be easy to manage even if it spans many independent
administrative organizations
15
Scalability: Problems
• With respect to size
• If more users or resources need to be added, there could be
limitations in terms of centralized services, data, and algorithms.
16
Scalability: Problems
With respect to geography
• Problems:
• Latency
• Communications in LAN and over WAN.
• Reliability
• WAN is unreliable compared to LAN
17
Scalability: Problems
With respect to administration:
• How to scale across multiple, independent administrative domains
• Problems
• Conflicting policies with respect to resource usage, payment,
management, and security
18
DOS: Scaling Techniques
• Hiding communication latencies
• Asynchronous communication
• Distribution
• e.g. DNS lookup
• Replication
• Consistency issues
19
DOS: Scaling Techniques
Hiding communication latencies:
• Important to achieve geographical scalability
• Key to hiding latencies
• Avoid waiting for the responses of remote requests – Design
applications such that they work asynchronously (asynchronous
communication)
• Reduce the overall communication – move part of computation to
the client process
• Code shipping through Java applets and Javascripts is one of the ways
of reducing communication
20
DOS: Scaling Techniques
Hiding communication latencies:
• Difference between letting (a) a server or (b) a client, check forms as
they are being filled
21
DOS: Scaling Techniques
Distribution:
• Split a component into smaller parts and spreading those parts across
the system
• Example is DNS – Hierarchically organized into a tree of domains
22
DOS: Scaling Techniques
Replication:
• Replicate components across a distributed system
• Increases availability
• Helps in load balancing
• Caching
• Special form of replication
• Making resource available near to the client temporarily
• Decision of caching is controlled by the client while decision of replication is
controlled by the owner
• Issue
• Consistency
23
DOS/NOS: False Assumptions
• The network is reliable
• The network is secure
• The network is homogeneous
• The topology does not change
• Latency is zero
• Bandwidth is infinite
• Transport cost is zero
• There is one administrator
24
Hardware Concepts
• Different memory organization in distributed computer systems
• Multicomputer (private memory) vs. multiprocessor (shared memory)
• Bus vs. switched architecture
25
Multiprocessors
• Bus-based
• Problem: scalability
• Local caches improve the problem but do not completely solve it
• Might better serve for less number of machines and processors
26
Multiprocessors
• Switch-based
• Better than bus-based for scalability
27
Homogeneous Multicomputer Systems
• The network traffic is much lower than multiprocessor systems
• CPU-to-CPU vs. CPU-to-Memory
• Bus-based multicomputer
• Example: fast-Ethernet cluster
• Problems: scalability, 25-100 nodes at most
• Switch-based multicomputer
• Mesh (Grid): two-dimension
• Hypercube: n-dimension cube
28
Homogeneous Multicomputer Systems
• Grid vs. hypercube
29
Heterogeneous Multicomputer Systems
• Most distributed systems today are built on top of a
heterogeneous multicomputer
• Processor type, memory sizes, I/O bandwidth are different
• The interconnection network may be highly
heterogeneous as well
30
DOS: Practical Aspect
• In reality, there are no distributed operating systems in general use;
but only network operating systems, such as UNIX, Mac OS, and
Windows
• Two main reasons why this is likely to sustain:
• Users have much invested in their application softwares, which
often meets their current problem-solving needs
• Users will not adopt a new OS that will not run their current
applications, whatever efficiency advantages it offers
• Users tend to prefer to have a degree of autonomy for their
machines
31
Middleware System
• Facilitates communication between clients and server
• Acts as translator for systems that are not compatible
• Translates requests, responses between client and server
• 3-tier architecture
• Client/server environment incorporating middleware
• Enhancement of services of NOS to come closer to DOS
32
Middleware System
• A software that connects diverse applications running over different
OS and facilitates routing of messages between these applications
• Mainly used in a distributed system environment having several
applications
• These application may be running on different platforms (Unix,
Windows etc.)
• Acts as an integration software to connect applications running on
different platform
• Provides distribution transparency
33
Middleware System
34
Middleware System
35
Middleware System
• Software above the operating system but below the application
program
• Refers to a software that is:
• Common to multiple applications and;
• Builds on the network transport services to enable ready
development of new applications and network services
• Examples
• Common Object Request Broker Architecture (CORBA), Distributed
Component Object Model (DCOM), Java Remote Method
Invocation (Java RMI), Grid
36
Middleware Models
• Middlewares are based on some models, or paradigms, for communication
• Example:
• Treating everything as a file, like Plan 9
• All resources, such as keyboard, mouse, disk…are treated as files
• Distributed File Systems
• Less strict than Plan 9
• Remote Procedure Call (RPC)
• Distributed Objects
• Distributed Documents: WWW
37
Middleware Services
• Communication facilities to implement access transparency
• Depends on the model assumed, like WWW
• Naming
• Persistent storage
• Distributed transactions
• Security
38
Middleware and Openness
• In an open middleware-based distributed system, the protocols used
by each middleware layer should be the same, as well as the
interfaces they offer to applications
39
Middleware System
40
Middleware System: Challenges
• Changing environment
• Computing world changes quickly and middleware has to adapt to
this ever changing environment
• Architecture
• New technological advances impose changes in established
middleware architecture
• Dynamic configuration
• Dynamic changes in system configuration will be inherent
characteristics of future computing environments
41
Operating Systems: Comparison
42
Operating Systems: Comparison
43