conceptos, tecnologías e investigación en procesamiento paralelo mauricio marín (universidad de...
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 ?