1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture.
-
Upload
sheila-allison -
Category
Documents
-
view
229 -
download
0
Transcript of 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture.
![Page 1: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/1.jpg)
1CS 6823 Spring’10 @ ASU
Chapter 2 Architecture
![Page 2: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/2.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/3.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/4.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/5.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/6.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/7.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/8.jpg)
8CS 6823 Spring’10 @ ASU
Cluster Architectures
![Page 9: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/9.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/10.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/11.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/12.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/13.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/14.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/15.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/16.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/17.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/18.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/19.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/20.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/21.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/22.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/23.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/24.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/25.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/26.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/27.jpg)
27CS 6823 Spring’10 @ ASU
System Architectures
• Centralized Architectures• Decentralized Architectures• Hybrid Architectures
![Page 28: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/28.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/29.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/30.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/31.jpg)
31CS 6823 Spring’10 @ ASU
Internet Search Engine
• The core : information retrieval part
![Page 32: 1 CS 6823 Spring’10 @ ASU Chapter 2 Architecture.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/32.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062314/56649ec45503460f94bceb43/html5/thumbnails/33.jpg)
33CS 6823 Spring’10 @ ASU
Data Level
• Persistency of data• Keeping data consistent across different
applications• Database
– Relational database– Object-oriented database