conceptos, tecnologías e investigación en procesamiento paralelo mauricio marín (universidad de...

Post on 23-Jan-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Conceptos, Tecnologías e Investigación en Procesamiento Paralelo

Mauricio Marín (Universidad de Magallanes, Chile)

Centro de Investigaciones de la Web

(www.ciw.cl)

Modelo de computación

Aplicación del modeloa problemas de la Weby recuperación de laInformación.

Problemas deinvestigación.

Modelo de Computación

Hardware

Software

Paralelismo= Un objetivo con la ayuda de varios procesadores actuando de manera sincronizada y comunicante.

Desde aplicaciones en computación científica surgió por primera vez la necesidad de utilizar paralelismo.

Actualmente existe una demanda creciente por paralelismo desde aplicaciones tales como simulación de clima global o servidores para La Web, que requieren procesar grandes cantidades de datos.

Sin embargo, Computación paralela NO es una técnica ampliamente utilizada.

Son más de 30 años de proposiciones de modelos y lenguajes para computación paralela.

Ninguno de ellos ha sido ampliamente adoptado.

Alto nivel de abstracción Mala eficienciaBajo nivel de abstracción Buena eficiencia

En contraste, computación secuencial ha sido muy exitosa, y sus aplicaciones han llegado a todo tipo de usuarios.

Propiedades de un buen modelo de computación,

* Fácil de comprender.

* Metodología de ingeniería de software.

* Independiente de la arquitectura del computador.

* Predicción de desempeño.

* Desempeño eficiente y escalable.

* Fácil de programar.

30 años después....

Computación Paralela Portable y Escalable

SUPER-OBJETIVO

Un modelo de computación en el centro del amplio espectro de modelos y lenguajes para computación paralela:

The Bulk-Synchronous Parallel (BSP) Model

Prof. L. Valiant, Harvard University Prof. W.F. McColl, Oxford University http://www.bsp-worldwide.org

W.F. McColl

Actualmente hay una convergencia en las arquitecturas paralelas

Memoria Distribuida Arquitectura Escalable

SuperSteps

Paradigm of parallel computation (PVM MPI BSPpub BSPlib).

Barrier

Barrier

Barrier

msgmsgmsg

Comp.

Processors

w

max

h=2 G

L

w + h*G + L

Costo de cada Superstep

Cualquier computador paralelo puede ser visto como una máquinaBSP que tiene valores específicos para los parámetros G y L.

Los valores de G y L pueden ser determinados empíricamente paradistintas máquinas, y esta información puede ser utilizada parapredecir el desempeño de programas BSP sobre diversas plataformas.

Sincroniza

“Broadcast” en un sistema de P procesadores

1 + P*G + L

Algoritmos Fundamentales

Para un sistema con gran número de procesadores se puedeutilizar una solución más eficiente:

(1 + 2*G + L )* log(P)

Sincroniza

Sincroniza

Sincroniza

source

destination

Superstep 1

Superstep 2

Processors

Example: Two-stage Broadcast

m + m G + 2 L

m

m / p

m p + m p G + L

BSP como metodología de desarrollo de software

No existen deadlocks.

La depuración de programases sencilla.

La verificación no es más difícil que en el caso de programas secuenciales.

Es posible predecir eldesempeño de programas.

El modelo de costo de BSP puede ser utilizado para:

* Guiar el proceso de diseño e implementación de programas.

* Predecir el desempeño del programa al ser portado a otras máquinas.

* Seleccionar automáticamente los algoritmos que mejor se ajustan a una máquina en particular.

* Guiar el proceso de compra de computadores se conocen las características de los programas BSP que correrán en ellos.

La estructura del modelo BSP permite el uso de herramientasgráficas de perfil de ejecución de supersteps.

Internet

Switch

Server PC clusterBSP machine

Clients

SStep 1

P1 P2 P3 P4

SStep 2

Query

BSP Cluster

Result

SStep 1

SStep 2

BROKER

BSP Cluster

Queries

Results

Bases de Datos Relacionales

Servidor Web

Servidor B.D.Servidor B.D. Servidor B.D.

ClienteHTML

La base de datos esta distribuida en varios computadores

Front-end

Solución basada en software de dominio público

0

1000

2000

3000

4000

5000

6000

PRODUCTOS

Segundos

PAR

SEQ

350 versus 5600 Seg => 16 veces más rápido con 4 máquinas

Consultas a un servidor de Libros“Cantidad vendida por cada tema”

Tiempo de Procesamiento TP, Tiempo de Sincronización TS, Tiempo de Acceso a la Base de Datos TB, Tiempo de Comunicación TC.

Tiempo de Procesamiento TP, Tiempo de Sincronización TS, Tiempo de Acceso a la Base de Datos TB, Tiempo de Comunicación TC.

El número de páginas Web es del orden de 1000 millones (año 2000).

La Web

Buscadores de la Web

Interface

Máquina deBúsqueda

Recolector

Indexador

Usuarios

Base de Documentos

Web

Robots

WEBPlanificador

Lista URLs

Proceso de “Crawling”

W

B and T and X and Z

B

T

X

Z

W

W

W

Vocabulary Inverted Lists

Query =

MAQUINA DE BUSQUEDA: Inverted Files

Document identifiers

BROKER

Servidor Paralelo

Consultas

Proceso de consultasRanking de resultadosBalance de Carga

Menor carga posible

Usuarios

Processsor 1

Processor 2

Global Index approach

N

Local Index approach

Procesador 1 Procesador 2

N/P N/P

Processsor 1

Processor 2

Composite Inverted Lists

X

X

A

B

C

D

a a a ab b b c

c d d de f g h

a a a a b b b

c c d d d e f g h

Bucket Inverted Lists

Processor 1 Processor 2 Processor 3 Processor 4

List 1 List 2

• Balance de Carga

• ¿Cómo distribuir los “buckets” en los procesadores?

• ¿Distribución basada en “log” de consultas?

• ¿Distribución aleatoria y cambio dinámico?

• Scheduling

• ¿En qué procesador realizar el ranking de documentos?

• ¿Cuantos documentos enviar al procesador de ranking?

Processsor 1

Processor 2

Servicio de Noticias

A B C D

A

B

C

D

Escritura A and B and C and DLectura

W(A,1) W(B,1) W(C,1) W(D,1)

Timestamp

R(A,2) R(B,2) R(C,2) R(D,2)

R(A,0) R(D,0)

Control de Concurrencia

W(A,1) R(A,2)R(B,2) W(B,1)

Procesador 1 Procesador 2

R(C,2) R(D,2) W(D,1) W(C,1)

Sort by Timestamp Sort by Timestamp

W(A,1) W(B,1)

R(A,2) R(A,2)

W(D,1)W(C,1)

R(C,2) R(D,2)

R(A,0) R(D,0)

R(A,0) R(D,0)

Sequential Suffix Arrays

text

text

Binary-searching “text”

Problem: Pointers to every-where in the text

“Pruned Suffixes”

is

exa

dat

an

a of

tex

tex

thi

BSP Cluster

Distributed Query Processing

The text database is evenly distributed upon the processors.

Processor 1 Processor 2

The local index approach

SStep 1

SStep 2

BROKER

BSP Cluster

Queries

ResultsSStep 3

Processor 1 Processor 2

The global index approach

is

exa

dat

an

a of

tex

tex

thi

SStep 1

SStep 2

BROKER

BSP Cluster

Queries

Results

Dealing with load-imbalance (Multiplexion)

28 38 11 6 1 14 17 25 30

Processor 1 Processor 2

is

exa

dat

an

a of

tex

tex

thi

Binary search accross processors

Processor i

Processor i + p / 2

Processor i + p / 4

A minor but practical improvement to the Global Index Strategy

Proc 1 Proc 2 Proc 3 Proc 4

Proc 1 Proc 2 Proc 3 Proc 4

Global

Virtual Global

Seq

Local

DB Size

RunningTime

Processing q queries on p processors upon a text of n chars

Virtual Global

Global Multiplexed

Server 1

Server 2

Server 3

Scheduling Problem (uniform routing)

Distributed allocation of Parallel Servers

ServerBSP Machine

Número de procesadores requeridos

Tiempos de ejecución

0 1

F(P, G, L, Ns, Np)

Simulación por Eventos Discretos

El sistema se representa como un conjunto de variables de estado.

Los eventos cambian las variables de estado en puntos discretos del tiempo de simulación.

Simulación en Paralelo

Las variables relacionadas se agrupan dentro de procesos lógicos que se comunican entre sí mediante mensajes.

Tiempo

e1 e2 e3 e4 e5 e6

Tiempo

e1 e3 e5 e6

Tiempo

e2 e4

LP1

LP2

MensajesNuevos

+

+

+

+

-

+

Lista deEventos

A B C D E F

Tiempo

Procesador Superstep i

+

- - - - -

Mensaje(Evento)

SendEventos procesados

Proceso Lógico

MensajesNuevos

+

+

+

+

-

+

Lista deEventos

A B C D E F

Procesador Superstep i+1

- - - - -

G

Rollback

Send

Procesador 1 Procesador P

K K

En cada procesador se procesan hasta K eventos.

Cada procesador puede tener un K distinto.

K se mantiene fijo, independiente de los eventos re-simulados.

S

S + AL

R

L

R

S

S + A

S + 1

S + A + 1

Contador

Mensajeenviado

AA <= S

Mensajenuevo

A

A > S

Cada proceso lógico mantiene un contador de supersteps.

En cada mensaje se transmite el valor de un contador de supersteps.

Carga baja y alta Número de procesadores= 4, 16, 64 y 256

Conclusiones

• Se ha mostrado cómo utilizar un modelo que incorpora conceptos modernos de computación paralela en el diseño de algunas aplicaciones de gran popularidad e importancia en la Web.

• El modelo BSP es mucho más que una biblioteca de comunicaciones tal como PVM o MPI, es un estilo o método estructurado de diseño de software paralelo.

PREGUNTAS ?

top related