curso de titulaciÓn 2003 computacion paralela; arquitecturas y algoritmos paralelos i.s.c. heberto...

26
CURSO DE TITULACIÓN 2003 CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS ARQUITECTURAS Y ALGORITMOS PARALELOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias Sección Computación (CINVESTAV, Maestría en Ciencias Sección Computación (CINVESTAV, 94-96) 94-96) Especialidad Sistemas Distribuidos Especialidad Sistemas Distribuidos

Upload: chickie-menendez

Post on 06-Jan-2015

46 views

Category:

Documents


23 download

TRANSCRIPT

Page 1: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

CURSO DE TITULACIÓN CURSO DE TITULACIÓN 20032003

COMPUTACION PARALELA; COMPUTACION PARALELA; ARQUITECTURAS Y ARQUITECTURAS Y

ALGORITMOS PARALELOSALGORITMOS PARALELOS

I.S.C. Heberto Ferreira Medina (TECMOR 88-92)I.S.C. Heberto Ferreira Medina (TECMOR 88-92)Maestría en Ciencias Sección Computación (CINVESTAV, Maestría en Ciencias Sección Computación (CINVESTAV,

94-96)94-96)Especialidad Sistemas DistribuidosEspecialidad Sistemas Distribuidos

Page 2: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

UNIDAD I. PROGRAMACION PARALELA.1.1 INTRODUCCION.1.2 TAXONOMIA DE FLYNN.1.3 PROGRAMACION EN SISTEMAS PARALELOS.

UNIDAD II. ARQUITECTURAS PARALELAS.2.1 MODELOS DE MÁQUINAS PARALELAS.

2.2 TECNOLOGIAS DE HARDWARE.2.3 ARQUITECTURAS ESCALABLES.

UNIDAD III. SOFTWARE PARA LA PROGRAMACION PARALELA.3.1 LENGUAJES Y COMPILADORES.3.2 AMBIENTES DE DESARROLLO.3.3 SOFTWARE PARA UNIX Y OTROS SISTEMAS OPERATIVOS.

UNIDAD IV. IMPLEMENTACION DE ALGORITMOS PARALELOS (PVM Y MPI).

4.1 ORDENAMIEMTO PARALELO.4.2 BUSQUEDAS EN PARALELO.4.3 PVM Y MPI.

COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS

CONTENIDO DEL CURSO:

Page 3: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

BibliografíaBibliografía ADVANCED COMPUTER ARQUITECTURE; Paralelism, Scalability,

Programmability.Kai Hwang.McGraw-Hill Series in Computer Science.

ARQUITECTURA DE COMPUTADORAS Y PROCESAMIENTO PARALELO.Kai Hwang.McGraw-Hill.

PARALELL COMPUTING; Theory and practice.Michael J. Quinn.McGraw-Hill.

PARALELL PROGRAMMING.Sussan Ragsdale.McGraw-Hill.

Análisis y diseño de algoritmos paralelos de ordenamiento y teoría de grafos con arquitectura Hipercubo.TESIS; Carlos Alberto Hernández Hernández.CINVESTAV MEXICO.

PVM 3.4, USERS GUIDE AND REFERENCE MANUALOak Ridge National Laboratory, Univeristy of Tennessee, Carnegie

Mellon University, Pittsburgh Supercomputing Center and Emory University. September, 1994.

MPI 2, USERS GUIDE AND REFERENCE MANUAL.http://www.mpi-forum.orghttp://www-unix.mcs.anl.gov/mpi

Page 4: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Evaluación del Curso …Evaluación del Curso …

Trabajos de Investigación (15 %)Trabajos de Investigación (15 %) Examen(s) teórico(s) (20 %)Examen(s) teórico(s) (20 %) Proyecto de programación:Proyecto de programación:

Programa ejemplo de PVM en Linux/Windows (35 Programa ejemplo de PVM en Linux/Windows (35 %)%)

Programa ejemplo de MPI en un Cluster Linux (30 Programa ejemplo de MPI en un Cluster Linux (30 %)%)

Mínima aprobatoria 70Mínima aprobatoria 70

Page 5: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

UNIDAD I. PROGRAMACION UNIDAD I. PROGRAMACION PARALELAPARALELA

1.1 INTRODUCCION1.1 INTRODUCCION

1.2 TAXONOMIA DE FLYNN1.2 TAXONOMIA DE FLYNN

1.3 PROGRAMACION EN SISTEMAS 1.3 PROGRAMACION EN SISTEMAS PARALELOSPARALELOS

Page 6: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

1.1 Introducción1.1 Introducción

HistoriaHistoria CISCCISC RISCRISC RISC VS CISCRISC VS CISC Arquitecturas paralelas Arquitecturas paralelas Clasificaciones Clasificaciones Nuevas tecnologíasNuevas tecnologías

Page 7: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Historia ..Historia .. La capacidad de cómputo se doblara La capacidad de cómputo se doblara

aproximadamente cada 18 meses. Esta progresión de aproximadamente cada 18 meses. Esta progresión de crecimiento exponencial: doblar la capacidad de los crecimiento exponencial: doblar la capacidad de los microprocesadores cada año y medio a mitad de microprocesadores cada año y medio a mitad de precio.precio.

Gordon Moore Gordon Moore Cofundador de IntelCofundador de Intel

La consecuencia directa de esta Moore es que los La consecuencia directa de esta Moore es que los precios bajan al mismo tiempo que las prestaciones precios bajan al mismo tiempo que las prestaciones suben: la computadora que hoy vale 3.000 dólares suben: la computadora que hoy vale 3.000 dólares costará la mitad al año siguiente y estará obsoleta en costará la mitad al año siguiente y estará obsoleta en dos años. En 26 años el número de transistores en un dos años. En 26 años el número de transistores en un chip se ha incrementado 3.200 veces.chip se ha incrementado 3.200 veces.

Page 8: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

HistoriaHistoria … … Desde los inicios de las arquitecturas de computadoras, un tema de Desde los inicios de las arquitecturas de computadoras, un tema de

mucho estudio es como interconectar más de un procesador y que mucho estudio es como interconectar más de un procesador y que estos permitan aprovechar al máximo su capacidad en paralelo. estos permitan aprovechar al máximo su capacidad en paralelo.

[Michael J. Quinn, parallel computing][Michael J. Quinn, parallel computing]

En los 60´s la ILLIAC IV fue una de las primeras computadoras que En los 60´s la ILLIAC IV fue una de las primeras computadoras que intentó conectar dos computadoras paralelas. intentó conectar dos computadoras paralelas.

La universidad de Carnegie-Mellon en los 70´s desarrolló la C.mmp y La universidad de Carnegie-Mellon en los 70´s desarrolló la C.mmp y Cm*.Cm*.

En los 80´s la mayoría de las computadoras paralelas de la En los 80´s la mayoría de las computadoras paralelas de la actualidad inician su carrera hacia el paralelismo anhelado; nCube, actualidad inician su carrera hacia el paralelismo anhelado; nCube, Intel, Amtek, Cray, CM, IBM, NEC, MP, entre otros …Intel, Amtek, Cray, CM, IBM, NEC, MP, entre otros …

En los 90´s nace PVM, una máquina virtual que pretende se usada en En los 90´s nace PVM, una máquina virtual que pretende se usada en la mayoría de las redes actuales, MPI es la utilización eficiente de las la mayoría de las redes actuales, MPI es la utilización eficiente de las redes utilizando cluster´s.redes utilizando cluster´s.

En el desarrollo del paralelismo se fijaron objetivos a alcanzar:En el desarrollo del paralelismo se fijaron objetivos a alcanzar: Control del paralelismoControl del paralelismo EscalabilidadEscalabilidad Procesamiento paralelo de datosProcesamiento paralelo de datos Desempeño en paraleloDesempeño en paralelo Máxima aceleración (speedup)Máxima aceleración (speedup) Acceso a dispositivos de I/O en paraleloAcceso a dispositivos de I/O en paralelo

Page 9: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Historia ...Historia ... Tendencia -> SD:Tendencia -> SD:

No es la panacea para resolver todos los problemas de interconexión No es la panacea para resolver todos los problemas de interconexión en Reden Red

Necesidad de Interconexión -> Evolución del HardwareNecesidad de Interconexión -> Evolución del Hardware Aplicaciones GUI -> Evolución del SoftwareAplicaciones GUI -> Evolución del Software Inteligencia Artificial -> Evolución Hardware y Inteligencia Artificial -> Evolución Hardware y

SoftwareSoftware Evolución de los SO hacia Interfaces + MultimediaEvolución de los SO hacia Interfaces + Multimedia El hardware móvil sin enchufesEl hardware móvil sin enchufes El software( Inteligencia Artificial )= Inteligente + El software( Inteligencia Artificial )= Inteligente +

Toma de decisionesToma de decisiones Herramientas CASE + Matemáticas aplicadas al Herramientas CASE + Matemáticas aplicadas al

diseño -> Técnicas de Descripción Formaldiseño -> Técnicas de Descripción Formal Tecnología = Industria $$$Tecnología = Industria $$$

Page 10: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Processor Type Year N. Transistors Package Type Speeds Other Details

4004 1971 2,300     4-bit word size and data bus; used in calculators.

8080 1974 6,000     8-bit word size and data bus; used in the first PC (the Altair) and in traffic signal controllers.

8086 1978 29,000     16-bit word size and data bus; used in IBM PCs and XTs.

8088 1979 29,000 40-pin DIP 5 MHz to 8 MHz (turbo)

16-bit word size; 8-bit data bus; also used in IBM PCs and XTs. 1 MB addressable RAM.

80286 1982 134,000 square 68-pin grid array (PGA) 12 MHz to 20 MHz Used in IBM ATs starting 1984. 16-bit word size and data bus. 16 MB of addressable RAM.

80386 (DX, SX Versions)

1985 275,000 132 pin PGA 16 MHz to 40 MHz 32-bit word size/data bus (DX). 32-bit word size, 16-bit data bus (SX). 4 GB of addressable RAM. Supports multitasking.

80486 DX 1989 1.6 million 168 pin PGA 25 MHz to 50 MHz 32-bit word size and data bus. 8 KB cache. 4GB of addressable RAM.

80486 DX2 1992     50 MHz to 80 MHz Upgrade to the 486DX. Has a clock doubler to process data and instructions at twice the clock speed.

80486 DX4 1994     75 MHz to 120 MHz Uses clock tripler technology that enables the processor to operate at three times clock speed.

Pentium 1993 3.3 million 273 pin PGA or 296 pin staggered PGA

60 MHz to 200 MHz and up

Uses superscaler processing. Includes SMM (System Management Mode). 64-bit data bus, 32-bit address bus. Requires a cooling fan. 4 GB of addressable RAM.

Pentium Pro 1995 5.5 million 387-pin staggered PGA (SPGA) 150 MHz to 200 MHz and up

Scaleable (up to 4 processors) Uses Dynamic Execution to improve processor efficiency. 64-bit word size/32-bit data bus size/36-bit address bus.

Pentium MMX 1997 4.5 million     Optimized for multimedia. 64-bit data bus/32-bit address bus.

Pentium II 1997 7.5 million 242-pin SEC (single edge contact)

233 MHz to 400 MHz and up.

Scaleable (up to 2 processors). 64 GB of addressable RAM. 64-bit system bus and cache bus, both with ECC (error correction code). 64-bit word size/32-bit data bus/36-bit address bus.

Evolución Procesador Intel

Page 11: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Arquitectura CISC ...Arquitectura CISC ... La arquitectura CISC, se caracteriza por la complejidad en su arquitectura y sus instrucciones, surge desde los 50`sLa arquitectura CISC, se caracteriza por la complejidad en su arquitectura y sus instrucciones, surge desde los 50`s Modos de operaciónModos de operación Modos de direccionamientoModos de direccionamiento Ambiente de ejecuciónAmbiente de ejecución Organización de la memoriaOrganización de la memoria Registros de propósito generalRegistros de propósito general Registros de segmentosRegistros de segmentos Registros de datosRegistros de datos BanderasBanderas Llamado a procedimientosLlamado a procedimientos InterrupcionesInterrupciones Conjunto de instruccionesConjunto de instrucciones Manejo de I/OManejo de I/O

Page 12: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Arquitectura RISC ...Arquitectura RISC ... La arquitectura RISC surge de un proyecto de la La arquitectura RISC surge de un proyecto de la

universidad de Berkeley e IBM a finales de los 70`suniversidad de Berkeley e IBM a finales de los 70`s Poco después la universidad de Stanford desarrolla la Poco después la universidad de Stanford desarrolla la

arquitectura MIPS a principios de los 80´s (Mayor énfasis arquitectura MIPS a principios de los 80´s (Mayor énfasis en el Pipeline para acelerar instrucciones)en el Pipeline para acelerar instrucciones)

Sus principales características son:Sus principales características son: Un solo ciclo de ejecución por instrucción, optimización Un solo ciclo de ejecución por instrucción, optimización

de instrucciones por ciclo de relojde instrucciones por ciclo de reloj Pipeline, ejecución de las instrucciones en pseudo-Pipeline, ejecución de las instrucciones en pseudo-

paralelismoparalelismo Un gran número de registros, que permitan el Pipeline Un gran número de registros, que permitan el Pipeline

en la mayoría de las instruccionesen la mayoría de las instrucciones Una de las grandes ventajas de estas arquitecturas son la Una de las grandes ventajas de estas arquitecturas son la

sencillez de sus instrucciones, donde existen pocos modos sencillez de sus instrucciones, donde existen pocos modos de direccionamientode direccionamiento

Las técnicas de Pipeline son muy estudiadas, de tal forma Las técnicas de Pipeline son muy estudiadas, de tal forma que en la actualidad son muy eficientes y veloces.que en la actualidad son muy eficientes y veloces.

El Pipeline opera por estados y cuya finalidad es El Pipeline opera por estados y cuya finalidad es desarrollar el mayor número de estados por ciclo de desarrollar el mayor número de estados por ciclo de instrucción , es decir más de una instrucción a la vez.instrucción , es decir más de una instrucción a la vez.

Page 13: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Arquitectura RISC ...Arquitectura RISC ... El Pipeline se realiza en general en 5 pasos:El Pipeline se realiza en general en 5 pasos:

Carga de instrucciones desde la memoriaCarga de instrucciones desde la memoria Lectura de registros y decodificación de instrucciónLectura de registros y decodificación de instrucción Ejecución de la instrucción y cálculo de la direcciónEjecución de la instrucción y cálculo de la dirección Escritura de resultados en un registroEscritura de resultados en un registro

Debido a la necesidad del Pipeline, los procesadores RISC Debido a la necesidad del Pipeline, los procesadores RISC operan más de una instrucción por ciclo de reloj, esto operan más de una instrucción por ciclo de reloj, esto ocasiona problemas de dependencia de instrucciones, esto ocasiona problemas de dependencia de instrucciones, esto ocurre cuando el resultado de una instrucción es utilizado ocurre cuando el resultado de una instrucción es utilizado por la siguiente.por la siguiente.

Los procesadores MIPS tienen implementados algoritmos que Los procesadores MIPS tienen implementados algoritmos que permiten el reordenamiento de instrucciones para evitar la permiten el reordenamiento de instrucciones para evitar la dependencia de instrucciones.dependencia de instrucciones.

Una de las técnicas es la predicción de resultados y su Una de las técnicas es la predicción de resultados y su reordenamiento.reordenamiento.

Aún con todo y estas técnicas existen algunas instrucciones Aún con todo y estas técnicas existen algunas instrucciones que tienen una dependencia tal que no es posible que tienen una dependencia tal que no es posible reordenarlas y existen ciclos de reloj en los cuales no se reordenarlas y existen ciclos de reloj en los cuales no se puede ejecutar el Pipeline.puede ejecutar el Pipeline.

Los métodos que utilizan los procesadores MIPS pueden Los métodos que utilizan los procesadores MIPS pueden ejecutar hasta el 90 % de las dependencias y resolverlas ejecutar hasta el 90 % de las dependencias y resolverlas correctamente. correctamente.

Page 14: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

RISC vs. CISC RISC vs. CISC En realidad es difícil de comparar ambas arquitecturas puesto En realidad es difícil de comparar ambas arquitecturas puesto

que tienen objetivos diferentes, una apuesta por la sencillez del que tienen objetivos diferentes, una apuesta por la sencillez del hardware (RISC) y la otra por la aceleración en instrucciones hardware (RISC) y la otra por la aceleración en instrucciones (CISC).:(CISC).:

CISCCISC RISCRISC

Énfasis en el Hardware Énfasis en el Hardware (Velocidad)(Velocidad)

Énfasis en el Software (Sencillez Énfasis en el Software (Sencillez y rapidez en el Pipeline)y rapidez en el Pipeline)

Incluye instrucciones complejas Incluye instrucciones complejas multi-relojmulti-reloj

Instrucciones con reloj simpleInstrucciones con reloj simple

Instrucciones complejas (Más de Instrucciones complejas (Más de 1000)1000)

Instrucciones sencillas (Menos Instrucciones sencillas (Menos de 100)de 100)

Instrucciones que trabajan de Instrucciones que trabajan de memoria a memoriamemoria a memoria

Instrucciones que trabajan de Instrucciones que trabajan de registro a registroregistro a registro

Carga y almacenamiento Carga y almacenamiento incorporados en la misma incorporados en la misma instruccióninstrucción

La carga y el almacenamiento La carga y el almacenamiento son instrucciones son instrucciones independientesindependientes

El tamaño del código es pequeñoEl tamaño del código es pequeño El tamaño del código es muy El tamaño del código es muy grandegrande

Muchos ciclos de reloj por Muchos ciclos de reloj por segundosegundo

Pocos ciclos de reloj por Pocos ciclos de reloj por segundosegundo

Pocos registros para almacenar Pocos registros para almacenar los resultadoslos resultados

Muchos registros para Muchos registros para almacenar resultadosalmacenar resultados

Alto costo de producciónAlto costo de producción Bajo costo de producciónBajo costo de producción

Page 15: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

RISC vs. CISC ...RISC vs. CISC ... La forma de medir el desempeño de una computadora sin importar La forma de medir el desempeño de una computadora sin importar

su arquitectura es:su arquitectura es:

En la actualidad se han visto las ventajas de ambas arquitecturas y En la actualidad se han visto las ventajas de ambas arquitecturas y por tal motivo la convergencia RISC-CISC es cada vez más vista en por tal motivo la convergencia RISC-CISC es cada vez más vista en los nuevos procesadores, los CISC incluyen nuevas técnicas de los nuevos procesadores, los CISC incluyen nuevas técnicas de Pipeline para acelerar el numero de instrucciones por segundo y Pipeline para acelerar el numero de instrucciones por segundo y RISC incluye cada vez más instrucciones para acelerar aún mas los RISC incluye cada vez más instrucciones para acelerar aún mas los programas en hardware.programas en hardware.

Características 1994 1995 1996 1997 1998 1999 2000 2001

ARM/StrongARM

32 bits, 75% del mercado, utilizado en automóviles, Dispositivos I/O, Palm, etc

2,170 2,100 4,200 9,800 50,400 152,000 414,000 402,000

MIPS Rxx00 32 y 64 bits, consolas, cable modem, etc 3,254 5,500 19,200 48,000 53,200 57,000 62,800 62,000

Hitachi SH 32 bits, bluetooth, Dispositivos I/O, etc 2,800 14,000 18,300 23,800 26,000 33,000 50,000 45,000

POWER/PowerPC

Motorola, 32 y 64 bits, utilizado en PC´s, workstation, telecomunicaciones, etc --

2,090 3,300 4,300 3,800 6,800 8,300 18,800 23,000

Total 30,499

33,830 58,480 98,220 149,080

262,820 556,800 538,860

Ventas de procesadores RISC al 2001

Page 16: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Arquitecturas paralelasArquitecturas paralelas Un tema complicado era el como conectar los componentes de la Un tema complicado era el como conectar los componentes de la

arquitectura de tal forma que permitiera al máximo la ejecución de arquitectura de tal forma que permitiera al máximo la ejecución de instrucciones en paralelo.instrucciones en paralelo.

El modelo PRAM, fue uno de las primeras arquitecturas que fueron El modelo PRAM, fue uno de las primeras arquitecturas que fueron probadas con éxito y permite el paralelismo, esta consiste de una probadas con éxito y permite el paralelismo, esta consiste de una unidad de control, memoria global y un conjunto ilimitado de unidad de control, memoria global y un conjunto ilimitado de procesadores.procesadores.

Uno de los problemas clásicos es la forma de acceder a la memoria:Uno de los problemas clásicos es la forma de acceder a la memoria:

Existen varios modelos para controlar la concurrencia:Existen varios modelos para controlar la concurrencia: EREW (Exclusive Read Exclusive Write) no hay conflictos.EREW (Exclusive Read Exclusive Write) no hay conflictos. CREW (Concurrent Read Exclusive Write).CREW (Concurrent Read Exclusive Write). CRCW(Concurrent Read Concurrent Write), existen 3 modelos: CRCW(Concurrent Read Concurrent Write), existen 3 modelos:

Común; todos los procesadores escriben concurrentemente en la Común; todos los procesadores escriben concurrentemente en la misma dirección global pero el mismo valor.misma dirección global pero el mismo valor.

Arbitrario; si hay varios que desean acceder uno es declarado Arbitrario; si hay varios que desean acceder uno es declarado ganadorganador

Prioridad; el procesador con mayor prioridad es que accesaPrioridad; el procesador con mayor prioridad es que accesa

Page 17: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Arquitectura ...Arquitectura ...TOP 500 DEL SUPERCOMPUTO:Rank Manufacturer

Computer/Procs Rmax

Rpea

k

Installation SiteCountry/Year

1 NECEarth-Simulator/ 5120

35860.0040960.00

Earth Simulator CenterJapan/2002

2 Hewlett-PackardASCI Q - AlphaServer SC ES45/1.25 GHz/ 4096

7727.0010240.00

Los Alamos National LaboratoryUSA/2002

3 Hewlett-PackardASCI Q - AlphaServer SC ES45/1.25 GHz/ 4096

7727.0010240.00

Los Alamos National LaboratoryUSA/2002

4 IBMASCI White, SP Power3 375 MHz/ 8192

7226.0012288.00

Lawrence Livermore National LaboratoryUSA/2000

5 Linux NetworXMCR Linux Cluster Xeon 2.4 GHz - Quadrics/ 2304

5694.0011060.00

Lawrence Livermore National LaboratoryUSA/2002

6 Hewlett-PackardAlphaServer SC ES45/1 GHz/ 3016

4463.006032.00

Pittsburgh Supercomputing CenterUSA/2001

7 Hewlett-PackardAlphaServer SC ES45/1 GHz/ 2560

3980.005120.00

Commissariat a l'Energie Atomique (CEA)France/2001

8 HPTiAspen Systems, Dual Xeon 2.2 GHz - Myrinet2000/ 1536

3337.006758.00

Forecast Systems Laboratory - NOAAUSA/2002

9 IBMpSeries 690 Turbo 1.3GHz/ 1280

3241.006656.00

HPCxUK/2002

10 IBMpSeries 690 Turbo 1.3GHz/ 1216

3164.006323.00

NCAR (National Center for Atmospheric Research)USA/2002

169 IBMNetfinity Cluster PIII 1.4 GHz - Eth/ 1024

366.001433.00

Pemex GasMexico/2002

Page 18: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Arquitecturas paralelas…Arquitecturas paralelas… En general la mayoría de las arquitecturas siguen tres importantes modelos En general la mayoría de las arquitecturas siguen tres importantes modelos

de la computación paralela:de la computación paralela: Arreglo de procesadores. Modelo PRAM clásico.Arreglo de procesadores. Modelo PRAM clásico. Multiprocesadores. Diferente modelos de interconexión.Multiprocesadores. Diferente modelos de interconexión. Multicomputadoras. Cluster e interconexión utilizando dispositivos I/OMulticomputadoras. Cluster e interconexión utilizando dispositivos I/O

Los criterios para medir la eficiencia y la implementación de los algoritmos Los criterios para medir la eficiencia y la implementación de los algoritmos en una arquitectura paralela son:en una arquitectura paralela son: Diámetro (D): El diámetro es la distancia más grande entre 2 nodos. El diámetro Diámetro (D): El diámetro es la distancia más grande entre 2 nodos. El diámetro

más bajo es menor, es simplifica los requerimientos de comunicación entre más bajo es menor, es simplifica los requerimientos de comunicación entre procesadores.procesadores.

Ancho de bisección de una red (AB): Es el mínimo número de bordes que pueden Ancho de bisección de una red (AB): Es el mínimo número de bordes que pueden ser eliminados en orden para dividir un arreglo de procesadores en dos mitades. ser eliminados en orden para dividir un arreglo de procesadores en dos mitades. Una bisección alta es mejor porque los algoritmos requieren un gran movimiento Una bisección alta es mejor porque los algoritmos requieren un gran movimiento de datos y este puede dividirse entre el número de conexiones posible (1a. de datos y este puede dividirse entre el número de conexiones posible (1a. instancia).instancia).

Número de bordes por nodo (NB). Es mejor si el número es constante Número de bordes por nodo (NB). Es mejor si el número es constante independientemente del tamaño de la red.independientemente del tamaño de la red.

Máxima longitud de borde (MLB). Por razones de escalabilidad es mejor si el Máxima longitud de borde (MLB). Por razones de escalabilidad es mejor si el número de nodos y bordes pueden ser representados en un espacio número de nodos y bordes pueden ser representados en un espacio tridimensional independientemente del tamaño.tridimensional independientemente del tamaño.

Los tipos clásicos de organización son:Los tipos clásicos de organización son: Interconexión en malla (mesh network). Interconexión en malla (mesh network). Árbol binario. Árbol binario. Hiper-árbol. Hiper-árbol. Pirámide,Pirámide, Mariposa.Mariposa. Hiper-cubo.Hiper-cubo. OtrasOtras

Page 19: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Clasificación de Clasificación de Arquitecturas ...Arquitecturas ...

Kai Hwang, presenta tres esquemas de Kai Hwang, presenta tres esquemas de clasificación:clasificación: Taxonomía de Flynn(1966)Taxonomía de Flynn(1966)

- Se basa en la multiplicidad de los flujos de - Se basa en la multiplicidad de los flujos de instrucciones y datos en un sistema.instrucciones y datos en un sistema.

Taxonomía de Feng (1972)Taxonomía de Feng (1972)- Se basa en la confrontación del procesamiento serie - Se basa en la confrontación del procesamiento serie

frente al procesamiento paralelofrente al procesamiento paralelo Taxonomía de Händler (1977)Taxonomía de Händler (1977)

- Se determina por el grado de paralelismo y - Se determina por el grado de paralelismo y encauzamiento en diferentes niveles y subsistemasencauzamiento en diferentes niveles y subsistemas

Otras taxonomias o clasificaciones: Shore´s, Otras taxonomias o clasificaciones: Shore´s, Hockney & Jessophe´s y TowardsHockney & Jessophe´s y Towards

Page 20: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Taxonomía de Flynn ...Taxonomía de Flynn ... Simple flujo de Instrucciones – Simple Flujo de datos (SISD).

Máquinas secuénciales; CISC y RISC, 1 procesador.

Simple flujo de Instrucciones – Múltiple Flujo de Datos (SIMD). Multiprocesadores, CISC o RISC.

Page 21: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Taxonomía de Flynn ...Taxonomía de Flynn ... Múltiple flujo de Instrucciones – Simple Flujo de

Datos (MISD). No aplicado.

Múltiple flujo de Instrucciones – Múltiple Flujo de Datos (MIMD). Multiprocesadores, Clusters, Transputer.

Page 22: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Taxonomía de Feng …Taxonomía de Feng … Tse-yun-Feng, sugiere el grado de paralelismo como Tse-yun-Feng, sugiere el grado de paralelismo como

criterio de clasificación. criterio de clasificación. Maximo grado de paralelismo ( P ) =Maximo grado de paralelismo ( P ) = número máximo de dígitos número máximo de dígitos

binarios que binarios que pueden ser pueden ser procesados en una unidad de procesados en una unidad de tiempo tiempo

Grado medio de paralelismoGrado medio de paralelismo ( Pm ) y ( Pm ) y tasa de utilizacióntasa de utilización ( ( µ ) µ ) de un sistema en T ciclos:de un sistema en T ciclos:

Se puede clasificar a la computadoras actuales de Se puede clasificar a la computadoras actuales de acuerdo a este criterio como:acuerdo a este criterio como: Palabra-serie y bit-serie (Palabra-serie y bit-serie (PSBSPSBS). n=m=1, primera generación de ). n=m=1, primera generación de

computadoras.computadoras. Palabra-paralelo y bit-serie (Palabra-paralelo y bit-serie (PPBSPPBS). n=1, m>1, procesamiento ). n=1, m>1, procesamiento

por sección de bits (procesa una sección de m bits cada vez), no por sección de bits (procesa una sección de m bits cada vez), no usado.usado.

Palabra-serie y bit-paralelo (Palabra-serie y bit-paralelo (PSBPPSBP).n>1, m=1, procesamiento ).n>1, m=1, procesamiento por sección de palabra (procesa una palabra de n bits a la vez), por sección de palabra (procesa una palabra de n bits a la vez), computadoras actuales.computadoras actuales.

Palabra-paralelo y bit-paralelo (Palabra-paralelo y bit-paralelo (PPBPPPBP). n>1, m>1, ). n>1, m>1, procesamiento totalmente paralelo (se procesa una matriz de procesamiento totalmente paralelo (se procesa una matriz de n*m bits a la vez), multiprocesadores y multicomputadoras n*m bits a la vez), multiprocesadores y multicomputadoras (cluster´s).(cluster´s).

Donde Pi es el No. de bits que puede ser procesados en el i-esimo ciclo del procesador, para T ciclos.

Tasa de utilización en T ciclos

Page 23: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Taxonomía de Feng …Taxonomía de Feng …

Si la potencia de Si la potencia de computación esta computación esta totalmente utilizada totalmente utilizada (paralelismo máximo), (paralelismo máximo), tenemos que Ptenemos que Pii = P = P para todo i y µ = 1 con para todo i y µ = 1 con utilización al 100%.utilización al 100%.

Una sección de bits es Una sección de bits es una cadena de bits, una cadena de bits, uno por cada una de uno por cada una de las palabras sobre las las palabras sobre las que se opera en que se opera en paralelo.paralelo.

Page 24: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Clasificación de HClasificación de Händlerändler Wolfgang Händler ha propuesto un esquema donde se Wolfgang Händler ha propuesto un esquema donde se

considera el procesamiento paralelo encauzado en tres considera el procesamiento paralelo encauzado en tres niveles de subsistemas:niveles de subsistemas: UCP (Unidad Central de procesamiento)UCP (Unidad Central de procesamiento) UAL (Unidad Aritmética Lógica)UAL (Unidad Aritmética Lógica) El circuito a nivel Bit (CNB), utilizado para realizar operaciones a El circuito a nivel Bit (CNB), utilizado para realizar operaciones a

nivel bit en la UAL.nivel bit en la UAL. Un sistema computador (Un sistema computador (C C )puede caracterizarse por una )puede caracterizarse por una

triada:triada:

C C = < K x K’, D x D’, W x W’ > donde:= < K x K’, D x D’, W x W’ > donde:

K = Es el número procesadoresK = Es el número procesadoresK’ = Número de procesadores que puede encauzarse (pipelined)K’ = Número de procesadores que puede encauzarse (pipelined)D = Es el número de ALU bajo el control de un CPUD = Es el número de ALU bajo el control de un CPUD’ = Número de ALU´s que pueden ser encauzadas (pipelined)D’ = Número de ALU´s que pueden ser encauzadas (pipelined)W = Longitud de palabra de una UAL o un Elemento de Proceso W = Longitud de palabra de una UAL o un Elemento de Proceso

(EP)(EP)W’ = El número de segmentos en pipeline en todas las ALU´s o EP´sW’ = El número de segmentos en pipeline en todas las ALU´s o EP´s

Page 25: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Por ejemplo para la Cray-1: Es un procesador de 64-bit simple Por ejemplo para la Cray-1: Es un procesador de 64-bit simple con 12 ALU, 8 de las cuales pueden trabajar en con 12 ALU, 8 de las cuales pueden trabajar en pipelinepipeline. . Diferentes unidades funcionales tienen de 1 a 14 segmentos los Diferentes unidades funcionales tienen de 1 a 14 segmentos los cuales pueden trabajas en pipeline.cuales pueden trabajas en pipeline. CRAY-1CRAY-1 = < 1, 12 x 8, = < 1, 12 x 8, 64 x ( 1~14) >64 x ( 1~14) >

Otras clasificaciones que se pueden encontrar en la literatura Otras clasificaciones que se pueden encontrar en la literatura son: son:

Taxonomía de Shore´s (1973). Basada en la estructura y el Taxonomía de Shore´s (1973). Basada en la estructura y el número de unidades funcionales en la computadora. Se divide en número de unidades funcionales en la computadora. Se divide en 6 categorías.6 categorías.

Taxonomía estructural de Hockney y Jesshope´s. Se basa en la Taxonomía estructural de Hockney y Jesshope´s. Se basa en la notación llamada “Estilo de Notación Estructural Algebraica notación llamada “Estilo de Notación Estructural Algebraica (ASN)”, es muy compleja. (ASN)”, es muy compleja. C(Cray-1) = IvC(Cray-1) = Iv12 12 [ 12Ep[ 12Ep1212 - 16M - 16M50 50 ] r; 12Ep = {3Fp64,9B}] r; 12Ep = {3Fp64,9B}

Existe una nomenclatura que pretende ser más descriptiva y se Existe una nomenclatura que pretende ser más descriptiva y se basa en: multiplicidad del procesador, tamaño de grano, basa en: multiplicidad del procesador, tamaño de grano, topología y control de multiplicidad. topología y control de multiplicidad. Computadora Computadora Nueva Clasificación FlynnNueva Clasificación Flynn IBMPCIBMPC ZLZL SISD SISD

Clasificación de HClasificación de Händler y ändler y Otras …Otras …

Page 26: CURSO DE TITULACIÓN 2003 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS I.S.C. Heberto Ferreira Medina (TECMOR 88-92) Maestría en Ciencias

Nuevas Tecnologías ..Nuevas Tecnologías .. Revisar nuevas tecnologías de Revisar nuevas tecnologías de

arquitectura de computadoras en arquitectura de computadoras en InternetInternet

Revisar PVM y MPI implementación y Revisar PVM y MPI implementación y programación en Linux.programación en Linux.