CURSO DE TITULACI - PowerPoint PPT Presentation

About This Presentation
Title:

CURSO DE TITULACI

Description:

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 ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 27
Provided by: hfer3
Category:

less

Transcript and Presenter's Notes

Title: CURSO DE TITULACI


1
CURSO DE TITULACIÓN 2003COMPUTACION 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.
  • 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 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.
  • http//www.mpi-forum.org

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
    3.000 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
    3.200 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 60s la ILLIAC IV fue una de las primeras
    computadoras que intentó conectar dos
    computadoras paralelas.
  • La universidad de Carnegie-Mellon en los 70s
    desarrolló la C.mmp y Cm.
  • En los 80s 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 90s 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 clusters.
  • 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 ...
  • Tendencia -gt SD
  • No es la panacea para resolver todos los
    problemas de interconexión en Red
  • Necesidad de Interconexión -gt Evolución del
    Hardware
  • Aplicaciones GUI -gt Evolución del Software
  • Inteligencia Artificial -gt 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 -gt 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 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.
11
Arquitectura CISC ...
  • La arquitectura CISC, se caracteriza por la
    complejidad en su arquitectura y sus
    instrucciones, surge desde los 50s
  • 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
    70s
  • Poco después la universidad de Stanford
    desarrolla la arquitectura MIPS a principios de
    los 80s (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 PCs, 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 ManufacturerComputer/Procs RmaxRpeak 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 IBM Netfinity Cluster PIII 1.4 GHz - Eth/ 1024 366.00 1433.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 Shores,
    Hockney Jessophes 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). nm1, primera
    generación de computadoras.
  • Palabra-paralelo y bit-serie (PPBS). n1, mgt1,
    procesamiento por sección de bits (procesa una
    sección de m bits cada vez), no usado.
  • Palabra-serie y bit-paralelo (PSBP).ngt1, m1,
    procesamiento por sección de palabra (procesa una
    palabra de n bits a la vez), computadoras
    actuales.
  • Palabra-paralelo y bit-paralelo (PPBP). ngt1, mgt1,
    procesamiento totalmente paralelo (se procesa una
    matriz de nm bits a la vez), multiprocesadores y
    multicomputadoras (clusters).

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 lt K x K, D x D, W x W gt 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 ALUs 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 ALUs o EPs

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 lt 1, 12 x
    8, 64 x ( 114) gt
  • Otras clasificaciones que se pueden encontrar en
    la literatura son
  • Taxonomía de Shores (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 Jesshopes. Se
    basa en la notación llamada Estilo de Notación
    Estructural Algebraica (ASN), es muy compleja.
  • C(Cray-1) Iv12 12Ep12 - 16M50 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.
Write a Comment
User Comments (0)
About PowerShow.com