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

23
University of Puerto Rico at Mayaguez Electrical and Computer Engineering Department Lecture 1 Introduction Prof. Wilson Rivera

Upload: others

Post on 11-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

University of Puerto Rico at MayaguezElectrical and Computer Engineering Department

Lecture 1Introduction

Prof. Wilson Rivera

Page 2: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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

Page 3: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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.

Page 4: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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.

Page 5: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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

Page 6: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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

Page 7: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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

Page 8: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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

Page 9: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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

Page 10: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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

Page 11: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

Parallel and Distributed Computing Laboratory @ UPRM

Scaling Techniques (4)

1.5

An example of dividing the DNS name space into zones.

Page 12: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

Parallel and Distributed Computing Laboratory @ UPRM

Scaling Techniques (5)

Scalability

Replication

Consistency

Page 13: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

Parallel and Distributed Computing Laboratory @ UPRM

System Architectures (1)

Page 14: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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

Page 15: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

Parallel and Distributed Computing Laboratory @ UPRM

Multiprocessors (1)

•Bus overload (scalability)

•Cache coherence

Page 16: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

Parallel and Distributed Computing Laboratory @ UPRM

Multiprocessors (2)

a) A crossbar switchb) An omega switching network

Page 17: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

Parallel and Distributed Computing Laboratory @ UPRM

Cluster Configuration

Head Node

Node 1

Node 2

Node n

Switch Local StorageExternal Storage

Page 18: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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

Page 19: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

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

Page 20: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

Parallel and Distributed Computing Laboratory @ UPRM

Clients-Server model

Page 21: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

Parallel and Distributed Computing Laboratory @ UPRM

Processing Level

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

Page 22: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

Parallel and Distributed Computing Laboratory @ UPRM

Multi-tiered Architectures (1)

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

Page 23: Lecture 1 Introduction - ece.uprm.eduece.uprm.edu/~wrivera/ICOM6006/Lecture1.pdf · Goals of Distributed Systems zConnecting users and resources Security zTransparency High degree

Parallel and Distributed Computing Laboratory @ UPRM

Multi-tiered Architectures (2)

An example of a server acting as a client.