proPar Curso 13/14 4 2, 3, 2 2, 2 5 Computadores Paralelos

Slides:



Advertisements
Presentaciones similares
Obj. – To learn how to tell the time in Spanish
Advertisements

¿Qué hora es?.
Posición Relativa de dos rectas
MEDIDAS DE TENDENCIA CENTRAL
La hora ¿Qué hora es?.
TABLA PERIÓDICA __________________________ Propiedades periódicas
Múltiplos y divisores 4º y 5º.
Apuntes 2º Bachillerato C.T.
TEMA 2 MÚLTIPLOS Y DIVISORES
TEMA 4 Convertidores alterna-continua
Matemática-Prof. Romina Ramos
Cuestiones y problemas
Cuestiones y problemas
EXPERIMENTO DE VARIEDADES, DENSIDADES Y FERTILIZACIÓN EN BROCOLI
(PERCENTILES) MEDIDAS DE POSICION
MÍNIMO COMÚN MÚLTIPLO MÁXIMO COMÚN DIVISOR
Fuerzas 01/08/2011 Elaboró: Yovany Londoño.
SISTEMA DE NUMEROS NÚMEROS ENTEROS DIVISIBILIDAD NÚMEROS PRIMOS
MATEMÁTICAS I MEDIO PROGRAMA EMPRENDER PREUNIVERSITARIO ALUMNOS UC
¿Qué hora es? Telling time.
¿Qué hora es?.
Son las tres 3:00 3:00 Son las cuatro 4:00 4:00.
Generadores de Radiación Ionizante 1.4 Guía de Ondas
Apuntes 2º Bachillerato C.T.
Feria de la Innovación Elaboración de Planes de Actividades Bi- / Multilaterales 8:00-8:30 - procedimientos 8:30-10:00 - trabajo de grupos - Priorización.
¿Que hora es? ?.
¿Que hora es? ?.
Los elementos invertibles de Z6 son 1 y 5
Divisibilidad en los números naturales
Los números en espaňol.
1. Apoyo exterior sobre ala inferior de viga de acero
3º curso Ingeniería Técnica en Informática de Sistemas UNED
Grupo de Sequía del Servicio Meteorológico Nacional
HASTA CENTENAS DE MILLAR
PARA PARTICIPAR EN ESTE CERTAMEN, SE DEBEN DE CUMPLIR CON LOS SIGUIENTES REQUISITOS : 1.Costo Mínimo Del Vehículo £ 800, Modelo Anterior A.
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
UNIDAD III PROGRAMACIÓN MATEMÁTICA
Un obrero empuja una vagoneta de 500 kg por una vía horizontal sin rozamiento con una fuerza horizontal de 200 N a lo largo de 10 m. Calcula: a) El trabajo.
UNIVERSIDAD INTERAMERICANA DE PUERTO RICO RECINTO DE GUAYAMA PROF
TEMA 1 Sistemas de ecuaciones lineales
RENDIMIENTO TOTAL DE EQUIPOS
CASOS CLÍNICOS FASE III
MÚLTIPLOS Los múltiplos de un número son los que lo contienen un número exacto de veces. El 12 es múltiplo de 3 porque lo contiene 4 veces. 3 x 4= 12 El.
1 Monitor de Sequía 27 de febrero de 2013 Coordinación General del Servicio Meteorológico Nacional Subgerencia de Pronóstico a Mediano y Largo Plazo "
MÍNIMO COMÚN MULTIPLO (M.C.M)
CENTRO EDUCATIVO ANAHUAC, A.C. PRÁCTICA DE CONTABILIDAD # 5 PRÁCTICA DE CONTABILIDAD # 5 EMPRESA: EL SURTIDOR EMPRESA: EL SURTIDOR.
CENTRO EDUCATIVO ANAHUAC, A.C. PRÁCTICA DE CONTABILIDAD # 6 PRÁCTICA DE CONTABILIDAD # 6 EMPRESA: LA IMPERIAL EMPRESA: LA IMPERIAL.
CENTRO EDUCATIVO ANAHUAC, A.C. PRÁCTICA DE CONTABILIDAD # 5 EMPRESA : LA NAVAL.
PRÁCTICA # 5 PRÁCTICA # 5 LA NAVAL LA NAVAL RESPUESTAS: 1) –Bancos $ 17, Propaganda y publicidad $ 17, Propaganda y publicidad $ 17,
Datos de entrada: Proceso: Datos de salida: Inicio 1.
PRÁCTICA # 6 PRÁCTICA # 6 COMERCIAL MINERA COMERCIAL MINERA.
CENTRO EDUCATIVO ANAHUAC, A.C. PRÁCTICA DE CONTABILIDAD # 4 PRÁCTICA DE CONTABILIDAD # 4 EMPRESA : LA MORELIANA EMPRESA : LA MORELIANA.
Ecuaciones Cuadráticas
Comité Nacional de Información Bogotá, Mayo 30 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
ProParCurso 13/14 1Computadores Paralelos 2Programación basada en paso de mensajes 3Técnicas básicas de programación paralela Compulsiva, Divide y Vencerás,
CALENDARIO DE ACTUACIONES ELECCIONES DE CONSEJOS ESCOLARES – Constitución de la junta electoral: el 19 de octubre de – Plazo de admisión de candidaturas.
MINIMO COMÚN MÚLTIPLO DE DOS NÚMEROS a y b
JORNADA 1 DEL 24 DE MARZO AL 30 DE MARZO EQUIPO 01 VS EQUIPO 02 EQUIPO 03 VS EQUIPO 06 EQUIPO 05 VS EQUIPO 10 EQUIPO 07 DESCANSA EQUIPO 08 VS EQUIPO 13.
Jorge Nasazzi Oficial Nacional de Desarrollo UAR DEFENSA DEL LINE OUT Algo para tener en cuenta.
AEROPUERTO CERRO MORENO Fases de Construcción

Divisibilidad en los números naturales
Learning Zone Matemáticas 101
¿Qué hora es? Son las time y minutes
Del lenguaje ordinario al lenguaje algebraico
Ubicación de Isla de Pascua en Sudamérica Kms.
EJERCICIOS RESUELTOS 1. Geométricos 3. De análisis de parámetros
Ecuaciones En esta unidad se van a estudiar o recordar los siguientes puntos: Diferencias entre ecuaciones e identidades Resolución de ecuaciones de primer.
proPar Curso 18/ , 3, 2 2, 4 3 Computadores Paralelos
Transcripción de la presentación:

proPar Curso 13/14 4 2, 3, 2 2, 2 5 Computadores Paralelos Programación basada en paso de mensajes Técnicas básicas de programación paralela Compulsiva, Divide y Vencerás, Pipeline, Síncrona, Equilibrado de carga y Terminación Programación basada en memoria común Algoritmos y aplicaciones Ordenación, …

proPar Temario pipeline-2 Técnica de pipeline Plataforma para aplicaciones tipo pipeline Suma de números Ordenación de números Generación de números primos Resolución de sistemas de ecuaciones lineales

proPar Temario pipeline-3 1776 Adam Smith “La riqueza de las naciones” => Alfileres Fábrica ejemplo: 18 tareas 10 obreros 48.000 alfDía 4.800 AlfObrero ¿Artesano sólo y una a una? 20AlfDía un reto +Destreza -TiemposMuertos +Máquinas

proPar Temario pipeline-4 [8/10/1913..8/10/2013]: 100 años de coches en serie Fábrica Ford T: 3.000 piezas 84 tareas Se pasó de: 1 coche 12h 1 coche 1,5h www.elmundo.es/elmundomotor/2013/10/08/conductores/1381229685.html

proPar Técnica de pipeline pipeline-5 Idea intuitiva => Cadena de montaje de coches Descomposición funcional Secuencia de datos homogéneos de entrada Peluquería Personas Despeinadas (Di) Lavar => Cortar => Marcar Proceso divisible en subtareas secuenciales (filtros) LCM 1Hora 3 Mill. 10:45 (1) D4,D3,D2 11:00 (2) D5,D4,D3 P1 10:30 (1) D3,D2 10:15 (1) D2 10:00 (1) 10:45 (3) (2) (1) D4 11:00 (4) (3) (2) D5 P1 10:40 (3) (2) (1) 10:00 (1) 10:30 (2) (1) D3 10:15 (1) D2 10:20 (2) (1) L C M 20’ 20’ 20’ 1,5 M 1,5M 1,5M Secuencial => 1P x Hora Vs Pipeline => 1P x 20’ Difícil equilibrar carga (L=C=M) # filtros no muy grande

proPar Técnica de pipeline pipeline-6 Ejemplo1: Filtrado de señal f0 fin fout f1 f3 f2 f(t) Señal filtrada f0 f1 f2 f3 t d1 d0 d2 d3 d2 d1 d3 d4 d5 d6 d1 d0 d2 d1 d0 d0 Hay otras dos formas de utilizar pipeline que veremos con ejemplos

proPar Plataformas para aplicaciones tipo pipeline pipeline-7 PC + ClearSpeed CSX700 [96+96] PC + Placa con Transputers Switch

proPar Suma de números pipeline-8 for (i=1; i<=N; i++) S = S + V[i]; Cada Pi tiene un dato “Vi” del vector rec(Pi, &S); env(Pd, S+Vi); P1 P2 P3 Pn V[] Un Maestro tiene el vector P1 P2 P3 Pn V[] ....... V3,V2,V1 maestro V[] rec(Pi, &V); env(Pd, [V1+V2,[V3..Vn]]); ¡ Tantos Pi como números !

proPar Suma de números pipeline-9 Un Maestro tiene el vector y hay pocos procesos “P << N” 4.000.000 4 1.000.000 Cada Pi suma una rodaja de tamaño N / P = q M P1 P2 P3 P4 V[] + rec(Pi, &V); env(Pd, [Suma[V0..Vq],[Vq+1..Vn]]); ¿Mejorable? ¡ Sigo sin hacer trabajar en paralelo a los procesos ! Tengo que sumar K vectores de tamaño N “Muchas instancias del mismo problema” Otro uso pipeline

proPar Suma de números pipeline-10 Pipeline aplicado a muchas instancias del mismo problema M P1 P2 P3 P4 M P1 P2 P3 P4 M P1 P2 P3 P4 M P1 P2 P3 P4 M P1 P2 P3 P4 M P1 P2 P3 P4 ¿Equilibrado?

proPar Suma de números pipeline-11 Pipeline aplicado a muchas instancias del mismo problema ¡ Ojo con la relación cómputo/comunicación ! Procesos 1 2 4 MismoPC 12:271 6:492 4:334 Uno*PC 11:786 17:002 Dos*PC 9:208 cuentaPar: Números dentro de diez rangos de valores V[200.000.000] en 200 subV[1.000.000]

proPar Ordenación de números pipeline-12 3 2 5 1 4 2 3 2 3 5 1 2 3 5 1 2 3 4 5 i for i:=2 to n do x := A[i] insertar (x, A[1..i]) 4 1 5 2 3 Xmin max min maestro P1 P2 Pn 3 ¿Programa paralelo? 2 3 5 2 3 1 2 5 3 4 1 2 3 5

proPar Ordenación de números pipeline-13 Xmin max min maestro P1 P2 Pn /* Ordenación básica */ nProcsDer = n-i; rec (Pi-1, &Xmin); for (j=0; j<nProcsDer; j++) { rec (Pi-1, &X); if (X < Xmin) { env (Pi+1, &Xmin); Xmin = X; } else env (Pi+1, &X); }

proPar Ordenación de números pipeline-14 Pn Anillo Array lineal bidireccional P1 M P2 P3 Pn OrdenacionBasica; env (Pi-1, &Xmin); for (j=0; j<nProcsDer; j++) { rec (Pi+1, &X); env (Pi-1, &X); } ¿Mejorable? ¿ Pipeline aplicado a muchas instancias del mismo problema ?

proPar Generación de números primos pipeline-15 Calcular los primeros números primos < N 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 Criba de Eratóstenes i<N mejorable for (i=2; i<N; i++) primo[i] = TRUE; if (primo[i]) for (j=i+i;j<N;j+=i) primo[j] = FALSE; ¿ Programa paralelo ?

proPar Generación de números primos pipeline-16 Primera aproximación 0,N, … ,29,25,23,19,17,13,11,7,5 3 5 7 3 5 7,11,13,17,19,23,29, … ,N,0 7 11 ¿ Código paralelo ?

proPar Generación de números primos pipeline-17 Segunda aproximación: Dos fases y tablas de primos generadores FASE 1: Tabla de primos generadores N = 100 => 100 => <10 ¿ Código paralelo ? 0,7,5 3 5 7 0,97, … ,29,25,23,19,17,13,11 FASE 2: Cálculo del resto de primos 3 5 7 7,0

proPar Generación de números primos pipeline-18 Calcular los N primeros números primos 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 Criba de Eratóstenes rec (Pi-1, &primo); while (masNumeros) { rec (Pi-1, &n); if ((n%primo) != 0) env (Pi+1, &n); } Más eficiente en la práctica .......5,4,3,2 P1 M P2 Pn .......9,7,5,3 ...13,11,7,5 2 3

proPar Resolución de sistemas de ecuaciones lineales pipeline-19 an-1,0x0+an-1,1x1+an-1,2x2+ ..... + an-1,n-1xn-1 = bn-1 . a2,0 x0+a2,1 x1+a2,2 x2 = b2 a1,0 x0+a1,1 x1 = b1 a0,0 x0 = b0 x0 x1 xi-1 b0 X0 = a0,0 b1-a1,0x0 X1 = a1,1 b2-a2,0x0-a2,1x1 X2 = a2,2 i-1 bi-ai,jxj j=0 Xi = ai,i ¿ Programa paralelo ?

proPar Resolución de sistemas de ecuaciones lineales pipeline-20 bi-ai,jxj j=0 Xi = ai,i x0 x1 xi-1 suma = 0; for (j=0; j<i; j++) { rec (Pi-1, &x[j]); env (Pi+1, &x[j]); suma+=a[i][j]*x[j]; } x[i]=(b[i]-suma)/a[i][i]; env (Pi+1, &x[i]); Pi P0 P1 P2 P3 P4 P5 FIN “Paso al siguiente antes de terminar anterior” Otro uso pipeline