203
Diseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso 2017-2018 Félix García Carballeira Grupo de Arquitectura de Computadores [email protected] Ejemplos de sistemas distribuidos

Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Embed Size (px)

Citation preview

Page 1: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Diseño de Sistemas DistribuidosMáster en Ciencia y Tecnología Informática

Curso 2017-2018

Félix García CarballeiraGrupo de Arquitectura de [email protected]

Ejemplos de sistemas distribuidos

Page 2: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Computing systems

•Félix García Carballeira •2•Sistemas Distribuidos

Computer systems

Single system Distributed systems

(multiple systems)

PC/work. SMP/MPP Vector Mainframe

clusters Client/Server Cloud Peer-to-peer

centralized decentralizedcontrol and management

Grid Comp. Volunt.

Page 3: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Características de los sistemas distribuidos de gran escala§ Gran distribución geográfica§ Gran capacidad

q Gran número de usuarios/clientesq De almacenamiento q Muchas conexiones de redq De procesamientoq Alto nivel de paralelismoq Capacidad para tolerancia a fallos

•Félix García Carballeira •3•Sistemas Distribuidos

Page 4: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Cluster

§ Arquitectura distribuida formada por un conjunto de computadores independientes interconectados que funciona como un único sistema (single system image)

•Félix García Carballeira •Sistemas Distribuidos •4

nodes

network

frontend

Page 5: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Arquitectura de un cluster

•Félix García Carballeira •Sistemas Distribuidos •5

Sequential Applications

Parallel Applications

Parallel Programming Environment

Cluster Middleware

(Single System Image and Availability Infrastructure)

Cluster Interconnection Network/Switch

PC/Workstation

Network Interface Hardware

Communications

Software

PC/Workstation

Network Interface Hardware

Communications

Software

PC/Workstation

Network Interface Hardware

Communications

Software

PC/Workstation

Network Interface Hardware

Communications

Software

Sequential ApplicationsSequential Applications

Parallel ApplicationsParallel Applications

Buyya

Page 6: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Clusters en Supercomputación y Big Data

•Félix García Carballeira •Sistemas Distribuidos •6

•Communications of the ACM

Page 7: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Cluster Beowulf

§ Primer cluster construido con computadores personales 1994:q 16 DX4 procesadores conectados mediante channel bonded

Ethernet. NASA Ames Centre§ Nodos con mínimos recursos (sin monitor, ratón, tarjeta de

vídeo)§ Un nodo servidor (frontend)§ Linux § Sistema de ficheros compartido§ Herramientas de programación paralela (PVM, MPI)§ Sistemas de gestión de trabajos

q Batch, interactivos , secuenciales, paralelos

•Félix García Carballeira •Sistemas Distribuidos •7

Page 8: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Arquitectura de cluster Beowulf

•Félix García Carballeira •Sistemas Distribuidos •8

nodos

Red privada

Page 9: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Beneficios que ofrece un cluster

§ Disponibilidad: por la redundancia delq Hardwareq Sistema operativo y aplicaciones

§ Escalabilidad: mediante la incorporación de nuevos servidores o más clusters a la red

§ Alto rendimiento§ Alta productividad

•Félix García Carballeira •Sistemas Distribuidos •9

Page 10: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Problemas de diseño de un cluster

§ Escalabilidad: física y de aplicaciones§ Disponibilidad: gestión de fallos§ Single system image: middleware y extensiones del SO§ Equilibrio de carga (CPU, red, memoria y discos)§ Seguridad y crifado§ Entorno distribuido (amigable y fácil de usar)§ Facilidad de programación (API)§ Facilidad de gestión (trabajos y recursos)

•Félix García Carballeira •Sistemas Distribuidos •10

Page 11: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Servicios deseados en un sistema SSI

§ Punto de acceso único§ Jerarquía de ficheros única§ Gestión unificada de trabajos§ Interfaz de usuario única§ Red virtual única sobre varias redes físicas§ Mismo espacio de memoria

•Félix García Carballeira •Sistemas Distribuidos •11

Page 12: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Ejemplo de punto de acceso único

•Félix García Carballeira •Sistemas Distribuidos •12

Source: K. Hwang, G. Fox, and J. Dongarra,Distributed and Cloud Computing,Morgan Kaufmann, 2012.

Page 13: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Tipos de trabajos a ejecutar en un cluster§ Trabajos secuenciales: ejecutan en un único nodo§ Trabajos paralelos: ejecutan en múltiples nodos

q Procesamiento de datosq Cómputo

§ Trabajos interactivos: ejecución asociada a un terminal, ejecución inmediata

§ Trabajos batch:q No necesitan respuesta inmediataq Se envían a una cola para su planificación

•Félix García Carballeira •Sistemas Distribuidos •13

Page 14: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Tipos de planificación

§ Planificación dedicada:q Solo un trabajo es ejecutado en el cluster a la vez y solo un

proceso del trabajo es asignado a cada nodoq El trabajo ejecuta hasta su terminación

§ Planificación compartida en el espacioq Diferentes trabajos se ejecutan en particiones de nodos

disjuntas de forma simultánea q Un proceso por nodoq El sistema de E/S puede ser compartido

•Félix García Carballeira •Sistemas Distribuidos •14

Page 15: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

MOSIX

§ Extensión de Linux para construir clusters§ http://www.mosix.org§ Ofrece:

q Single system imageq Migración de procesos transparente a las aplicacionesq Recogida y envío de información de los nodos (velocidad

de la CPU, carga, utilización, memoria libre,…)q Equilibrio de cargaq Sistemas de ficheros compartido y paralelo (MFS, GFS)

•Félix García Carballeira •Sistemas Distribuidos •15

Page 16: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Estaciones de trabajo inactivas

§ En entornos típicos con estaciones de trabajo se desperdicia cerca del 80% de ciclos totales de CPU.

§ Uso de estaciones de trabajo inactivas:q Ejecutar procesos de forma totalmente transparente en

máquinas remotas que se encuentran inactivas.q Los usuarios de las estaciones de trabajo inactivas no

deberían observar una degradación del rendimiento como consecuencia de la ejecución de procesos remotos.

•Félix García Carballeira •Sistemas Distribuidos •16

Page 17: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Clusters de workstations (COW)

•Félix García Carballeira •Sistemas Distribuidos •17

§ PCs completos conectados por una red§ Se aprovechan los tiempos no usados

CentralManager

JobJobJobJobJob

•Busy

•Busy

•Idle

•IdleJob

Job

•“idle”

•“idle.”

Page 18: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Condor

§ http://www.cs.wsic.edu/confor§ Sistema que convierte un conjunto de workstations y clusters

dedicados en un sistema distribuido de alto productividad§ Los trabajos se ejecutan en un nodo solo cuando el usuario no

está usándolo interactivamente§ Tipos de aplicaciones a ejecutar:

q Secuencialesq Paralelas (MPI)q DAG

•Félix García Carballeira •Sistemas Distribuidos •18

Page 19: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Clusters en el top500

•Félix García Carballeira •Sistemas Distribuidos •19

Page 20: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Ejemplo: Google server

§ Clusters geográficamente distribuidosq Cada uno con miles de máquinas

§ El DNS traduce las peticiones al cluster más cercano§ Los servicios ofrecen paralelismo y tolerancia a fallos§ El objetivo de la arquitectura es atender miles de peticiones

con tiempos de servicio muy pequeños

•Félix García Carballeira •Sistemas Distribuidos •20

Page 21: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Software techniques to tolerate latency variability in large-scale services§ From:

q The Tail at ScaleJeffrey Dean and Luiz Andree BarrosoDoi:10.1145/2408776.2408794 Communications of theACM| february 2013 | vol. 56 | no. 2

•Sistemas Distribuidos•Félix García Carballeira •21

Page 22: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Objective

§ To provide low latency for interactive services as the size and complexity of the system scales up

§ To reduce temporary high-latency episodes§ To provide services with predictably responsive using less-

predictable partsq Just as fault tolerant computing create a reliable service

using less-reliable parts

•Félix García Carballeira •Sistemas Distribuidos •22

Page 23: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Why variability exists?

§ Shared resources. Different applications using the same machine (CPU cores, caches,…)

§ Daemons that execute in background and when are scheduled produce multi-milliseconds stops

§ Global resources sharing. Applications running on different machines that use global resourcesq Shared file systems, network switches, …

§ Maintenance activities:q Data reconstruction in distributed file systemsq Periodic log compactionsq Periodic garbage collection in garbage-collected languages

•Félix García Carballeira •Sistemas Distribuidos •23

Page 24: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Why variability exists? (cont.)

§ Queuing. Multiple layers of queuing in intermediate servers and network switches amplify latency variability

§ Power limits. Modern CPUs are designed to temporarily run above their average power envelope to mitigate thermal effects

§ Garbage collection in solid-sate storage devices, that need to periodically garbage collect a large number of data blocks increasing read latency by a factor of 100

§ Energy management. Power-saving modes in many types save energy but add latency when moving from inactive to active modes.

•Félix García Carballeira •Sistemas Distribuidos •24

Page 25: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Latency variability is amplified by scale

§ Common technique to reduce latency in large scale online services:q Parallelize operations across many different machines, with

each sub-operation co-located with its portion of a large dataset.

q These sub-operations must all complete within a strict deadline for the service to feel responsive

•Félix García Carballeira •Sistemas Distribuidos •25

Page 26: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Problem of parallelization

§ Consider a system where each server typically responds in 10 ms the 99 % of the time and 1 second the 1 %

§ What happens when a request in handled only in one such server?q One user request in 100 will be slow (one second)

§ What happen when the request is parallelize in 100 sub-operations that run in 100 such servers in parallel?

•Félix García Carballeira •Sistemas Distribuidos •26

Page 27: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Problem of parallelization

§ Consider a system where each server typically responds in 10 ms the 99 % of the time and 1 second the 1 %

§ What happen when a request in handled only in one such server?q One user request in 100 will be slow (one second)

§ What happen when the request is parallelize in 100 sub-operations that run in 100 such servers in parallel?q A request finalize in 1 ms when all servers complete the

sub-operation in 1 ms§ Probability = 0.99100 = 0.37 (parallel system)

q Therefore: 63% of user requests will take more than one second

•Félix García Carballeira •Sistemas Distribuidos •27

Page 28: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

For large scale

§ Consider a better serer with only one in 10000 requests experiencing more than one second latencies

§ If the request is parallelize in 2000 such servers:q 20 % of user requests will take more than one second

•Félix García Carballeira •Sistemas Distribuidos •28

Page 29: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Probability on one-second service-level response time

•Félix García Carballeira •Sistemas Distribuidos •29

Page 30: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Techniques to reduce variability latency

§ Techniques to reduce latency variability

§ Techniques to tolerate latency variability

•Félix García Carballeira •Sistemas Distribuidos •30

Page 31: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Basic latency reduction techniques

§ Differentiated service classesq Prioritized request queues in servers

§ Objective: keep low-level queues short so higher-level policies take effect more quickly

§ This allows the servers to issue incoming high-priority interactive requests before request for latency-intensive batch operations are served

§ Break large requests into sequence of small requests to allow interleaving of the execution of other short-running requestsq Google’s web search engine uses it to prevent a small

number of very computationally expensive queries to add latency to a large number of concurrent cheaper queries

•Félix García Carballeira •Sistemas Distribuidos •31

Page 32: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Basic latency reduction techniques (cont.)§ Manage expensive background activities

q Background tasks can create CPU, disk or network loadq e.g: log compaction in distributed storage systems, garbage

collectionq Break down heavyweight operations into smaller operationsq Defer expensive activity until load is lower

§ Synchronize background activities in all serversq Enforces a brief burst of activity on each machine

simultaneouslyq Without synchronization, a few machines are always doing

some background activity, increasing the latency in parallelized requests

•Félix García Carballeira •Sistemas Distribuidos •32

Page 33: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Techniques to tolerate latency variability

§ Within request short-term adaptationsq Take action within single high-level requestq Goals:

§ Reduce overall latency§ Don’t increase resource use too much

§ Cross request adaptationq Examine recent behaviorq Improve latency of future requestsq Time scale: 10 seconds to minutes

•Félix García Carballeira •Sistemas Distribuidos •33

Page 34: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Within request short-term adaptations

§ Hedged requests: to issue the same request to multiple replicas and use the results from whichever replica respond firstq The client sends the requests with a brief delayq The client cancels remaining outstanding requests once the first result is

received§ Google benchmark that reads the value of 1000 keys stored in a BigTable

distributed across 100 different servers:

§ Low increase in request load: 10 ms delay: < 5% extra requests;

•Félix García Carballeira •Sistemas Distribuidos •34

Avg Std Dev 95%ile 99%ileNo replication 33ms 1524ms 24 ms 52 msDelay of 10 ms 14ms 4 ms 20 ms 23 ms

Page 35: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Within request short-term adaptations(cont.)§ Cross-server cancellation

q Client sends a request to first replicaq Wait a brief delay (1 or 2 ms) and send to second replicaq Servers cancel request on other replica when starting to

execute

•Félix García Carballeira •Sistemas Distribuidos •35

Page 36: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Probe remote queues first vs submit work to two queues simultaneously§ Probe remote queues first is less effective than submitting

work to two queues simultaneously:q Load levels can change between prove and request timeq Requests service times can be difficult to estimate due to

underlying system and hardware variabilityq Clients can create temporary hot spots by all clients picking

the same (least loaded) server at the same time

•Félix García Carballeira •Sistemas Distribuidos •36

Page 37: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Cross request adaptation

§ Micro-partitions: q Generate many more partitions than there are machines in

the serviceq Dynamic assignment and load balancing of theses partitions

to particular machinesq E.g: BigTable, query serving systems, GFS,…

•Félix García Carballeira •Sistemas Distribuidos •37

Page 38: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Micro partitions

§ Load balancing:

•Félix García Carballeira •Sistemas Distribuidos •38

Page 39: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Micro partitions

§ Speeds failure recovery

•Félix García Carballeira •Sistemas Distribuidos •39

Page 40: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Cross request adaptation (cont.)

§ Selective replication: detect heavily used items and make more replicas (statically or dynamically)q Static: more replicas of important docsq Dynamic: more replicas of particular documents as the

query load increases

•Félix García Carballeira •Sistemas Distribuidos •40

Page 41: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Cross request adaptation (cont.)

§ Latency-induced probation: exclude a particularly slow machine, putting it on probation q The source of this problem can be temporary

§ Removing capacity and resources under load improve, however, latency

§ Continue sending shadow requests to serverq Allow to measuring latencyq Return to service when latency back down

•Félix García Carballeira •Sistemas Distribuidos •41

Page 42: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Grid computing

§ Tecnología cuyo objetivo es la compartición de recursos en Internet de forma uniforme, transparente, segura, eficiente y fiable

§ Análoga a las redes de suministro eléctrico:q Ofrecen un único punto de acceso a un conjunto de recursos

distribuidosq Geográficamente en diferentes dominios de

administración

•Félix García Carballeira •42•Sistemas Distribuidos

Page 43: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Some definitions

§ A grid system is a collection of distributed resources connected by a network, located at different administrative domains, accessible to users and applications in order to reduce overhead and increase the performance.

§ A grid application is an application that operates in a grid environment.

§ A grid middleware is the software that facilitates writing grid applications and manages the grid infrastructure.

•Félix García Carballeira •43•Sistemas Distribuidos

Page 44: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Main grid characteristics

§ Large scale§ Geographical distribution§ Heterogeneity§ Resource sharing§ Multiple administration domains§ Resource coordination§ Transparent access§ Dependable access§ Consistent access

•Félix García Carballeira •44•Sistemas Distribuidos

Page 45: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Main grid uses

§ Distributed supercomputing

§ High throughput computing

§ On-demand computing

§ Data-intensive computing

§ Collaborative computing

•Félix García Carballeira •45•Sistemas Distribuidos

Page 46: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Resources

§ Processors§ Storage§ Networks§ Software§ Special Devices

•Félix García Carballeira •46•Sistemas Distribuidos

Page 47: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Types of grids

§ Intragridsq Same organizationq Heterogeneous resourcesq LAN connectionq Less security problemsq Less reliability problems

LAN

•Félix García Carballeira •47•Sistemas Distribuidos

Page 48: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Types of grids

§ Intergridq Multiple organizationsq Multiple administrative

domainsq Connection using a WANq Security is an important

thingq Reliability problems

WAN

•Félix García Carballeira •48•Sistemas Distribuidos

Page 49: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Grid components

Applications

Tools

Local resources

Middleware

•Félix García Carballeira •49•Sistemas Distribuidos

Page 50: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

User point of view

applications

results

q Brokersq Schedulersq Job managementq Data managementq Security model

•Félix García Carballeira •50•Sistemas Distribuidos

Page 51: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Jobs execution

ResourceBroker

Job SubmissionService

StorageElement

ComputeElement

Information Service

ReplicaCatalogue

Submit a job

Brokerinfo

Input data

Output data

Job status

•Félix García Carballeira •51•Sistemas Distribuidos

Page 52: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

JSDL

§ JSDL stands for Job Submission Description Languageq A language for describing the requirements of computational

jobs for submission to Grids and other systems.

§ A JSDL document describes the job requirements q What to do, not how to do it

•Félix García Carballeira •52•Sistemas Distribuidos

Page 53: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

JSDL Document

§A JSDL document is an XML document§ It may contain

q Generic (job) identification information q Application descriptionq Resource requirements (main focus is computational jobs)q Description of required data files

§Out of scope, for JSDL version 1.0q Schedulingq Workflowq Securityq …

•Félix García Carballeira •53•Sistemas Distribuidos

Page 54: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Data Staging Requirement

§ Solutionq Assume simple model: Stage-in – Execute – Stage-Outq Files required for execution

§ Files are staged-in before the job can start executing q Files to preserve

§ Files are staged-out after the job finishes execution

Stage-In Execute Stage-Out

•Félix García Carballeira •54•Sistemas Distribuidos

Page 55: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Applications not appropriate for grid

§ Parallel applications with many interprocess communication

§ Transaction

§ Applications with many interdependencies between jobs

§ Applications with non standard network protocols

•Félix García Carballeira •55•Sistemas Distribuidos

Page 56: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Replication

§ One server with famous datasets can become in a bottleneck.

§ Large Bandwidth could be consumed to transfer huge datasetsfrom server to client.

§ Access latency could be significant in grids

§ If one server fail the dataset stored in the server can not beaccessed.

•Félix García Carballeira •56•Sistemas Distribuidos

Page 57: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Load balancing

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

T1

T1

T2

T2

T2

T2

T1

T2

T2

WAN

WANWAN WAN

•Félix García Carballeira •57•Sistemas Distribuidos

Page 58: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Concepts

§ Replication is the distribution of multiple copies of data across the grid.

§ Reduce data access overhead providing faster access to data§ Increases data availability

q Avoid single points of failureq Resilient to component failures

§ Helps in load-balancing in the Grid§ Improved Scalability

q Reduce bottlenecks

•Félix García Carballeira •58•Sistemas Distribuidos

Page 59: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Replication system components

Application

Metadata service

Replication Location service

Replication selection service

Data transferservice

12

3

45

6

7

8Replication

consistency service

•Félix García Carballeira •59•Sistemas Distribuidos

Page 60: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Filenames

§ Logical Filename (LFN) is the name that refers to the full set of replicas for a file. q Logical identifierq Based on the LFN, all replicas can be looked up in a replica

catalogue.

§ Physical file name (PFN) is the location of a copy of the file on a storage system . q Host + physical locationq May be a physical filename of a file stored on disk

•Félix García Carballeira •60•Sistemas Distribuidos

Page 61: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Types of replication

§ Static Replication:q Replicas have to be manually created and managed. q Not feasible for large datasets, and large number of nodes.q Cannot adapt to changes.

§ Dynamic Replication:q All tasks (replica creation, deletion and management) are

done automatically.

•Félix García Carballeira •61•Sistemas Distribuidos

Page 62: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Replica selection

§ Given a logical file name, discover the physical locations of the file.

§ Replica optimization:q Select the “best” replica from this set of physical replica

locations, based on its performance and data access features.

•Félix García Carballeira •62•Sistemas Distribuidos

Page 63: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Consistency

§ Most of the data is read-only. If updates occur, general update propagation mechanisms are needed.

§ Protocols:q Strong consistency protocols q Weak consistency (lazy replication)

•Félix García Carballeira •63•Sistemas Distribuidos

Page 64: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución I

§ Programa§ Datos

•Félix García Carballeira •64•Sistemas Distribuidos

Page 65: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución I

§ Programa§ Datos

Gestor de recursos

Envío del trabajo

•Félix García Carballeira •65•Sistemas Distribuidos

Page 66: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución I

§ Programa§ Datos

Gestor de recursos

Servicio deinformación

•Félix García Carballeira •66•Sistemas Distribuidos

Page 67: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución I

§ Programa§ Datos

Gestor de recursos

Servicio deinformación

Envío del trabajo

•Félix García Carballeira •67•Sistemas Distribuidos

Page 68: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución I

§ Programa§ Datos

Gestor de recursos

Servicio deinformación

•Félix García Carballeira •68•Sistemas Distribuidos

Page 69: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución I

§ Programa§ Datos

Gestor de recursos

Servicio deinformación

Se ejecutaEl trabajo

•Félix García Carballeira •69•Sistemas Distribuidos

Page 70: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución I

§ Programa§ Datos

Gestor de recursos

Servicio deinformación

Resultados De salida

•Félix García Carballeira •70•Sistemas Distribuidos

Page 71: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución I

Gestor de recursos

Servicio deinformación

Resultados De salida

•Félix García Carballeira •71•Sistemas Distribuidos

Page 72: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución I

Gestor de recursos

Servicio deinformación

•Félix García Carballeira •72•Sistemas Distribuidos

Page 73: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución II

Programa

Datos

•Félix García Carballeira •73•Sistemas Distribuidos

Page 74: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución II

Programa

Datos

Gestor de recursos

Envío del trabajo

•Félix García Carballeira •74•Sistemas Distribuidos

Page 75: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución II

Datos

Gestor de recursos

Servicio deinformación

Catalogo de réplicas

•Félix García Carballeira •75•Sistemas Distribuidos

Page 76: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución II

Datos

Gestor de recursos

Servicio deinformación

Envío del trabajo

•Félix García Carballeira •76•Sistemas Distribuidos

Page 77: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución II

Datos

Gestor de recursos

Servicio deinformación

•Félix García Carballeira •77•Sistemas Distribuidos

Page 78: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución II

Datos

Gestor de recursos

Servicio deinformación

•Félix García Carballeira •78•Sistemas Distribuidos

Page 79: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución II

Datos

Gestor de recursos

Servicio deinformación

Se ejecutaEl trabajo

•Félix García Carballeira •79•Sistemas Distribuidos

Page 80: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución II

Datos

Gestor de recursos

Servicio deinformación

resultados

•Félix García Carballeira •80•Sistemas Distribuidos

Page 81: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución II

Datos

Gestor de recursos

Servicio deinformación

resultados

•Félix García Carballeira •81•Sistemas Distribuidos

Page 82: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelo de ejecución II

Programa

Datos

Gestor de recursos

Servicio deinformación

resultados

•Félix García Carballeira •82•Sistemas Distribuidos

Page 83: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Globus toolkit

§ Introduction to Globus Toolkit

§ Componentsq Common runtime componentsq Securityq Execution managementq Data managementq Information services

•Félix García Carballeira •83•Sistemas Distribuidos

Page 84: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Globus Toolkit

§ Software toolkit, developed by The Globus Alliance http://www.globus.org

§ It can use to program grid-based applications.

§ Includes high-level services that we can use to build Grid applications. It includes:q A job submission infrastructureq A security infrastructure q Data management services

•Félix García Carballeira •84•Sistemas Distribuidos

Page 85: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

What is not the Globus toolkit?

§ A user tool

§ An application

§ A scheduler

•Félix García Carballeira •85•Sistemas Distribuidos

Page 86: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Stables versions

§ Version v1.0.0 (10/29/1998)§ Version 1.1.1 (12/1999)§ Release 1.1.4 (9/2000)§ Version 2.0 (2001)§ Version 2.4 (2002)§ Version 3 (jun/2003)§ Version 4 (may/2005)§ Versión 5 (2010)§ Versión 5.2.4 (2013)§ Versión 6.0 (actual)

•Félix García Carballeira •86•Sistemas Distribuidos

Page 87: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Globus Toolkit Components

•Félix García Carballeira •87•Sistemas Distribuidos

Page 88: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Execution management

§ Grid Resource Allocation and Management (GRAM) § GRAM allows to submit, monitor and cancel job.§ GRAM is not a scheduler.§ Two implementations

q WS GRAMq Pre-WS GRAM

•Félix García Carballeira •88•Sistemas Distribuidos

Page 89: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

MetaSchedulers

GlobusGRAM

CONDOR

GlobusGRAM

LSF

GlobusGRAM

PBS

Site2 Site3

Job submissionservice

Condor-G

Broker MDS +Replica CatalogSubmit jobs

ResourceDiscovery

Site1

•Félix García Carballeira •89•Sistemas Distribuidos

Page 90: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Data Management

§ Data transferq GridFTPq Reliable File Transfer (RFT) service

§ Data Replicationq Replica Location Service (RLS)

•Félix García Carballeira •90•Sistemas Distribuidos

Page 91: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

GridFTP

§ GridFTP is a high-performance, secure, reliable data transfer protocol optimized for high-bandwidth wide-area networks

§ Based on FTP protocol q GridFTP: Protocol Extensions to FTP for the Gridq Global Grid Forum Recommendationq http://www.ggf.org/documents/GWD-R/GFD-R.020.pdf

§ Globus providesq Server implementationq Client tools (command line programs)q Development libraries

•Félix García Carballeira •91•Sistemas Distribuidos

Page 92: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Features

§ GSI Security§ Third-party transfers § Partial file access § Reliability/restart § Large file support § Data channel reuse § Parallel transfers § TCP Buffer size control § Based on Standards § Client side tool called globus-url-copy§ Development libraries and APIs

•Félix García Carballeira •92•Sistemas Distribuidos

Page 93: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Parallel transfers

•Félix García Carballeira •93•Sistemas Distribuidos

Page 94: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

One stream versus multiples streams

•Félix García Carballeira •94•Sistemas Distribuidos

Page 95: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Striped servers

•Félix García Carballeira •Sistemas Distribuidos •95

Control

•globus-url-copy -stripe

•commands

•Parallel data transfer

globus-gridftp-server -p 7000 -r machineA:5000,machineB:6000,machineC4000

Data Data Data

•machineB•machineA •machineC

machineA> globus-gridftp-server -p 5000 –dn

machineB> globus-gridftp-server -p 6000 -dn

machineC> globus-gridftp-server -p 4000 -dn

Page 96: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Replica location service in Globus

§ The Replica Location Service (RLS) is a distributed registry service that records the locations of data copies and allows discovery of replicas.

§ Maintains mappings between logical identifiers and physical names.

§ RLS was designed and implemented in a collaboration between the European DataGrid project and the Globus Alliance

•Félix García Carballeira •96•Sistemas Distribuidos (2015-2016)

Page 97: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

RLS components

LRC LRC LRC LRC

RLI RLI RLI

Replica Location Index Nodes

Local Replica Catalogs

•Félix García Carballeira •97•Sistemas Distribuidos (2015-2016)

Page 98: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

RLS components

§ Local Replica Catalogs (LRCs) stores mappings between logical names for data items and the physical locations of replicas of those items.

§ Replica Location Index (RLI) nodes aggregate information about one or more LRCs.

§ LRCs use soft state update mechanisms to inform RLIs about their state: relaxed consistency of index.

§ Optional compression of state updates reduces communication, CPU and storage overheads

§ Membership service registers participating LRCs and RLIs and deals with changes in membership

•Félix García Carballeira •98•Sistemas Distribuidos (2015-2016)

Page 99: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

RLS behavior

§ Files are registered at LRC. LRC updates information to RLI.

§ The replication service begins by locating the desired files, first by querying a Replica Location Index (RLI), which identifies the site or sites where the file may be present.

§ Then by querying one or more Local Replica Catalogs (LRCs) to identify the exact physical location of the file.

§ Finally, transfer de data using gridFTP or RFT.

•Félix García Carballeira •99•Sistemas Distribuidos (2015-2016)

Page 100: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Example 1

LF1LF7

PFxPFy

ReplicaSite 1

LF8LFz

PFuPFv

ReplicaSite 2

LFz PFvReplicaSite 3

LF1 Site 1LF7 Site 1LF8 Site 2LFz Site 2LFz Site 3

Global ReplicaIndex Node

Soft StateCommunicationsof LNRC State

User Queries:Where is LFi replicated?

Source: Globus Alliance§ All updates sent to a centralized GRIN§ Not scalable: All queries serviced by a single

index§ Not reliable: Single point of failure

•Félix García Carballeira •100•Sistemas Distribuidos

Page 101: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Example 2

LF1LF7

PFxPFy

ReplicaSite 1

LF1LFz

PFuPFv

ReplicaSite 2

LFz PFkReplicaSite 3

•GRIN 1

•Soft State updates

LFz PFnReplicaSite 4

•User Queries•Concerning•LF1..LF100

•GRIN 2

•GRIN 3

•GRIN 4

•User Queries•Concerning•LFa..LFz

•LF1 Site 1•LF1 Site 2•LF7 Site 1

•LF1 Site 1•LF1 Site 2•LF7 Site 1

•LFz Site 2•LFz Site 2•LF3 Site 3

•LFz Site 2•LFz Site 2•LF3 Site 3

Source: Globus Alliance§ RLS with LFN partitioning§ Replicated RLI§ More scalable, reliable

•Félix García Carballeira •101•Sistemas Distribuidos

Page 102: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Ejemplos

§ Clusters§ Grid computing§ Sistemas peer to peer§ Computación voluntaria§ Cloud computing

•Diseño de Sistemas Distribuidos • Félix García Carballeira •102

Page 103: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Sistemas Peer to peer

§ Sistema totalmente distribuido de gran escala:q Origen en 1999 con el sistema Napsterq Sin control centralizado, múltiples dominios de

administraciónq Los nodos participantes son simétricos en funcionalidad y

tareas (cliente/servidor)q Gran número de nodos poco fiablesq Utilizado fundamentalmente para la distribución de

contenidos y compartición de ficheros

•Diseño de Sistemas Distribuidos • Félix García Carballeira •103

Page 104: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Características de los sistemas P2P

§ Gran capacidadq De almacenamiento q Muchas conexiones de redq De procesamientoq Alto nivel de paralelismo

§ Gran distribución geográfica§ Falta de fiabilidad

q Se consigue fiabilidad con replicación§ De datos§ De conexiones de red

•Diseño de Sistemas Distribuidos • Félix García Carballeira •104

Page 105: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Peer to Peer y sistemas grid

§ Sistemas gridq Compartición coordinada de recursos, basado en estándares

y con mayores niveles de fiabilidad§ Sistemas Peer to peer

q Sistemas menos fiables, más dinámicos y con menos estandarización

•Diseño de Sistemas Distribuidos • Félix García Carballeira •105

Page 106: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Principales aplicaciones

§ Compartición y distribución de ficherosq Napster, Gnutella, eDonkey, BitTorrent, …

§ Streamingq PPLive, CoolStreaming, iPlayer, …

§ Telefoníaq Skype

§ Computación voluntariaq SETI@home

•Diseño de Sistemas Distribuidos • Félix García Carballeira •106

Page 107: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Principales retos de los sistemas P2P

§ Búsqueda§ Cómo distribuir los datos§ Equilibrio de carga§ Integridad de los datos§ Disponibilidad, tolerancia a fallos§ Consistencia de los datos§ Seguridad

•Diseño de Sistemas Distribuidos • Félix García Carballeira •107

Page 108: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Arquitectura de un sistema P2P

•Diseño de Sistemas Distribuidos • Félix García Carballeira •108

Overlay network

§ Primitivas básicasq Joinq Publishq Searchq Fetch

Page 109: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

El problema de la búsqueda

•Diseño de Sistemas Distribuidos • Félix García Carballeira •109

•Internet

•N1•N2 •N3

•N6•N5•N4

•Publisher

•Key=“title”•Value=MP3 data…

•Client•Search(“title”)

•?

Page 110: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Clasificación según el grado de centralización de la red§ Arquitecturas descentralizadas

q Todos los nodos realizan las mismas tareas y no hay un coordinador central

§ Arquitecturas parcialmente centralizadasq Existe un servidor central que facilita la interacción entre

los nodosq El intercambio se hace entre los nodos de la red

§ Arquitecturas centralizadas híbridasq Algunos nodos actúan como controladores de los

participantes y del sistema (supernodos)

•Diseño de Sistemas Distribuidos • Félix García Carballeira •110

Page 111: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Red de recubrimiento

§ Los sistemas P2P mantienen una red de recubrimiento (overlay) entre los nodos.

§ Una red overlay es un grafo G = {N, E}q N: conjunto de participantesq E: enlaces q Un par de nodos conectados por un enlace E utilizan sus

direcciones IP para comunicarse entre ellos mediante Internet

•Diseño de Sistemas Distribuidos • Félix García Carballeira •111

Page 112: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Operación Join

§ Sistemas parcialmente centralizadosq Los nodos entran y salen de la red contactando con el

controladorq Los enlaces entre los nodos se forman dinámicamente entre

los participantes introducidos en el controlador§ Sistemas descentralizados

q Los nodos que entran en la red obtienen la IP y el puerto de un nodo que ya participa en el sistema a través de un nodo bootstrap que se puede obtener de un sitio Web.

•Diseño de Sistemas Distribuidos • Félix García Carballeira •112

Page 113: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Clasificación según la estructura de la red§ No estructuradas

q No hay restricciones sobre los enlaces entre los nodosq El contenido no está relacionado con la topología de la red, q El objeto necesita ser localizado

§ Sistemas estructuradosq Cada nodo tiene un identificador único q El grafo tiene una estructura específica: el identificador de

un nodo determina su posición dentro del grafoq Los objetos se almacenan en posiciones de la red

especificadasq Ofrecen funciones de localización de ficheros

•Diseño de Sistemas Distribuidos • Félix García Carballeira •113

Page 114: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Estado distribuido

§ Estado: conjunto de objetos con claves únicasq Operaciones: Publish, Search, Fetch

§ Sistemas centralizadosq El objeto se almacena en el nodo que lo insertó y en los

nodos que han accedido posteriormente a élq El controlador almacena esa información (Napster)

§ En sistemas no estructuradosq El objeto se almacena en el nodo que lo insertó y en los

nodos que han accedido posteriormente a élq La información de búsqueda se incluye en los nodos

(Gnutella)

•Diseño de Sistemas Distribuidos • Félix García Carballeira •114

Page 115: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Estado distribuido

§ Redes estructuradasq El estado se almacena utilizando Tablas hash distribuidas

(DHT, Distributed has table)q Cada objeto viene dado por <clave, valor>

•Diseño de Sistemas Distribuidos • Félix García Carballeira •115

§ Inserción de un objeto (k, valor)§ Se determina el nodo responsable

de almacenar la clave k

Page 116: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Estado distribuido

§ Redes estructuradasq El estado se almacena utilizando Tablas hash distribuidas

(DHT, Distributed has table)q Cada objeto viene dado por <clave, valor>

•Diseño de Sistemas Distribuidos • Félix García Carballeira •116

§ Inserción de un objeto (k, valor)§ Se determina el nodo responsable

de almacenar la clave k

Page 117: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Estado distribuido

§ Redes estructuradasq El estado se almacena utilizando Tablas hash distribuidas

(DHT, Distributed has table)q Cada objeto viene dado por <clave, valor>

•Diseño de Sistemas Distribuidos • Félix García Carballeira •117

§ Inserción de un objeto (k, valor)§ Se determina el nodo responsable

de almacenar la clave k§ Se almacena (k, valor) en ese

nodo

Page 118: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Estado distribuido

§ Redes estructuradasq El estado se almacena utilizando Tablas hash distribuidas

(DHT, Distributed has table)q Cada objeto viene dado por <clave, valor>

•Diseño de Sistemas Distribuidos • Félix García Carballeira •118

§ Inserción de un objeto (k, valor)§ Se determina el nodo responsable

de almacenar la clave k§ Se almacena (k, valor) en ese

nodo§ El nodo propaga réplicas a otros

nodos

Page 119: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Estado distribuido

§ Redes estructuradasq El estado se almacena utilizando Tablas hash distribuidas

(DHT, Distributed has table)q Cada objeto viene dado por <clave, valor>

•Diseño de Sistemas Distribuidos • Félix García Carballeira •119

§ Ejemplos:§ Chord, Chord: A Scalable

Peer-to-peer Lookup Service for Internet ApplicationsIon Stoica, Robert Morris, David Karger, M. Frans Kaashoek, HariBalakrishnan

§ eDonkey§ BitTorrent, Pastry, CAN

Page 120: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Napster

§ Arquitectura centralizadaq Servidor central para localizar los ficherosq Transferencia de ficheros directamente entre los usuarios

•Diseño de Sistemas Distribuidos • Félix García Carballeira •120

Page 121: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Funcionamiento de Napster

§ Los usuarios se registran y y publican información sobre sus contenidos (Joiny Publish)

•Diseño de Sistemas Distribuidos • Félix García Carballeira •121

Page 122: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Funcionamiento de Napster

§ Los usuarios realizan consultas al servidor central (Search)

•Diseño de Sistemas Distribuidos • Félix García Carballeira •122

Page 123: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Funcionamiento de Napster

§ Los usuarios consultan con los nodos que pueden tener los datos para buscar la mejor tasa de transferencia

•Diseño de Sistemas Distribuidos • Félix García Carballeira •123

Page 124: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Funcionamiento de Napster

§ Los usuarios recuperan los datos directamente del nodo que los tiene (Fetch)

•Diseño de Sistemas Distribuidos • Félix García Carballeira •124

Page 125: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Gnutella

§ Arquitectura totalmente descentralizada y no estructurada§ No hay servidor central§ Método de búsqueda: inundación de mensajes (flooding)

•Diseño de Sistemas Distribuidos • Félix García Carballeira •125

Page 126: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Método básico de inundación

§ Un nodo envía una consulta a todos sus vecinos§ Si el vecino tiene el resultado notifica al nodo y éste obtiene el resultado

directamente§ Si el vecino no tiene el resultado decrementa el TTL y encamina la petición

a todos sus vecinos (mientras TTL >0)§ Problemas:

q Un nodo puede ser visitado más de una vezq Se pueden obtener resultados redundantes o incluso no obtener

resultados aunque existanq Gran cantidad de mensajesq Dificultad para elegir TTL

§ Si es demasiado alto: mucha sobrecarga en la red§ Si es demasiado bajo: pueden no obtenerse resultados

•Diseño de Sistemas Distribuidos • Félix García Carballeira •126

Page 127: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Supernodos

§ Ejemplos: Kazaa, Edutella,

•Diseño de Sistemas Distribuidos • Félix García Carballeira •127

Page 128: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Supernodos

§ Join: el cliente contacta con un supernodo§ Publish: envía la lista de contenidos a su supernodo§ Search: pide a su supernodo y hay inundación entre supernodos§ Fetch: se obtiene el fichero directamente del cliente

•Diseño de Sistemas Distribuidos • Félix García Carballeira •128

Page 129: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Bit torrent

§ Un nodo inicial (seed) dispone del fichero§ El fichero se rompe en segmentos§ Se construye un fichero .torrent

q Los metadatos del ficheroq La dirección de un nodo trackerq La lista de segmentos y sus checksums

§ El tracker es un nodo que coordina la distribución del fichero§ El fichero .torrent se publica en la web

•Diseño de Sistemas Distribuidos • Félix García Carballeira •129

Page 130: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Funcionamiento

§ Un cliente que desea descargar el fichero obtiene el fichero .torrent (búsqueda utilizando un servicio externo, ej: Google)q Contacta con el tracker identificado en el fichero .torrentq El tracker envía una lista (aleatoria) de nodos que tienen o

están descargando el ficheroq El cliente contacta con los nodos para ver que segmentos

tienen§ Transferencia en paralelo

q El cliente solicita a los nodos segmentos y comprueba que son correctos a través de los cheksums

•Diseño de Sistemas Distribuidos • Félix García Carballeira •130

Page 131: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Ejemplo de DHT

§ Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

§ Protocolo Chord:q Especifica cómo localizar los objetos según su claveq Cómo entran nuevos nodos en el sistemaq Cómo recuperarse de los fallos o de las salidas de los nodos

•Diseño de Sistemas Distribuidos • Félix García Carballeira •131

Page 132: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Hash

§ La función hash asigna a cada nodo y clave un identificador de m bits utilizando alguna función hash como SHA-1q ID(nodo) = hash (IP, puerto)q ID(clave) = hash (clave)

§ Propiedades de la hash:q Equilibrio de carga: todos los nodos reciben

aproximadamente el mismo número de clavesq Cuando un N-ésimo nodo entra o sale de la red, solo una

fracción de las claves O(1/N) tienen que ser movidas a una localización diferente.

•Diseño de Sistemas Distribuidos • Félix García Carballeira •132

Page 133: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Nodos en anillo

•Diseño de Sistemas Distribuidos • Félix García Carballeira •133

§ Espacio de direcciones de m bits

§ Los nodos y claves se mapean a este espacio con la función hash

§ Ejemplo: q m= 3 bits

§ Id = {0, 1, 2, 3, 4, 5, 6, 7}q Nodos en el sistema {0, 1, 3}

01

2

34

5

6

7

•nodo•identificador

Page 134: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Operaciones

§ Join: cuando un cliente desea conectarse al anillo contacta con un nodo “bootstrap” para obtener un identificador, su sucesor y su predecesor

§ Publish: un contenido con clave K se publica en el nodo con igual o mayor identificador de la clave

§ Search: la búsqueda se encamina al nodo K a través de las estructuras de datos que mantienen los nodos del anillo

§ Fetch: directamente del nodo que almacena el elemento

•Diseño de Sistemas Distribuidos • Félix García Carballeira •134

Page 135: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Asignación de claves

•Diseño de Sistemas Distribuidos • Félix García Carballeira •135

§ Una clave k se asigna al nodo con igual o mayor identificador de la clave.

§ sucesor(k) es el nodo que almacena la clave kq sucesor(1) = 1q sucesor(6) = 0q sucesor(2) = 3

01

2

34

5

6

7

6

1

2

•nodo•identificador

•claves

Page 136: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Asignación de claves

•Diseño de Sistemas Distribuidos • Félix García Carballeira •136

§ Cuando un nodo n entra en la red, algunas de las claves asignadas al sucesor(n) se le asignan a n

01

2

34

5

6

7

5

1

2

7

Page 137: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Asignación de claves

•Diseño de Sistemas Distribuidos • Félix García Carballeira •137

§ Cuando un nodo n entra en la red, algunas de las claves asignadas al sucesor(n) se le asignan a n

01

2

34

5

6

7

5

1

2

7

Page 138: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Asignación de claves

•Diseño de Sistemas Distribuidos • Félix García Carballeira •138

§ Cuando un nodo n entra en la red, algunas de las claves asignadas al sucesor(n) se le asignan a n

01

2

34

5

6

7

5

1

2

7

Page 139: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Asignación de claves

•Diseño de Sistemas Distribuidos • Félix García Carballeira •139

§ Cuando un nodo n deja la red, todas sus claves son asignadas al sucesor(n) 0

1

2

34

5

6

7 1

2

5

7

Page 140: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Búsqueda de claves

§ Cada nodo n almacena una tabla de encaminamiento con mentradas tabla finger.

§ En el nodo nfinger[i] = succesor (n + 2i-1)

§ Para m = 3, cada nodo almacena una tabla con 3 entradas

•Diseño de Sistemas Distribuidos • Félix García Carballeira •140

01

2

34

5

6

7

Page 141: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Búsqueda de claves

§ Para el nodo n = 1 se almacenan:q sucesor(1 + 20) = sucesor(2)q sucesor(1 + 21) = sucesor(3)q sucesor(1 + 22)= sucesor(5)

q sucesor(2) = 3q sucesor(3) = 3q sucesor(5) = 0

§ Cada nodo almacena información de un pequeño número de nodos

•Diseño de Sistemas Distribuidos • Félix García Carballeira •141

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 0

Page 142: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Búsqueda de claves

•Diseño de Sistemas Distribuidos • Félix García Carballeira •142

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 0

s suc(s)

4 0

5 0

7 0

s suc(s)

1 1

2 3

4 0

En cada nodo n, la primera entrada es el sucesor de n en el anillo

Page 143: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Búsqueda de claves

•Diseño de Sistemas Distribuidos • Félix García Carballeira •143

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 0

s suc(s)

4 0

5 0

7 0

s suc(s)

1 1

2 3

4 0

Lookup(4)

6 1

2

Cuando se recibe una petición para un elemento K en un nodo:§ Comprueba si la

almacena localmente§ Si no, la encamina al nodo de

su tabla con identificador más grande que no exceda de K

4

Page 144: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Búsqueda de claves

•Diseño de Sistemas Distribuidos • Félix García Carballeira •144

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 0

s suc(s)

4 0

5 0

7 0

s suc(s)

1 1

2 3

4 0

Lookup(4)

6 1

2

Cuando se recibe una petición para un elemento K en un nodo:§ Comprueba si la

almacena localmente§ Si no, la encamina al nodo de

su tabla con identificador más grande que no exceda de K

4

Page 145: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Búsqueda de claves

•Diseño de Sistemas Distribuidos • Félix García Carballeira •145

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 0

s suc(s)

4 0

5 0

7 0

s suc(s)

1 1

2 3

4 0

Lookup(4)

6 1

2

4

Page 146: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Búsqueda de claves

•Diseño de Sistemas Distribuidos • Félix García Carballeira •146

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 0

s suc(s)

4 0

5 0

7 0

s suc(s)

1 1

2 3

4 0

Lookup(4)

6 1

2

Nº de mensajes O(log N)

4

Page 147: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Operación join

§ Cuando un nodo n entra en el sistemaq La tabla finger de cada nodo debe estar correctamente llenaq Cada clave se almacena en el nodo sucesor(k)

§ Cuando un nodo entra en la red pide los sucesores de su tabla finger a un nodo de la red

•Diseño de Sistemas Distribuidos • Félix García Carballeira •147

Page 148: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Operación join del nodo 6

•Diseño de Sistemas Distribuidos • Félix García Carballeira •148

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 0

s suc(s)

4 0

5 0

7 0

s suc(s)

1 1

2 3

4 0

6 1

2

s suc(s)

7 0

0 0

2 3

Page 149: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Operación join del nodo 6

•Diseño de Sistemas Distribuidos • Félix García Carballeira •149

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 0

s suc(s)

4 0

5 0

7 0

s suc(s)

1 1

2 3

4 0

6 1

2

s suc(s)

7 0

0 0

2 3

Page 150: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Se actualizan las tablas finger

•Diseño de Sistemas Distribuidos • Félix García Carballeira •150

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 6

s suc(s)

4 0

5 6

7 0

s suc(s)

1 1

2 3

4 6

6 1

2

s suc(s)

7 0

0 0

2 3

Page 151: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Se reasignan claves

•Diseño de Sistemas Distribuidos • Félix García Carballeira •151

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 6

s suc(s)

4 0

5 6

7 0

s suc(s)

1 1

2 3

4 6

6

1

2

s suc(s)

7 0

0 0

2 3

Page 152: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Nueva búsqueda

•Diseño de Sistemas Distribuidos • Félix García Carballeira •152

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 6

s suc(s)

4 6

5 6

7 0

s suc(s)

1 1

2 3

4 6

6

1

2

s suc(s)

7 0

0 0

2 3

lookup(6)

Page 153: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Nueva búsqueda

•Diseño de Sistemas Distribuidos • Félix García Carballeira •153

01

2

34

5

6

7

s suc(s)

2 3

3 3

5 6

s suc(s)

4 6

5 6

7 0

s suc(s)

1 1

2 3

4 6

6

1

2

s suc(s)

7 0

0 0

2 3

lookup(6)

Page 154: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Ejemplos

§ Grid computing§ Sistemas peer to peer§ Computación voluntaria§ Cloud computing

•Diseño de Sistemas Distribuidos • Félix García Carballeira •154

Page 155: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

•Diseño de Sistemas Distribuidos • Félix García Carballeira •155

InternetProyectos

voluntarios

Computación voluntaria

Page 156: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Computación voluntaria

§ La computación voluntaria es un tipo de computacióndistribuida que se basa en el empleo de ordenadores(voluntarios) conectados a Internet.

§ En general, estos ordenadores suelen ser ordenadoresdomésticos de uso privado, que se utilizan para la ejecución de diversos proyectos científicos.

•Diseño de Sistemas Distribuidos • Félix García Carballeira •156

Page 157: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Potencial de la computación voluntaria

§ El potencial de este tipo de entornos es enorme dada la gran cantidadde ordenadores disponibles en el mundo:q Se estima [Anderson2006] que en el 2010 habrá cerca de

1.000 millones de ordenadores en el mundo conectados a Internet, de los cuales el 50% será de uso personal.

q La participación de solo 100 millones daría lugar a una potenciade cómputo equivalente a 100 petaflops (100x1015 FLOPS) y una capacidad de almacenamiento de 1 Exabyte (260 bytes).

q SETI@home: 500.000 CPUs, 65 TeraFLOPs

•Diseño de Sistemas Distribuidos • Félix García Carballeira •157

Page 158: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Actualmente (BOINC)

§ 13.000.000 computadores suscritos§ 1.00.000 computadores activos

§ 70% de disponibilidad§ 50% con GPU utilizables§ Con 50 GB de espacio en disco por cliente

q 35 PB

q 190 PetaFLOPS§ equivalente a los 9 primeros supercomputadores de la lista del

top500§ (www.top500.org)

http://boincstats.com/en/stats/-1/project/detail/overview•Diseño de Sistemas Distribuidos • Félix García Carballeira •158

Page 159: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Funcionamiento

•Diseño de Sistemas Distribuidos • Félix García Carballeira •159

•1.- obtener aplicación

•2.- Transferir los datos a • procesar

•3.- Ejecutar la aplicación

•4.- Transferir los datos de salida

•5.- informar de los resultados

•Servidores de proyectos

•PC Voluntario

Page 160: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Computación redundante

•Félix García Carballeira •Sistemas Distribuidos •160

•compare results

Page 161: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

•Diseño de Sistemas Distribuidos • Félix García Carballeira •161

Middlewares para computación voluntaria

§ The Berkeley Open Infrastructure for Network Computing (BOINC)

§ Bayanihan: general-purpose web-based volunteer computing systems using Java

§ Xtremweb: the Open Source Platform for Desktop Grids§ Xgrid: Simple solution for distributed computing

Page 162: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

BOINC

§ BOINC (Berkeley Open Infrastructure for Network Computing)Desarrollado en la Universidad de California, es una plataforma de software libre, código abierto y disponible bajo la licencia GNU

•Diseño de Sistemas Distribuidos • Félix García Carballeira •162

§ Es el entorno quizás más popular, basado en Apache+PHP

§ Cuenta con la experiencia del proyecto SETI@home, creado en 1999 para la búsqueda de vida extraterrestre

§ Actualmente existen más de 50 proyectos de diferentes disciplinas científicas que lo

usan

Page 163: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

BOINC

§ BOINC (Berkeley Open Infrastructure for Network Computing)Desarrollado en la Universidad de California, es una plataforma de software libre, código abierto y disponible bajo la licencia GNU

•Diseño de Sistemas Distribuidos • Félix García Carballeira •163

•http://es.boincstats.com/stats/project_graph.php

Page 164: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

•Diseño de Sistemas Distribuidos • Félix García Carballeira •164

Arquitectura de BOINC

§ Proyecto BOINCq Identificado por una URLq Incluye múltiples aplicacionesq BBDD con información sobre

aplicaciones/participantes/trabajos/resultadosq Servidor de tareas

§ Envía trabajos a los clientes y recibe los resultadosq Servidor de datos

§ Descarga los datos sobre los clientes

Page 165: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

•Diseño de Sistemas Distribuidos • Félix García Carballeira •165

Servidor BOINC

Interfaces web

Servidor de tareas

Servidor de datos

Cliente BOINC

BBDD BOINC

BBDD de aplicaciones

ficheros

voluntarios

Page 166: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

•Diseño de Sistemas Distribuidos • Félix García Carballeira •166

Ejemplos de proyectos basados en BOINC

§ Einstein@homeq LIGO; gravitational wave astronomy

§ Rosetta@homeq U. Washington; protein study

§ SETI@homeq U.C. Berkeley; SETI

§ LHC@homeq CERN; accelerator simulation

§ Africa@homeq STI, U. of Geneva; malaria epidemiology

§ IBM World Community Grid

Page 167: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Acceso remoto a datos

§ Modelo tradicional de BOINCq Transferencia de los datos a procesar

•Diseño de Sistemas Distribuidos • Félix García Carballeira •167

Page 168: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Acceso remoto a datos

§ Modelo tradicional de BOINCq Transferencia de los datos a procesarq Procesar los datos y obtener resultados

•Diseño de Sistemas Distribuidos • Félix García Carballeira •168

Page 169: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Acceso remoto a datos

§ Modelo tradicional de BOINCq Transferencia de los datos a procesarq Procesar los datos y obtener resultadosq Transferir los datos al servidor

•Diseño de Sistemas Distribuidos • Félix García Carballeira •169

Page 170: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Acceso remoto a datos

§ Problemas:q Seguridad de los datos

•Diseño de Sistemas Distribuidos • Félix García Carballeira •170

Page 171: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Acceso remoto a datos

§ Objetivo: acceso remoto a los datos utilizando EXPAND

•Diseño de Sistemas Distribuidos • Félix García Carballeira •171

Page 172: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Uso de Expand en BOINC

§ El programa a ejecutar en los voluntarios dispone de una biblioteca de Expand

§ El acceso remoto se hace utilizando protocolo HTTP

•Diseño de Sistemas Distribuidos • Félix García Carballeira •172

Page 173: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Evaluación

§ 40 volunteer nodes spread across 5 computer labs throughout the campus.

§ 10000 WUs of 4.5 MB input file, each performing an image filter.

§ Expand partitions using 1, 2, and 4 data servers.§ Count success results after one hour.

•Diseño de Sistemas Distribuidos • Félix García Carballeira •173

Page 174: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Resultados

•Diseño de Sistemas Distribuidos • Félix García Carballeira •174

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10 20 30 40 50 60

Nº d

e tr

abaj

os p

or h

ora

Número de cliente

BOINC

BOINC-XPN-1 (same)

BOINC-XPN-1

BOINC-XPN-2

BOINC-XPN-4

Page 175: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Ejemplos

§ Grid computing§ Sistemas peer to peer§ Computación voluntaria§ Cloud computing

•Diseño de Sistemas Distribuidos • Félix García Carballeira •175

Page 176: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Cloud Computing

§ Vieja idea: software como servicio§ Objetivo: ofrecer computación a través de servicios ofrecidos

desde Internet§ Actualmente: HW, infraestructura, plataforma, aplicaciones y

datos como servicio

“In this architecture, the data is mostly resident on servers‘somewhere on the Internet’ and the application runs onboth the ‘cloud servers’ and the user’s browser.”

Eric Schmidt in ‘Information Factories’ by G. Gilder

•Diseño de Sistemas Distribuidos • Félix García Carballeira •176

Page 177: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Fundamentos de cloud computing

§ El procesamiento de información se realiza de forma más eficiente en grandes centros de procesamiento y de almacenamiento accesibles a través de Internetq Grid computingq Utility computing

§ Supone una centralización pero utilizando tecnologías de sistemas distribuidos

•Diseño de Sistemas Distribuidos • Félix García Carballeira •177

servidores

almacenamiento

servicio

Page 178: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Evolución de tecnologías

§ Tecnologías que han dado lugar al éxito del cloud computing:q Las mejoras en procesadores y redesq Las tecnologías webq Grid compuingq Peer-to-peer systems

•Diseño de Sistemas Distribuidos • Félix García Carballeira •178

Page 179: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Conceptos básicos

§ Utiliza tecnologías de Internet para ofrecer servicios escalables y elásticosq Elasticidad: capacidad de asignar los recursos de forma

dinámica en función de la carga de trabajo (variable)§ El uso de los recursos puede ser medido y los usuarios pagan

por el uso que hacen de estos recursos§ Los proveedores de servicio se encargan del mantenimiento y

de la seguridad§ Los proveedores pueden trabajar más eficientemente debido a

la especialización y a la centralización§ Menores costes para los usuarios (leer)§ Acceso a datos con independencia de la localización•Diseño de Sistemas Distribuidos • Félix García Carballeira •179

Page 180: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Tipos de clouds

§ Clouds públicos: ofrecidos por proveedores de servicios§ Clouds privados: infraestructura gestionada por una

organización§ Cloud comunitario: infraestructura compartida por varias

organizaciones§ Cloud hibrido: composición de uno o más clouds

•Diseño de Sistemas Distribuidos • Félix García Carballeira •180

Page 181: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Ventajas de los clouds

§ Compartición de recursos (CPU, almacenamiento, ancho de banda de red,..)

§ Mejor utilización de los recursos debido a su multiplexaciónq Las demandas pico de diferentes usuarios no tienen porqué

coincidir en el tiempo§ Se pueden agregar recursos§ Facilita la compartición de datos§ Reduce los costes (inversión inicial, mantenimiento, costes de

operación, consumo energético)§ Elasticidad§ La virtualización permite que los usuarios usen los recursos a

su gusto•Diseño de Sistemas Distribuidos • Félix García Carballeira •181

Page 182: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Aspectos de diseño a considerar

§ Disponibilidad del servicio§ Diversidad de servicios

q Necesidad de estandarizar los servicios cloud§ Dependencias de los proveedores§ Confidencialidad de los datos§ Cuellos de botella en las transferencias de datos§ Prestaciones impredecibles§ Calidad de servicio§ Seguridad

•Diseño de Sistemas Distribuidos • Félix García Carballeira •182

Page 183: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Modelos de servicio

§ Software as a Service (SaaS)

§ Platform as a Service (PaaS)

§ Infrastructure as a Service (IaaS)

•Diseño de Sistemas Distribuidos • Félix García Carballeira •183

Page 184: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Tipos de cloud

•Diseño de Sistemas Distribuidos • Félix García Carballeira •184

Page 185: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Principales problemas

§ Problemas éticos:q Control por tercerosq Datos almacenados por otras organizacionesq Accesos no autorizadosq Disponibilidad del servicio

§ Problemas de seguridad y privacidad§ Problemas de vulnerabilidad (ataques)§ Excesiva dependencia del proveedor de servicios

•Diseño de Sistemas Distribuidos • Félix García Carballeira •185

Page 186: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Virtualización de recursos

§ Técnica básica utilizada en cloud computing para simplificar la gestión de los recursos físicos

§ Se puede almacenar el estado de una máquina virtual y se puede migrar el servicio para equilibrar la carga

§ La virtualización permite a los usuarios operar en entornos familiares

§ La virtualización permite la separación de servicios y mejorar la seguridad

•Diseño de Sistemas Distribuidos • Félix García Carballeira •186

Page 187: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Virtualización

§ Simula la interfaz de un objeto físico mediante:q Multiplexación: múltiples objetos virtuales sobre un mismo

objeto físico (procesos en un procesador)q Agregación: crea un objeto virtual a partir de múltiples

objetos físicos (discos RAID)q Emulación: construye un objeto virtual utilizando un objeto

físico distinto (disco RAM)q Multiplexación y emulación: por ejemplo la memoria virtual

(emula un espacio de direcciones virtuales y multiplexa la memoria física y el disco)

•Diseño de Sistemas Distribuidos • Félix García Carballeira •187

Page 188: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Máquinas virtuales

§ Una máquina virtual (VM) es un entorno que emula el funcionamiento de un computador completo sobre un computador físico distinto

§ Ofrecen seguridad en un entorno aislado§ Virtualización completa: El SO puede ejecutar sobre la VM

como si estuviera ejecutando directamente sobre la plataforma HW (arquitectura virtualizable), (Vmware)

§ Paravirtualización: el SO se modifica para poder ejecutar sobre la MV (Xen)

•Diseño de Sistemas Distribuidos • Félix García Carballeira •188

Page 189: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Máquinas virtuales

•Diseño de Sistemas Distribuidos • Félix García Carballeira •189

Sistema tradicional virtualización

Page 190: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Amazon Web Services (AWS)

§ Ofrece un modelo de IaaS§ Infraestructura formada por servidores de cómputo y

almacenamiento interconectados por redes de alta velocidad§ Los desarrolladores de aplicaciones:

q Instalan sus aplicaciones sobre una plataformaq Gestionan los recursos asignados por Amazon

•Diseño de Sistemas Distribuidos • Félix García Carballeira •190

Page 191: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Regiones y zonas de disponibilidad

§ Amazon ofrece servicios a través de data centers situados en varios contenientes

§ En cada región hay varias zonas de disponibilidad interconectadas

§ Una zonza de disponibilidad es un data center§ Las regiones no comparten recursos

•Diseño de Sistemas Distribuidos • Félix García Carballeira •191

Page 192: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Servicios ofrecidos por AWS

§ AWS Management Console: permite acceder a los serviciosofrecidos por AWS

§ Elastic Cloud Computing (EC2) – permite lanzar instancias de MV con diferentes SSOO

§ Simple Storage Service (S3), Simple DB, and Elastic Block Storage (EBS): servicios de almacenamiento.

§ Simple Queuing Service (SQS): permite comunicar diferentesinstancias de EC2

§ Cloud Watch: servicios de monitorización.§ Auto Scaling: soporta elasticidad en la gestión de recursos.

•Diseño de Sistemas Distribuidos • Félix García Carballeira •192

Page 193: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

EC2 - Elastic Cloud Computing

§ EC2: servicio web que permite lanzar instancias de MV con diferentes SSOO:

§ Linux.§ Microsoft Windows Server 2003 and 2008. § OpenSolaris. § FreeBSD. § NetBSD.

§ Los usuarios pueden:q Lanzar imagenes ofrecidas por Amazonq Preparar sus propias imagenes

•Diseño de Sistemas Distribuidos • Félix García Carballeira •193

Page 194: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Tipos de instancias

§ Instancias estándar: micro (StdM), small (StdS), large (StdL), extra large (StdXL);

§ Instancias con gran memoria: high-memory extra large (HmXL), high-memory double extra large (Hm2XL), y high-memory quadruple extra large (Hm4XL).

§ Instancias con gran capacidad de cómputo: high-CPU extra large (HcpuXL).

§ Cluster computing: cluster computing quadruple extra large (Cl4XL).

•Diseño de Sistemas Distribuidos • Félix García Carballeira •194

Page 195: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Coste de una instancia

•Diseño de Sistemas Distribuidos • Félix García Carballeira •195

http://aws.amazon.com/es/ec2/#pricing

Page 196: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

S3 – Simple Storage System

§ Servicio de almacenamiento basado en objetos. Una aplicación puede manejar un número ilimitado de objetos entre 1 byte y 5 TB

§ Cada objeto se almacena en un bucket§ Ofrece un mínimo conjunto de funciones: write, read, delete.§ Protocolos de acceso

q SOAPq Bit Torrent

•Diseño de Sistemas Distribuidos • Félix García Carballeira •196

Page 197: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Precios de almacenamiento

•Diseño de Sistemas Distribuidos • Félix García Carballeira •197

http://aws.amazon.com/es/s3/#pricing

Page 198: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Elastic Block Store (EBS)

§ Ofrece volúmenes de bloques persistentes para la instancias EC2 (BBDD, sistemas de ficheros, …)

§ Un volumen aparece como un disco físico sin formatear entre 1 GV y 1 TB

§ Cada instancia EC2 puede montar múltiples volúmenes§ Un volumen no se puede compartir entre diferentes instancias§ Los volúmenes se replican dentro de la zona

•Diseño de Sistemas Distribuidos • Félix García Carballeira •198

Page 199: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Plataformas open-source para crear clouds privados§ Eucalyptus: Emula el funcionarmiento de EC2 más S3

§ Open-Nebula : permite construir clouds privados. Utiliza un sistema centralizado y NFS

§ Nimbus: solución cloud para aplicaciones cientificas basadasen Globus software

•Diseño de Sistemas Distribuidos • Félix García Carballeira •199

Page 200: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Aplicaciones cloud

§ Aplicaciones ideales para cloud computing:q Basadas en web servicesq Servicios de bases de datosq Procesamiento de imágenesq Procesamiento de documentosq Servicios basados en transacciones

•Diseño de Sistemas Distribuidos • Félix García Carballeira •200

Page 201: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

El paradigma MapReduce

§ Para aplicaciones intensivas en datos§ Modelo ofrecido por Hadoop§ Los datos se dividen en bloques y se procesan en paralelo§ Cuando los bloques se han procesado se mezclan los

resultados

•Diseño de Sistemas Distribuidos • Félix García Carballeira •201

Page 202: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Arquitectura de MapReduce

•Diseño de Sistemas Distribuidos • Félix García Carballeira •202

Page 203: Máster en Ciencia y Tecnología Informática Curso 2017 … · PC/work. SMP/MPP Vector Mainframe ... § Arquitectura distribuida formada por un conjunto de computadores independientes

Políticas de gestión de recursos cloud

§ Control de admisión§ Asignación de capacidad§ Equilibrio de carga§ Optimización energética§ Garantías de calidad de servicio (QoS)

•Diseño de Sistemas Distribuidos • Félix García Carballeira •203