33
1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

Embed Size (px)

Citation preview

Page 1: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

1CS 6823 Spring’10 @ ASU

Chapter 2 Architecture

Page 2: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

2CS 6823 Spring’10 @ ASU

Overview

• Architecture overview• Architectural styles• Software architectures• Architectures versus middleware• Self-management in distributed systems

Page 3: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

3CS 6823 Spring’10 @ ASU

Uniprocessor Operating Systems

• Multitasking– A virtual machine to application

• CPU– Kernel mode and user mode

• System call– Programming interfaces between application and kernel

• Monolithic Kernel & Microkernel

Page 4: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

4CS 6823 Spring’10 @ ASU

Multiple CPU System

• Shared/Private Memory– Multiprocessors & Multicomputers

• Interconnection network– Bus & Switched

Page 5: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

5CS 6823 Spring’10 @ ASU

Homogeneous Multicomputer Systems

• System Area Network(SAN)– Bus-based multicomputer

• 100M,Fast Ethernet, Broadcast

• 25~100 nodes– Switch-base multicomputer

• Meshes

• Hypercubes

MPP COW (Clusters)

Page 6: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

6CS 6823 Spring’10 @ ASU

Shared-Memory Architectures

• Examples: Cray C90, SGI Power Challenge

Page 7: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

7CS 6823 Spring’10 @ ASU

Distributed (Multi-Private) Memory Architectures

• Examples:– NUMA: Cray T3E, SGI Origin 2000 (connected on memory bus)– UMA: Sun Enterprise 10000 (connected on memory bus)– Clusters: IBM SP-2, UC Berkeley NOW (connected on I/O bus)

Page 8: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

8CS 6823 Spring’10 @ ASU

Cluster Architectures

Page 9: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

9CS 6823 Spring’10 @ ASU

Network Operating System

• A collection of OSs of computers connected through a network incorporating modules to provide access to remote resources– Users are aware of file locations; remotely log-in

Page 10: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

10CS 6823 Spring’10 @ ASU

Network Operating System

• Two clients and a server in a network operating system.

1-20

Page 11: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

11CS 6823 Spring’10 @ ASU

Distributed Operating Systems

• Requirements– Provide users with a single coherent computer system– Hide distribution of resources– Mechanisms for resource protection– Secure communication

• Definition of Distributed OS– To users, it looks like ordinary centralized OS, but runs on

multiple and independent CPUs

• use of multiple processors is invisible

• user views system as a virtual uniprocessor

Page 12: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

12CS 6823 Spring’10 @ ASUAdapted from Instructor’s Guide for Distributed Systems: Concepts and Design Edn. 4 and Slides of UCCS © Pearson Education 2005

Distributed Operating Systems

• Single System Image: sharing local and remote resources in the same way

• Homogeneous and inextensible

Page 13: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

13CS 6823 Spring’10 @ ASU

Structure of Distributed Operating Systems

User Space

Kernel

UP

SVR

User Space

Kernel

SVR

Page 14: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

14CS 6823 Spring’10 @ ASU

Distributed vs. Network Operating Systems

• Transparency– How aware are users of the fact that multiple computers are

being used?

• Network OS– Users are aware where resources are located– Network OS is built on top of centralized OS– Handles interfacing and coordination between local OSs

• Distributed OS– Designed to control and optimize operations and resources in

distributed systems, but giving a virtual single system to users

Page 15: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

15CS 6823 Spring’10 @ ASU

Distributed Systems: Positioning Middleware

• General structure of a distributed system as middleware

Page 16: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

16CS 6823 Spring’10 @ ASU

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

Page 17: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

17CS 6823 Spring’10 @ ASU

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 DSMultiproc. 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

Page 18: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

18CS 6823 Spring’10 @ ASU

Distributed Shared Memory

• Build a “virtual” memory address over distributed multiple physical memories; an abstraction for data sharing between computers that do not share physical memory– load/store vs. send/receive message passing– Run-time system support for transparent accesses

Page 19: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

19CS 6823 Spring’10 @ ASU

Organization of Distributed Systems

• Software architectures – How to organize software components– How they should interact

• System architectures– Final instantiation of software architectures on real machines

• Autonomic systems– A distributed system monitor its own behavior and taking

appropriate measures when needed

Page 20: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

20CS 6823 Spring’10 @ ASU

Software Architectures

• Goal: Distribution transparency

– Trade-offs between performance, fault tolerance, ease-of-programming, and so on

• Component:

– Modular units with well-defined required and provided interfaces

• Connector– Mechanism to mediate communication coordination, or

cooperation among components

Page 21: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

21CS 6823 Spring’10 @ ASU

Architectural Styles

• Important styles of architecture for distributed systems– Layered architectures– Object-based architectures– Data-centered architectures– Event-based architectures

Page 22: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

22CS 6823 Spring’10 @ ASU

Layered Architectural Style

• A component at layer Li is allowed to call components at the underlying layer Li-1

Page 23: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

23CS 6823 Spring’10 @ ASU

Object-based Architectural Style

• Each object corresponds to what we have defined as a component

• These components are connected through a (remote) procedure call mechanism

Page 24: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

24CS 6823 Spring’10 @ ASU

Data-centered Architectural Style

• Components communicate through a common (passive or active) repository– Network applications: communicate through shared

distributed file systems

– Web applications: processes communicate through the use of shared Web-based data services

Page 25: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

25CS 6823 Spring’10 @ ASU

Event-based Architectural Style

• Processes essentially communicate through the propagation of events– Optionally also carry data

• Publish/subscribe systems– Only subscribed processes will receive the published events– Referentially decoupled: Processes are loosely coupled

Page 26: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

26CS 6823 Spring’10 @ ASU

Shared Data-space Architectural Style

• Combine event-based architectures and data-centered architectures– Processes are decoupled in time

Page 27: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

27CS 6823 Spring’10 @ ASU

System Architectures

• Centralized Architectures• Decentralized Architectures• Hybrid Architectures

Page 28: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

28CS 6823 Spring’10 @ ASU

Centralized Architectures

• Client-server model: – Processes are divided into two (possibly overlapping) groups– Server: a process implementing a specific service– Client: a process sending a request to a server and

subsequently waiting for the server's reply

Page 29: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

29CS 6823 Spring’10 @ ASU

Communication between Clients and Servers

• Connectionless protocol – Efficient, but unreliable

• Good for LANs– Idempotent: an operation can be repeated multiple times

without harm

• Connection-oriented protocol– Inefficient, but reliable

• Good for WANs

Page 30: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

30CS 6823 Spring’10 @ ASU

Application Layering

• Traditional three-layered view:– User-interface layer

• Contains units for an application’s user interface– Processing layer

• Contains the functions of an application, i.e. without specific data– Data layer

• Contains the data that a client wants to manipulate through the application components

• Observation: – This layering is found in many distributed information

systems, using traditional database technology and accompanying applications.

Page 31: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

31CS 6823 Spring’10 @ ASU

Internet Search Engine

• The core : information retrieval part

Page 32: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

32CS 6823 Spring’10 @ ASU

More Examples

• A Stock Brokerage System– User Interface– Process Level

• Analysis of financial data requires sophisticated methods and techniques from statistics and artificial intelligence

– Data Level

• Financial database

• Word Processor

Page 33: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

33CS 6823 Spring’10 @ ASU

Data Level

• Persistency of data• Keeping data consistent across different

applications• Database

– Relational database– Object-oriented database