La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

I.S.C. Heberto Ferreira Medina (TECMOR 88-92)

Presentaciones similares


Presentación del tema: "I.S.C. Heberto Ferreira Medina (TECMOR 88-92)"— Transcripción de la presentación:

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 Sección Computación (CINVESTAV, 94-96) Especialidad Sistemas Distribuidos

2 COMPUTACION PARALELA; ARQUITECTURAS Y ALGORITMOS PARALELOS
CONTENIDO DEL CURSO: 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.

3 Bibliografía ADVANCED COMPUTER ARQUITECTURE; Paralelism, Scalability, Programmability. Kai Hwang. McGraw-Hill Series in Computer Science. ARQUITECTURA DE COMPUTADORAS Y PROCESAMIENTO PARALELO. McGraw-Hill. PARALELL COMPUTING; Theory and practice. Michael J. Quinn. PARALELL PROGRAMMING. Sussan Ragsdale. 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 MANUAL Oak Ridge National Laboratory, Univeristy of Tennessee, Carnegie Mellon University, Pittsburgh Supercomputing Center and Emory University. September, 1994. MPI 2, USERS GUIDE AND REFERENCE MANUAL.

4 Evaluación del Curso … Trabajos de Investigación (15 %)
Examen(s) teórico(s) (20 %) Proyecto de programación: Programa ejemplo de PVM en Linux/Windows (35 %) Programa ejemplo de MPI en un Cluster Linux (30 %) Mínima aprobatoria 70

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

6 1.1 Introducción Historia CISC RISC RISC VS CISC
Arquitecturas paralelas Clasificaciones Nuevas tecnologías

7 Historia .. La capacidad de cómputo se doblara aproximadamente cada 18 meses. Esta progresión de crecimiento exponencial: doblar la capacidad de los microprocesadores cada año y medio a mitad de precio. Gordon Moore Cofundador de Intel La consecuencia directa de esta Moore es que los precios bajan al mismo tiempo que las prestaciones suben: la computadora que hoy vale dólares 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 chip se ha incrementado veces.

8 Historia … Desde los inicios de las arquitecturas de computadoras, un tema de mucho estudio es como interconectar más de un procesador y que estos permitan aprovechar al máximo su capacidad en paralelo. [Michael J. Quinn, parallel computing] En los 60´s la ILLIAC IV fue una de las primeras computadoras que intentó conectar dos computadoras paralelas. La universidad de Carnegie-Mellon en los 70´s desarrolló la C.mmp y Cm*. En los 80´s la mayoría de las computadoras paralelas de la actualidad inician su carrera hacia el paralelismo anhelado; nCube, Intel, Amtek, Cray, CM, IBM, NEC, MP, entre otros … 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 redes utilizando cluster´s. En el desarrollo del paralelismo se fijaron objetivos a alcanzar: Control del paralelismo Escalabilidad Procesamiento paralelo de datos Desempeño en paralelo Máxima aceleración (speedup) Acceso a dispositivos de I/O en paralelo

9 Historia ... Aplicaciones GUI -> Evolución del Software
Tendencia -> SD: No es la panacea para resolver todos los problemas de interconexión en Red Necesidad de Interconexión -> Evolución del Hardware Aplicaciones GUI -> Evolución del Software Inteligencia Artificial -> Evolución Hardware y Software Evolución de los SO hacia Interfaces + Multimedia El hardware móvil sin enchufes El software( Inteligencia Artificial )= Inteligente + Toma de decisiones Herramientas CASE + Matemáticas aplicadas al diseño -> Técnicas de Descripción Formal Tecnología = Industria $$$

10 Evolución Procesador Intel
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 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 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 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.

11 Arquitectura CISC ... La arquitectura CISC, se caracteriza por la complejidad en su arquitectura y sus instrucciones, surge desde los 50`s Modos de operación Modos de direccionamiento Ambiente de ejecución Organización de la memoria Registros de propósito general Registros de segmentos Registros de datos Banderas Llamado a procedimientos Interrupciones Conjunto de instrucciones Manejo de I/O

12 Arquitectura RISC ... La arquitectura RISC surge de un proyecto de la universidad de Berkeley e IBM a finales de los 70`s Poco después la universidad de Stanford desarrolla la arquitectura MIPS a principios de los 80´s (Mayor énfasis en el Pipeline para acelerar instrucciones) Sus principales características son: Un solo ciclo de ejecución por instrucción, optimización de instrucciones por ciclo de reloj Pipeline, ejecución de las instrucciones en pseudo-paralelismo Un gran número de registros, que permitan el Pipeline en la mayoría de las instrucciones Una de las grandes ventajas de estas arquitecturas son la sencillez de sus instrucciones, donde existen pocos modos de direccionamiento Las técnicas de Pipeline son muy estudiadas, de tal forma que en la actualidad son muy eficientes y veloces. El Pipeline opera por estados y cuya finalidad es desarrollar el mayor número de estados por ciclo de instrucción , es decir más de una instrucción a la vez.

13 Arquitectura RISC ... El Pipeline se realiza en general en 5 pasos:
Carga de instrucciones desde la memoria Lectura de registros y decodificación de instrucción Ejecución de la instrucción y cálculo de la dirección Escritura de resultados en un registro Debido a la necesidad del Pipeline, los procesadores RISC operan más de una instrucción por ciclo de reloj, esto ocasiona problemas de dependencia de instrucciones, esto ocurre cuando el resultado de una instrucción es utilizado por la siguiente. Los procesadores MIPS tienen implementados algoritmos que permiten el reordenamiento de instrucciones para evitar la dependencia de instrucciones. Una de las técnicas es la predicción de resultados y su reordenamiento. Aún con todo y estas técnicas existen algunas instrucciones que tienen una dependencia tal que no es posible reordenarlas y existen ciclos de reloj en los cuales no se puede ejecutar el Pipeline. Los métodos que utilizan los procesadores MIPS pueden ejecutar hasta el 90 % de las dependencias y resolverlas correctamente.

14 RISC vs. CISC En realidad es difícil de comparar ambas arquitecturas puesto que tienen objetivos diferentes, una apuesta por la sencillez del hardware (RISC) y la otra por la aceleración en instrucciones (CISC).: CISC RISC Énfasis en el Hardware (Velocidad) Énfasis en el Software (Sencillez y rapidez en el Pipeline) Incluye instrucciones complejas multi-reloj Instrucciones con reloj simple Instrucciones complejas (Más de 1000) Instrucciones sencillas (Menos de 100) Instrucciones que trabajan de memoria a memoria Instrucciones que trabajan de registro a registro Carga y almacenamiento incorporados en la misma instrucción La carga y el almacenamiento son instrucciones independientes El tamaño del código es pequeño El tamaño del código es muy grande Muchos ciclos de reloj por segundo Pocos ciclos de reloj por segundo Pocos registros para almacenar los resultados Muchos registros para almacenar resultados Alto costo de producción Bajo costo de producción

15 RISC vs. CISC ... La forma de medir el desempeño de una computadora sin importar su arquitectura es: 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 los nuevos procesadores, los CISC incluyen nuevas técnicas de Pipeline para acelerar el numero de instrucciones por segundo y RISC incluye cada vez más instrucciones para acelerar aún mas los programas en hardware. Ventas de procesadores RISC al 2001 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

16 Arquitecturas paralelas
Un tema complicado era el como conectar los componentes de la arquitectura de tal forma que permitiera al máximo la ejecución de instrucciones en paralelo. El modelo PRAM, fue uno de las primeras arquitecturas que fueron probadas con éxito y permite el paralelismo, esta consiste de una unidad de control, memoria global y un conjunto ilimitado de procesadores. Uno de los problemas clásicos es la forma de acceder a la memoria: Existen varios modelos para controlar la concurrencia: EREW (Exclusive Read Exclusive Write) no hay conflictos. CREW (Concurrent Read Exclusive Write). CRCW(Concurrent Read Concurrent Write), existen 3 modelos: Común; todos los procesadores escriben concurrentemente en la misma dirección global pero el mismo valor. Arbitrario; si hay varios que desean acceder uno es declarado ganador Prioridad; el procesador con mayor prioridad es que accesa

17 Arquitectura ... TOP 500 DEL SUPERCOMPUTO: Rank
Manufacturer Computer/Procs Rmax Rpeak Installation Site Country/Year 1 NEC Earth-Simulator/ 5120 Earth Simulator Center Japan/2002 2 Hewlett-Packard ASCI Q - AlphaServer SC ES45/1.25 GHz/ 4096 Los Alamos National Laboratory USA/2002 3 4 IBM ASCI White, SP Power3 375 MHz/ 8192 Lawrence Livermore National Laboratory USA/2000 5 Linux NetworX MCR Linux Cluster Xeon 2.4 GHz - Quadrics/ 2304 Lawrence Livermore National Laboratory USA/2002 6 Hewlett-Packard AlphaServer SC ES45/1 GHz/ 3016 Pittsburgh Supercomputing Center USA/2001 7 Hewlett-Packard AlphaServer SC ES45/1 GHz/ 2560 Commissariat a l'Energie Atomique (CEA) France/2001 8 HPTi Aspen Systems, Dual Xeon 2.2 GHz - Myrinet2000/ 1536 Forecast Systems Laboratory - NOAA USA/2002 9 IBM pSeries 690 Turbo 1.3GHz/ 1280 HPCx UK/2002 10 IBM pSeries 690 Turbo 1.3GHz/ 1216 NCAR (National Center for Atmospheric Research) USA/2002 169 IBM Netfinity Cluster PIII 1.4 GHz - Eth/ 1024 366.00 Pemex Gas Mexico/2002

18 Arquitecturas paralelas…
En general la mayoría de las arquitecturas siguen tres importantes modelos de la computación paralela: Arreglo de procesadores. Modelo PRAM clásico. Multiprocesadores. Diferente modelos de interconexión. Multicomputadoras. Cluster e interconexión utilizando dispositivos I/O Los criterios para medir la eficiencia y la implementación de los algoritmos en una arquitectura paralela son: 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 procesadores. 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. 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. instancia). Número de bordes por nodo (NB). Es mejor si el número es constante independientemente del tamaño de la red. 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 tridimensional independientemente del tamaño. Los tipos clásicos de organización son: Interconexión en malla (mesh network). Árbol binario. Hiper-árbol. Pirámide, Mariposa. Hiper-cubo. Otras

19 Clasificación de Arquitecturas ...
Kai Hwang, presenta tres esquemas de clasificación: Taxonomía de Flynn(1966) - Se basa en la multiplicidad de los flujos de instrucciones y datos en un sistema. Taxonomía de Feng (1972) - Se basa en la confrontación del procesamiento serie frente al procesamiento paralelo Taxonomía de Händler (1977) - Se determina por el grado de paralelismo y encauzamiento en diferentes niveles y subsistemas Otras taxonomias o clasificaciones: Shore´s, Hockney & Jessophe´s y Towards

20 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.

21 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.

22 Taxonomía de Feng … Tse-yun-Feng, sugiere el grado de paralelismo como criterio de clasificación. Maximo grado de paralelismo ( P ) = número máximo de dígitos binarios que pueden ser procesados en una unidad de tiempo Grado medio de paralelismo ( Pm ) y tasa de utilización ( µ ) de un sistema en T ciclos: Se puede clasificar a la computadoras actuales de acuerdo a este criterio como: Palabra-serie y bit-serie (PSBS). n=m=1, primera generación de computadoras. Palabra-paralelo y bit-serie (PPBS). n=1, m>1, procesamiento por sección de bits (procesa una sección de m bits cada vez), no usado. Palabra-serie y bit-paralelo (PSBP).n>1, m=1, procesamiento por sección de palabra (procesa una palabra de n bits a la vez), computadoras actuales. Palabra-paralelo y bit-paralelo (PPBP). n>1, m>1, procesamiento totalmente paralelo (se procesa una matriz de n*m bits a la vez), multiprocesadores y multicomputadoras (cluster´s). Tasa de utilización en T ciclos Donde Pi es el No. de bits que puede ser procesados en el i-esimo ciclo del procesador, para T ciclos.

23 Taxonomía de Feng … Si la potencia de computación esta totalmente utilizada (paralelismo máximo), tenemos que Pi = P para todo i y µ = 1 con utilización al 100%. Una sección de bits es una cadena de bits, uno por cada una de las palabras sobre las que se opera en paralelo.

24 Clasificación de Händler
Wolfgang Händler ha propuesto un esquema donde se considera el procesamiento paralelo encauzado en tres niveles de subsistemas: UCP (Unidad Central de procesamiento) UAL (Unidad Aritmética Lógica) El circuito a nivel Bit (CNB), utilizado para realizar operaciones a nivel bit en la UAL. Un sistema computador (C )puede caracterizarse por una triada: C = < K x K’, D x D’, W x W’ > donde: K = Es el número procesadores K’ = Número de procesadores que puede encauzarse (pipelined) D = Es el número de ALU bajo el control de un CPU D’ = Número de ALU´s que pueden ser encauzadas (pipelined) W = Longitud de palabra de una UAL o un Elemento de Proceso (EP) W’ = El número de segmentos en pipeline en todas las ALU´s o EP´s

25 Clasificación de Händler y Otras …
Por ejemplo para la Cray-1: Es un procesador de 64-bit simple con 12 ALU, 8 de las cuales pueden trabajar en pipeline. Diferentes unidades funcionales tienen de 1 a 14 segmentos los cuales pueden trabajas en pipeline. CRAY-1 = < 1, 12 x 8, 64 x ( 1~14) > Otras clasificaciones que se pueden encontrar en la literatura son: Taxonomía de Shore´s (1973). Basada en la estructura y el número de unidades funcionales en la computadora. Se divide en 6 categorías. Taxonomía estructural de Hockney y Jesshope´s. Se basa en la notación llamada “Estilo de Notación Estructural Algebraica (ASN)”, es muy compleja. C(Cray-1) = Iv12 [ 12Ep M50 ] r; 12Ep = {3Fp64,9B} Existe una nomenclatura que pretende ser más descriptiva y se basa en: multiplicidad del procesador, tamaño de grano, topología y control de multiplicidad. Computadora Nueva Clasificación Flynn IBMPC ZL SISD

26 Nuevas Tecnologías .. Revisar nuevas tecnologías de arquitectura de computadoras en Internet Revisar PVM y MPI implementación y programación en Linux.


Descargar ppt "I.S.C. Heberto Ferreira Medina (TECMOR 88-92)"

Presentaciones similares


Anuncios Google