• No se han encontrado resultados

Procesamiento Paralelo

N/A
N/A
Protected

Academic year: 2021

Share "Procesamiento Paralelo"

Copied!
47
0
0

Texto completo

(1)

Procesamiento Paralelo

Principios de dise ˜no de algoritmos paralelos

Javier Iparraguirre

Universidad Tecnol ´ogica Nacional, Facultad Regional Bah´ıa Blanca 11 de Abril 461, Bah´ıa Blanca, Argentina

jiparraguirre@frbb.utn.edu.ar http://www.frbb.utn.edu.ar/hpc/

(2)
(3)

Lo que Viene [1]

• Conceptos Iniciales

• T ´ecnicas de decomposici ´on

• Tareas e Interacciones

• Mapeo y Balance de Carga

• M ´etodos para Contener las Perdidas por Interacciones

(4)
(5)
(6)

Puntos a Tener en Cuenta

y [i] = n X j=1 A[i, j] ∗ b[j] | y = A ∗ b

• Tareas: n tareas de multiplicar una fila de la matriz por el vector

• Grafo de dependencia: no hay dependencia de tareas

(7)
(8)

Granularidad

• Tenemos procesos (o tareas) y procesadores (no es lo mismo!)

• La granularidad es el tama ˜no de la tarea asignada a cada procesador

• Podemos de hablar de granularidad fina o gruesa

• Hay relaci ´on entre el grado de concurrencia y la granularidad

• Extrema granularidad trae problemas de perdidas en las comunicaciones!!

(9)

Camino cr´ıtico

• Ungrafo de dependencias es importante para la asignaci ´on de tareas

• Elcamino critico es fundamental

• El tiempo de procesamiento esta muy relacionado allargo del camino cr´ıtico

• ¿Cuales son los pasos para hacer un asado? ¿Hay paralelismo?

(10)

Camino cr´ıtico

• Ungrafo de dependencias es importante para la asignaci ´on de tareas

• Elcamino critico es fundamental

• El tiempo de procesamiento esta muy relacionado allargo del camino cr´ıtico

• ¿Cuales son los pasos para hacer un asado? ¿Hay paralelismo?

(11)
(12)

Multiplicaci ´on Matrix-vector Suelta (sparse)

y [i] = n X 0<j<n,A[i,j]6=0 A[i, j] ∗ b[j]

• No podemos hacer una multiplicaci ´on si A[i,j] es 0

• Dependiendo del conjunto de datos, hay ungrafo de dependencias

• No es conveniente asignar tareas a procesadores de forma aleatoria

• Hay dos temas que entran en juego: scheduling and mapping (lo vemos m ´as adelante)

(13)
(14)
(15)

T ´ecnicas de Decomposici ´on

• Recursiva

• Datos

• Exploratoria

(16)
(17)

Decomposici ´on Recursiva (2 de 2)

• Estrategia divide y conquistar ´as (divide and conquer)

(18)
(19)
(20)

Decomposici ´on por Datos (3 de 3)

• Hay dos pasos en la decomposici ´on • Se particionan los datos

(21)
(22)
(23)

Decomposici ´on Exploratoria (3 de 3)

• Hay dos pasos en la decomposici ´on

• Funciona muy bien para problemas que involucran b ´usquedas

• Se particiona el espacio de b ´usqueda en espacios menores y se busca en paralelo

(24)
(25)

Decomposici ´on Especulativa (2 de 2)

• Cuando un programa puede tomar varios caminos posibles en funci ´on de los c ´omputos

• Similar a evaluar un switch en C

• No es eficiente paralizar todos los casos, solo los m ´as frecuentes

• Tiene mucho valor cuando se agregan varias etapas de especulaci ´on

(26)
(27)

Mapeo y Balance de Carga

• El mapeo se hace para balancear la carga

• Tambien se tiene en cuenta la interacci ´on entre tareas

• Hay dos formas de mapeo:est ´atico y din ´amico

• Mapeo est ´atico • Datos

• Tareas

• Mapeo din ´amico • Centralizado

(28)
(29)
(30)
(31)
(32)
(33)

Mapeo Din ´amico

• Cuando la carga de trabajo var´ıa con los c ´omputos

• Cuando hay gran desbalance o el grafo de dependencia es din ´amico

• Centralizado

• Arquitectura maestro-esclavo

• F ´acil de mantener

• Pude tener problemas de escalabilidad

• Distribuido

• Un conjunto de tareas es distribuida entre procesos

• Cada proceso puede recibir o enviar tareas a un par

(34)

M ´etodos para Contener las P ´erdidas

(overheads) por Interacciones

(35)

M ´etodos para Contener las P ´erdidas (overheads) por

Interacciones

• Maximizar la local´ıa de los datos

• Minimizar contenci ´on y puntos calientes (hot-spots)

• Solapar computaci ´on con interacciones

• Replicar los datos o los c ´omputos

• Usar operaciones de interacci ´on colectivas optimizadas

(36)
(37)

Modelos de Algoritmos Paralelos

• Paralelismo de datos

• Grafo de tareas

• Conjuto de trabajadores (work pool)

• Maestro-esclavo (master-slave)

(38)

Paralelismo de Datos

• Las tareas son mapeadas de manera cuasi-est ´atica

• Las operaciones paralelas son muy similares

(39)

Grafo de Tareas

• Generalmente se usa cuando tenemos grandes vol ´umenes de datos

(40)

Conjunto de Trabajadores (work pool)

• Mapeo din ´amico de tareas a procesos

• Muy ´util para el balance de carga

(41)

Maestro-esclavo (master-slave)

• Un maestro genera trabajo y los esclavos ejecutan

(42)

Productor-consumidor (pipeline producer-consumer)

• Una secuencia de datos pasa a trav ´es de una serie de procesos

• Cada proceso realiza una tarea particular

• Todos los procesos act ´uan a la vez formando una ca ˜ner´ıa (pipeline)

(43)
(44)

Nota Personal

• Vimos herramientas de decomposici ´on, interacciones, mapeos, p ´erdidas y modelos de algoritmos

• Son solo herramientas cl ´asicas para orientarnos (ejes ortonormales en un espacio de las fases conceptual)

• Dependiendo el problema se encuentra la soluci ´on

• Sonfundamentales las herramientas de diagn ´ostico (profiling)

(45)
(46)

¡Muchas gracias!

¿Preguntas?

(47)

Referencias

[1] G. Ananth, G. Anshul, K. George, and K. Vipin. Introduction to parallel computing, 2003.

Referencias

Documento similar

Los regímenes de certificación de la UE abarcan tanto el cumplimiento de las normas mínimas de producción obligatorias como los requisitos suplementarios relacionados con la

A fin de investigar eficazmente las transacciones financieras delictivas, los servicios represivos y las autoridades judiciales recibirán equipamiento y formación para

La oferta existente en el Departamento de Santa Ana es variada, en esta zona pueden encontrarse diferentes hoteles, que pueden cubrir las necesidades básicas de un viajero que

Se dice que la Administración no está obligada a seguir sus pre- cedentes y puede, por tanto, conculcar legítimamente los principios de igualdad, seguridad jurídica y buena fe,

La coordinación del trabajo de los Tutores de Apoyo en Red, tanto si son integrantes de equipos docentes como Profesor Tutor, Profesor Colaborador Externo, Profesor Ayudante,

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en

[r]

El paso siguiente es escoger de esta columna el menor valor, y en una tabla paralela se le asigna la mayor cantidad posible de unidades, podemos observar como el menor costo es «2»