1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture

Preview:

Citation preview

1CS 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

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

4CS 6823 Spring’10 @ ASU

Multiple CPU System

• Shared/Private Memory– Multiprocessors & Multicomputers

• Interconnection network– Bus & Switched

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)

6CS 6823 Spring’10 @ ASU

Shared-Memory Architectures

• Examples: Cray C90, SGI Power Challenge

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)

8CS 6823 Spring’10 @ ASU

Cluster Architectures

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

10CS 6823 Spring’10 @ ASU

Network Operating System

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

1-20

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

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

13CS 6823 Spring’10 @ ASU

Structure of Distributed Operating Systems

User Space

Kernel

UP

SVR

User Space

Kernel

SVR

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

15CS 6823 Spring’10 @ ASU

Distributed Systems: Positioning Middleware

• General structure of a distributed system as middleware

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

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

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

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

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

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

22CS 6823 Spring’10 @ ASU

Layered Architectural Style

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

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

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

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

26CS 6823 Spring’10 @ ASU

Shared Data-space Architectural Style

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

27CS 6823 Spring’10 @ ASU

System Architectures

• Centralized Architectures• Decentralized Architectures• Hybrid Architectures

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

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

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.

31CS 6823 Spring’10 @ ASU

Internet Search Engine

• The core : information retrieval part

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

33CS 6823 Spring’10 @ ASU

Data Level

• Persistency of data• Keeping data consistent across different

applications• Database

– Relational database– Object-oriented database

Recommended