software concepts - information and computer sciencelee/07cis505/lec/lec-ch2-arch-v3.pdf ·...

10
1 1 CIS 505: Software Systems Architectures of Distributed Systems Insup Lee Department of Computer and Information Science University of Pennsylvania CIS 505, Spring 2007 CIS 505, Spring 2007 Architectures 2 Software Concepts Software more important for users o Connecting users and resources o Developing software for distributed systems Provide distribution transparency Additional layer atop of NOS implementing general- purpose services Middleware Offer local services to remote clients Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) NOS Hide and manage hardware resources Tightly-coupled operating system for multi- processors and homogeneous multicomputers DOS Main Goal Description System CIS 505, Spring 2007 Architectures 3 System software structures DOS (Distributed Operating Systems) o Uniprocessor OS, Mutliprocessor OS, Multicomputer OS o Global IPC, file system interface o Distributed Shared Memory NOS (Network Operating Systems) o Loosely coupled-software on loosely-couple hardware o rlogin, rcp, file servers for shared file, etc. Middleware CIS 505, Spring 2007 Architectures 4 Uniprocessor Operating Systems Separating applications from operating system code through a microkernel. 1.11

Upload: others

Post on 16-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Concepts - Information and Computer Sciencelee/07cis505/Lec/lec-ch2-arch-v3.pdf · Software Concepts Software more important for users o Connecting users and resources o

1

1

CIS 505: Software Systems

Architectures of Distributed Systems

Insup Lee

Department of Computer and Information Science

University of Pennsylvania

CIS 505, Spring 2007

CIS 505, Spring 2007 Architectures 2

Software Concepts

Software more important for users

o Connecting users and resources

o Developing software for distributed systems

Provide distributiontransparency

Additional layer atop of NOS implementing general-purpose services

Middleware

Offer local servicesto remote clients

Loosely-coupled operating system forheterogeneous multicomputers (LAN and WAN)

NOS

Hide and managehardware resources

Tightly-coupled operating system for multi-processors and homogeneous multicomputers

DOS

Main GoalDescriptionSystem

CIS 505, Spring 2007 Architectures 3

System software structures

DOS (Distributed Operating Systems)

o Uniprocessor OS, Mutliprocessor OS, Multicomputer OS

o Global IPC, file system interface

o Distributed Shared Memory

NOS (Network Operating Systems)

o Loosely coupled-software on loosely-couple hardware

o rlogin, rcp, file servers for shared file, etc.

Middleware

CIS 505, Spring 2007 Architectures 4

Uniprocessor Operating Systems

Separating applications from operating system code througha microkernel.

1.11

Page 2: Software Concepts - Information and Computer Sciencelee/07cis505/Lec/lec-ch2-arch-v3.pdf · Software Concepts Software more important for users o Connecting users and resources o

2

CIS 505, Spring 2007 Architectures 5

Multicomputer Operating Systems (1)

General structure of a multicomputer operating system

1.14

CIS 505, Spring 2007 Architectures 6

Multicomputer Operating Systems (2)

Alternatives for blocking and buffering in message passing.

1.15

CIS 505, Spring 2007 Architectures 7

Example

Sender

print (before send)

send (“my msg”)

print (after send)

Receiver

print (before receive)

receive (msg)

print (after receive)

CIS 505, Spring 2007 Architectures 8

Multicomputer Operating Systems (3)

Relation between blocking, buffering, and reliable communications.

Dealing with failures.

NecessaryNoBlock sender until message delivered

NecessaryNoBlock sender until message received

Not necessaryNoBlock sender until message sent

Not necessaryYesBlock sender until buffer not full

Reliable comm.guaranteed?

Send bufferSynchronization point

Page 3: Software Concepts - Information and Computer Sciencelee/07cis505/Lec/lec-ch2-arch-v3.pdf · Software Concepts Software more important for users o Connecting users and resources o

3

CIS 505, Spring 2007 Architectures 9

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

CIS 505, Spring 2007 Architectures 10

Distributed Shared Memory Systems (2)

False sharing of a page between two independent processes.

1.18

CIS 505, Spring 2007 Architectures 11

Network Operating System (1)

General structure of a network operating system.

1-19

CIS 505, Spring 2007 Architectures 12

Network Operating System (2)

Two clients and a server in a network operating system.

1-20

Page 4: Software Concepts - Information and Computer Sciencelee/07cis505/Lec/lec-ch2-arch-v3.pdf · Software Concepts Software more important for users o Connecting users and resources o

4

CIS 505, Spring 2007 Architectures 13

Web-sever Architectures

An example of horizontal distribution of a Web service.

1-31

CIS 505, Spring 2007 Architectures 14

Middleware for Distributed Systems

Middleware is a layer of software between

applications and OS that gives a uniform interface

Central to developing distributed applications

Different types

o Document based (world-wide web)

o File-system based (e.g., NFS)

o Shared object-based (CORBA)

o Coordination based (Linda, Publish-subscribe, Jini)

CIS 505, Spring 2007 Architectures 15

Coordination-based Approach

Linda: the tuple spaceo In (“fred”, 1958), Read (“fred”, x), Out(“fred”, 1958)

CIS 505, Spring 2007 Architectures 16

Middleware Layer

In an open middleware-based distributed system, the protocolsused by each middleware layer should be the same, as well asthe interfaces they offer to applications

OS network

middleware

applications

OS network

middleware

applications

Page 5: Software Concepts - Information and Computer Sciencelee/07cis505/Lec/lec-ch2-arch-v3.pdf · Software Concepts Software more important for users o Connecting users and resources o

5

CIS 505, Spring 2007 Architectures 17

Comparison between Systems

OpenOpenClosedClosedOpenness

VariesYesModeratelyNoScalability

Per nodePer nodeGlobal,

distributed

Global,

centralResource management

Model specificFilesMessagesSharedmemory

Basis for communication

NNN1Number of copies of OS

NoNoYesYesSame OS on all nodes

HighLowHighVery HighDegree of transparency

Multicomp.Multiproc.

Middleware-based OS

Network OS

Distributed OS

Item

CIS 505, Spring 2007 Architectures 18

System Architectures for Applications

Centralized Architecture

o Client-server model

o Application layering

o Multitiered architecture

Decentralized Architecture

o Peer-to-peer architecture

Distributed hash table (DHT)

o Overlay Networks

Hybrid Architectures

CIS 505, Spring 2007 Architectures 19

The Client and Server Model

General interaction between a client and a server.

Protocols (e.g., HTTP, SMTP, MIME, etc.)

1.25

CIS 505, Spring 2007 Architectures 20

An Example Client and Server (1)

The header.h file used by the client and server.

Page 6: Software Concepts - Information and Computer Sciencelee/07cis505/Lec/lec-ch2-arch-v3.pdf · Software Concepts Software more important for users o Connecting users and resources o

6

CIS 505, Spring 2007 Architectures 21

An Example Client and Server (2)

A sample server.

CIS 505, Spring 2007 Architectures 22

An Example Client and Server (3)

A client using the server to copy a file.

1-27 b

CIS 505, Spring 2007 Architectures 23

Application Layering

Figure 2-4. The simplified organization of anInternet search engine into three different layers.

CIS 505, Spring 2007 Architectures 24

Multitiered Architectures (1)

The simplest organization is to have only

two types of machines:

A client machine containing only the

programs implementing (part of) the

user-interface level

A server machine containing the rest,

o the programs implementing the processing

and data level

Page 7: Software Concepts - Information and Computer Sciencelee/07cis505/Lec/lec-ch2-arch-v3.pdf · Software Concepts Software more important for users o Connecting users and resources o

7

CIS 505, Spring 2007 Architectures 25

Multitiered Architectures (2)

Figure 2-5. Alternative client-server

organizations (a)–(e).

CIS 505, Spring 2007 Architectures 26

Multitiered Architectures (3)

Figure 2-6. An example of a server acting as

client.

CIS 505, Spring 2007 Architectures 27

Structured Peer-to-Peer Architectures (1)

DHT (DistributedHash Table)

Ex: the mapping ofdata items ontonodes in Chord.

CIS 505, Spring 2007 Architectures 28

Structured Peer-to-Peer Architectures (2)

Content Addressable

Network (CAN)

Figure 2-8. (a) The

mapping of data items

onto nodes in CAN.

Page 8: Software Concepts - Information and Computer Sciencelee/07cis505/Lec/lec-ch2-arch-v3.pdf · Software Concepts Software more important for users o Connecting users and resources o

8

CIS 505, Spring 2007 Architectures 29

Structured Peer-to-Peer Architectures (3)

Figure 2-8. (b)

Splitting a region

when a node joins.

CIS 505, Spring 2007 Architectures 30

Topology Management of Overlay Networks

Structured overlay based on ranking functions

o E.g., Semantic proximity

CIS 505, Spring 2007 Architectures 31

Topology Management of Overlay Networks

Figure 2-11. Generating a specific overlay network using a two-layered unstructured peer-to-peer system [adapted withpermission from Jelasity and Babaoglu (2005)].

CIS 505, Spring 2007 Architectures 32

Superpeers

Figure 2-12. A hierarchical organization of nodes into asuperpeer network.

Page 9: Software Concepts - Information and Computer Sciencelee/07cis505/Lec/lec-ch2-arch-v3.pdf · Software Concepts Software more important for users o Connecting users and resources o

9

CIS 505, Spring 2007 Architectures 33

Self-Management of Distributed Systems

Issues

o What to monitor

o How to monitor

o How to evaluate

o How to adapt

o …

Three stepso Monitor

o Check

o Steer/Adapt

CIS 505, Spring 2007 Architectures 34

The Feedback Control Model

Figure 2-16. The logical organization of a

feedback control system.

CIS 505, Spring 2007 Architectures 35

Possible techniques for adaption

1. Changing system parameter values

2. Micro resets

3. Dynamic replacement of components

4. System regeneration by global reset and

restriction to essential functionality

CIS 505, Spring 2007 Architectures 36

Figure 2-17. Data collection and information

aggregation in Astrolabe.

Example: Systems Monitoring with

Astrolabe

Page 10: Software Concepts - Information and Computer Sciencelee/07cis505/Lec/lec-ch2-arch-v3.pdf · Software Concepts Software more important for users o Connecting users and resources o

10

CIS 505, Spring 2007 Architectures 37

Example: Differentiating Replication

Strategies in Globule (1)

Figure 2-18. The edge-server model assumed

by Globule.

CIS 505, Spring 2007 Architectures 38

Example: Differentiating Replication

Strategies in Globule (2)

Figure 2-19. The dependency between predictionaccuracy and trace length.

CIS 505, Spring 2007 Architectures 39

Example: Automatic Component Repair

Management in Jade

Steps required in a repair procedure:

Terminate every binding between a componenton a nonfaulty node, and a component on thenode that just failed.

Request the node manager to start and add anew node to the domain.

Configure the new node with exactly the samecomponents as those on the crashed node.

Re-establish all the bindings that were previouslyterminated.