kyung hee university 1/41 introduction chapter 1
TRANSCRIPT
2/41
Kyung Hee University
Agenda
-Definition
-Hardware concept
-Software concept
-The Client-Server model
3/41
Kyung Hee University
Definition of a Distributed System (1)
A distributed system is:
A collection of independent computers that appears to its
users as a single coherent system.
4/41
Kyung Hee University
Definition of a Distributed System (2)
A distributed system organized as middleware.Note that the middleware layer extends over multiple machines.
1.1
5/41
Kyung Hee University
Goal of Distributed system
• Connecting users to resources
• Openness
• Transparency
• Scalability
6/41
Kyung Hee University
Transparency in a Distributed System
Different forms of transparency in a distributed system.
Transparency Description
AccessHide 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
RelocationHide that a resource may be moved to another location while in use
Replication Hide that a resource is replicated
ConcurrencyHide that a resource may be shared by several competitive users
Failure Hide the failure and recovery of a resource
PersistenceHide whether a (software) resource is in memory or on disk
7/41
Kyung Hee University
Scalability Problems
Examples of scalability limitations.
Concept Example
Centralized services A single server for all users
Centralized data A single on-line telephone book
Centralized algorithmsDoing routing based on complete information
8/41
Kyung Hee University
Scaling Techniques (1)
1.4
The difference between letting:
a) a server or
b) a client check forms as they are being filled
9/41
Kyung Hee University
Scaling Techniques (2)
1.5
An example of dividing the DNS name space into zones.
10/41
Kyung Hee University
Hardware Concepts
1.6
Different basic organizations and memories in distributed computer systems
12/41
Kyung Hee University
Multiprocessors (2)
a) A crossbar switchb) An omega switching network
1.8
13/41
Kyung Hee University
Multicomputers
• Each node is an autonomous machinePrivate memory
• Lower traffic than multiprocessorsCPU – CPU versus CPU – Memory traffic
• Homogeneous or Heterogeneous
14/41
Kyung Hee University
• Similar nodesSame processors and memory space
• Homogeneous access to networkSingle network
• Bus-based or point-to-point communication
Homogeneous Multicomputer Systems (1)
16/41
Kyung Hee University
Heterogeneous Multicomputers
• Different nodesNodes can be complex system
• None-homogeneous access to networkDifferent network
• Distributed systems are commonly built on this H/W category Need S/W to make it transparent
17/41
Kyung Hee University
Software Concepts
An overview between • DOS (Distributed Operating Systems)• NOS (Network Operating Systems)• Middleware
System Description Main Goal
DOSTightly-coupled operating system for multi-processors and homogeneous multicomputers
Hide and manage hardware resources
NOSLoosely-coupled operating system for heterogeneous multicomputers (LAN and WAN)
Offer local services to remote clients
MiddlewareAdditional layer atop of NOS implementing general-purpose services
Provide distribution transparency
18/41
Kyung Hee University
Uniprocessor Operating Systems
Separating applications from operating system code through a microkernel.
1.11
19/41
Kyung Hee University
Multicomputer Operating Systems (1)
General structure of a multicomputer operating system
1.14
20/41
Kyung Hee University
Multicomputer Operating Systems (2)
Alternatives for blocking and buffering in message passing.
1.15
21/41
Kyung Hee University
Distributed Shared Memory Systems (1)
a) Pages of address space distributed among four machines
b) Situation after CPU 1 references page 10
c) Situation if page 10 is read only and replication is used
22/41
Kyung Hee University
Distributed Shared Memory Systems (2)
False sharing of a page between two independent processes.
1.18
23/41
Kyung Hee University
Network Operating System (1)
General structure of a network operating system.
1-19
24/41
Kyung Hee University
Network Operating System (2)
Two clients and a server in a network operating system.
1-20
25/41
Kyung Hee University
Network Operating System (3)
Different clients may mount the servers in different places.
1.21
26/41
Kyung Hee University
DOS and NOS v.s DS
• DOS qualifies as DS?
Computers are not independentEasy to use and transparent
• NOS qualifies as DS?
No single coherent viewScalable and open
27/41
Kyung Hee University
Positioning Middleware
General structure of a distributed system as middleware.
1-22
28/41
Kyung Hee University
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.
1.23
29/41
Kyung Hee University
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 OSMultipro
c.Multicomp
.
Degree of transparency
Very High High Low High
Same OS on all nodes
Yes Yes No No
Number of copies of OS
1 N N N
Basis for communication
Shared memory
Messages FilesModel
specific
Resource management
Global, central
Global, distributed
Per node Per node
Scalability No Moderately Yes Varies
Openness Closed Closed Open Open
31/41
Kyung Hee University
Client and Server
-Clients request services.-Servers provide services by replying to the requests.
General interaction between a client and a server.
Client
Server
Packaged message
Reply message
32/41
Kyung Hee University
An Example Client and Server (1)The header.h file used by the client and server.Client and server need to agree on a couple things first!
33/41
Kyung Hee University
An Example Client and Server (2)A sample server (A basic server loop) -The server continually listens for new requests (receive).
-Extracting the request and simply executes it.
-It then prepares a response message and sends it back to the requesting client.
34/41
Kyung Hee University
An Example Client and Server (3)Sample Client: using the server to copy a file.
1-27 b
35/41
Kyung Hee University
Application LayeringA client-server application typically consists of three layers:
1.User-Interface level:
+Consists of the programs that allow end users to interact with application.
2.Processing level:
+Implements the application logic (core functionality)
+Typically implemented at the server side
3.Data level
+Maintain the actual data on which the application operate.
+Also keep data consistent across different application
36/41
Kyung Hee University
Application Layering
The general organization of an Internet search engine into three different layers
1-28
Web browser
Application server
Database server
37/41
Kyung Hee University
Client-Server Architectures
Alternative client-server organizations (a) – (e).
1-29
Two-tiers Architectures
38/41
Kyung Hee University
Client-Server Architectures (con.t)
An example of a server acting as a client.
1-30
Three-tiers Architectures
39/41
Kyung Hee University
Modern Architectures
An example of horizontal distribution of a Web service.
-Vertical distribution Model : where the tiers corresponded directly with the logical organization of the apps (The previous architectures)
-Horizontal distribution Model: where the application layers are physically split up into logically equivalent part-> This is how high-performance web services (e.g., Google, Amazon, E-bay..)