lecture 1 introduction - ece.uprm.eduece.uprm.edu/~wrivera/icom6006/lecture1.pdf · goals of...

Post on 11-Jul-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

University of Puerto Rico at MayaguezElectrical and Computer Engineering Department

Lecture 1Introduction

Prof. Wilson Rivera

Parallel and Distributed Computing Laboratory @ UPRM

Outline

Definition of distributed systems

Goals of distributed systems

Transparency

Scalability and Scaling techniques

System architecturesMultiprocessor

Multicomputer» Cluster configurations» Cloud architecture

Client-server model

Multitier model

Parallel and Distributed Computing Laboratory @ UPRM

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.

Parallel and Distributed Computing Laboratory @ UPRM

Definition of a Distributed System (2)

A distributed system organized as middleware.Note that the middleware layer extends over multiple machines.

Parallel and Distributed Computing Laboratory @ UPRM

Goals of Distributed Systems

Connecting users and resourcesSecurity

TransparencyHigh degree of transparency vs. performance of the system

OpennessAn open distributed system offers services according to standardrules that describes syntax and semantics of those services

Complete and neutral semantic specifications

Interoperability and portability

ScalabilitySize, geographically, management

Parallel and Distributed Computing Laboratory @ UPRM

Transparency in a Distributed System

Different forms of transparency in a distributed system.

Hide whether a (software) resource is in memory or on diskPersistence

Hide the failure and recovery of a resourceFailure

Hide that a resource may be shared by several competitive usersConcurrency

Hide that a resource may have multiple copies of data Replication

Hide that a resource may be moved to another location while in useRelocation

Hide that a resource may move to another locationMigration

Hide where a resource is locatedLocation

Hide differences in data representation and how a resource is accessedAccess

DescriptionTransparency

Parallel and Distributed Computing Laboratory @ UPRM

Scalability Problems

Examples of scalability limitations.

Doing routing based on complete informationCentralized algorithms

A single on-line telephone bookCentralized data

A single server for all usersCentralized services

ExampleConcept

Parallel and Distributed Computing Laboratory @ UPRM

Scaling Techniques (1)

Hiding communication latencies Asynchronous communication (batch processing)

Shipping code (interactive applications)

DistributionDistributed algorithms

Domain Name System

Replication and CachingReplication Resource

Caching Client

Parallel and Distributed Computing Laboratory @ UPRM

Scaling Techniques (2)

The difference between letting:

a) a server or

b) a client check forms as they are being filled

Parallel and Distributed Computing Laboratory @ UPRM

Scaling Techniques (3)

Distributed algorithms No machine has complete info about the system

Machines make decisions based only on local info

Failure of one machine should not affect the others

There is not implicit assumption that a global clock exists

Parallel and Distributed Computing Laboratory @ UPRM

Scaling Techniques (4)

1.5

An example of dividing the DNS name space into zones.

Parallel and Distributed Computing Laboratory @ UPRM

Scaling Techniques (5)

Scalability

Replication

Consistency

Parallel and Distributed Computing Laboratory @ UPRM

System Architectures (1)

Parallel and Distributed Computing Laboratory @ UPRM

System Architectures (2)

Multiprocessors (Shared Memory)SMP (Symmetric Multi Processor)

NUMA (Non Uniform Memory Access)

Multicomputers (Distributed Memory)Homogeneous multicomputers

Heterogeneous multicomputers

Parallel and Distributed Computing Laboratory @ UPRM

Multiprocessors (1)

•Bus overload (scalability)

•Cache coherence

Parallel and Distributed Computing Laboratory @ UPRM

Multiprocessors (2)

a) A crossbar switchb) An omega switching network

Parallel and Distributed Computing Laboratory @ UPRM

Cluster Configuration

Head Node

Node 1

Node 2

Node n

Switch Local StorageExternal Storage

Parallel and Distributed Computing Laboratory @ UPRM

Cloud LayersInfrastructure as a Service (IaaS)

» Flexible in terms of the applications to be hosted » Hard to provide automatic scalability and failover because the

semantics associated to replication and other state management issues are highly application dependent

» e.g. Amazon EC2, RackSpace, Nimbus, EucalyptusPlatform as a Service (PaaS)

» Application domain-specific platforms» e.g. Google App Engine for example is targeted exclusively at

request-reply web based applications» MS Azure, Heroku

Software as a Service (SaaS)» Service domain-specific» e.g. Salesforce, NetSuite

Parallel and Distributed Computing Laboratory @ UPRM

Cloud Architecture

Servers

Physical Resources

Storage Network Sensors

Virtual Servers

Virtual Resources

Virtual Storage Virtual Network

CoordinationInformation Sharing

Infrastructure Services

Infrastructure Management Virtualization

SharedFile Systems

Application Services

Distributed Processing

ScalableDatabases

Resource Provisioning

Security Mechanisms

Parallel and Distributed Computing Laboratory @ UPRM

Clients-Server model

Parallel and Distributed Computing Laboratory @ UPRM

Processing Level

The general organization of an Internet search engine into three different layers

Parallel and Distributed Computing Laboratory @ UPRM

Multi-tiered Architectures (1)

Alternative client-server organizations (a) – (e).

Parallel and Distributed Computing Laboratory @ UPRM

Multi-tiered Architectures (2)

An example of a server acting as a client.

top related