105
Máquinas Computadoras II Procesadores Segmentados y Vectoriales UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN DEPARTAMENTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES

Maquinas Computadoras II U3

Embed Size (px)

DESCRIPTION

Procesadores Segmentados

Citation preview

Mquinas Computadoras IIProcesadores Segmentados y VectorialesUNIVERSIDAD NACIONAL DE INGENIERIAFACULTAD DE ELECTROTECNIA Y COMPUTACINDEPARTAMENTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONESIngeniera Electrnica - MC2ContenidoParalelismo en Mono-ProcesadorMIMD Memoria CompartidaMIMD Memoria Acoplada Computadoras Multi-coreProcesadores Segmentados y Vectoriales 2Tipos de ParalelismoComputadoras VectorialesTIPOS DE PARALELISMOProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 3Conceptos GeneralesEjecucin serial Las tareas/instrucciones de un programa son ejecutadas de manera secuencial, una cada vez.Ejecucin paralela Varias tareas/instrucciones de un programa son ejecutadas de manera simultnea.Memoria compartida Las diferentes unidades de computo (CPU) comparten una memoria comn a la cual tienen todos acceso en igualdad de condiciones.Memoria distribuida Las diferentes unidades de clculo (CPU) tienen una memoria propia a la cual las dems CPUs no tienen acceso directo. Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 4Conceptos Generales - RendimientoLa aceleracin experimentada por un programa al hacer uso de N unidades de procesamiento (CPU) en vez de una nica es =

La eficiencia paralela es la aceleracin alcanzada por un programa comparada con la que podra alcanzar en el caso ideal:

=

Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 5Primeros Pasos en Procesamiento ParaleloLa segmentacin es un primer mecanismo de paralelismo Varias instrucciones consecutivas son ejecutadas de forma solapada casi en paralelo.Procesadores super-escalares realizan tambin procesamiento paralelo Ejecutan dos o mas instrucciones al mismo tiempo gracias a la presencia de varios cauces paralelos.Procesadores o Sistemas vectoriales Segmentacin al tratamiento de grandes cadenas de datos.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 6Clasificacin de Flynn La clasificacin mas popular de computadores Basada en la clasificacin atendiendo al flujo de datos einstrucciones en un sistema. Un flujo de instrucciones es el conjunto de instrucciones secuencialesque son ejecutadas por un nico procesador, y un flujo de datos es el flujo secuencial de datos requeridos por el flujode instrucciones. Cuatro categoras:Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 7Taxonoma de las arquitecturas paralelasOrganizaciones de computadoresUna secuencia de instruccin, una secuencia de datos (SISD)Una secuencia de instruccin, mltiples secuencias de datos (SIMD)Mltiples secuencias de instruccin, una secuencia de datos (MISD) Mltiples secuencias de instruccin, mltiples secuencias de datos (MIMD) MonoprocesadoresProcesadores vectorialesProcesadoresmatricialesMemoria compartida(fuertemente acoplada)Memoria distribuida(dbilmente acoplada)ClustersMultiprocesadorsimtrico (SMP)Acceso no uniforme a memoria (NUMA)SMP = Symmetric MultiProcessorNUMA = NonUniformMemory AccessProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 8SISD: Single Instruction, Single DataCaractersticas del modelo SISD: La CPU procesa nicamente una instruccin por cada ciclo de reloj nicamente un dato es procesado en cada ciclo de reloj Es el modelo ms antiguo de computadora y el ms extendido.-Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 9Flujo nico de instrucciones y flujo nico de datos. A menudo a los SISD se les conoce como computadores serie escalares.Mquinas SISD Poseen registro simple que sellama contador de programa queasegura la ejecucin en serie delprograma. Conforme se van leyendo lasinstrucciones de la memoria, el contador de programa se actualizapara que apunte a la siguienteinstruccin a procesar en serie. No existe actualmente ningncomputador puramente SISD La mayora de procesadoresmodernos incorporan algn gradode paralelismo Segmentacin de instrucciones Ejecucin de varias instrucciones almismo tiempo (superescalares).-Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 10MISD: Multiple Instruction stream, Single Data stream Flujo mltiple de instrucciones y nico flujo de datos. Varias instrucciones actan sobre el mismo y nico conjunto de datos. Existen pocos ejemplos ya que es imprctica. Una opcin son arquitecturas altamente segmentadas ejecutando una funcinparticular en los mismo datos.-Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 11SIMD: Single Instruction, Multiple Data Caractersticas del modelo SIMD: Todas las unidades ejecutan la misma instruccin Cada unidad procesa un dato distinto Todas las unidades operan simultneamente Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 12Organizacin MIMD Mltiples Instrucciones Mltiples DatosSon procesadores de uso general.Cada uno es capaz de procesar todas las instrucciones necesarias para realizar las transformaciones apropiadas de los datos.Se pueden subdividir, adems, segn la forma que tienen los procesadores para comunicarse.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 13MIMD: Multiple Instruction, Multiple Data Caractersticas del modelo MIMD: Cada unidad ejecuta una instruccin distinta Cada unidad procesa un dato distinto Todas las unidades operan simultneamente Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 14MIMD de memoria compartidaUC1UC2UCnUP1UP2UPnFIFIFIFDFDFDMemoria compartidaUC = Unidad de ControlUP = Unidad de ProcesamientoFI = Flujo de InstruccionesFD = Flujo de DatosProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 15SMP (fuertemente acoplado)Varios procesadores comparten una nica memoria.Los procesadores se comunican unos con otros a travs de esa memoria compartida.Caractersticas del multiprocesador simtrico (SMP): Comparten la memoria principal. Comparten un bus para acceder a la memoria. El tiempo de acceso a memoria es aproximadamente el mismo para todos los procesadores.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 16NUMA (fuertemente acoplado)Acceso no uniforme a memoria.El tiempo de acceso a zonas de memoria diferentes puede diferir en un computador NUMA.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 17MIMD de memoria distribuidaUC1UC2UCnUP1UP2UPnML1ML2MLnRed deinterconexinFIFIFIFDFDFDUC = Unidad de ControlUP = Unidad de ProcesamientoFI = Flujo de InstruccionesFD = Flujo de DatosML = Memoria LocalProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 18Clusters (memoria dbilmente acoplada)Un conjunto de computadores monoprocesador independientes, o de SMP, pueden interconectarse para formar un cluster. La comunicacin entre los computadores se realiza mediante conexiones fijas o mediante algn tipo de red.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 19PARALELISMO EN MONOPROCESADORSegmentacinProcesadores SuperescalaresProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 20Organizaciones de computadoresUna secuencia de instruccin, una secuencia de datos (SISD)Una secuencia de instruccin, mltiples secuencias de datos (SIMD)Mltiples secuencias de instruccin, una secuencia de datos (MISD) Mltiples secuencias de instruccin, mltiples secuencias de datos (MIMD) MonoprocesadoresProcesadores vectorialesProcesadoresmatricialesMemoria compartida(fuertemente acoplada)Memoria distribuida(dbilmente acoplada)ClustersMultiprocesadorsimtrico (SMP)Acceso no uniforme a memoria (NUMA)Qu es la segmentacin? Tcnica de implementacin por la cual se solapa la ejecucin de mltiples instrucciones La ejecucin de la una instruccin se descompone en partes ms pequeas cada una de las cuales necesita una fraccin del tiempo necesario para completar la instruccin completa. Cada uno de estos pasos se define como etapa de la segmentacin o segmento. Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 21Tarea Ejecutada SecuencialProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 22Tarea Ejecutada con Procesador SegmentadoProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 23Ejemplo de eventos en etapa de SegmentacinProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 24IF = bsqueda de la instruccinID = decodificacin instruccin y bsqueda de registrosEX = ejecucin y clculo de direcciones efectivasMEM = acceso a memoriaWB = post-escrituraSegmentacin bsicaProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 25Qu es una implementacin superescalar?Las instrucciones comunes(aritmticas, cargas/almacenamientos y bifurcaciones condicionales) pueden iniciar su ejecucin simultneamente y de manera independiente. Puede utilizarse tanto en una arquitectura RISC como en una CISC. En la prctica, normalmente se utiliza en RISC.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 26Organizacin superescalar usual Banco de registros de enteros Banco de registros de coma flotanteUnidadesfuncionalessegmentadasMemoriaProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 27Limitaciones Paralelismo a nivel de instrucciones. Optimizaciones realizadas por el compilador. Tcnicas hardware. Limitaciones:Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 28 Dependencia de datos verdadera. Dependencia relativa al procedimiento. Conflictos en los recursos. Dependencia de salida. Antidependencia.Dependencia de datos verdadera ADD r1, r2; r1 := r1 + r2 MOVE r3, r1; r3 := r1Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 29La segunda instruccinse puede captar y decodificar en paralelocon la primera. La segunda instruccin NO se puede ejecutar hasta que finalice la ejecucin de la primera instruccin. Dependencia relativa al procedimientoLas instrucciones que siguen a unabifurcacin no pueden ejecutarse en paralelo con las instrucciones anteriores a la misma. Si las instrucciones son de longitud variable, stas tienen que decodificarse para averiguar cuntas captaciones son necesarias. Esto imposibilita la captacin simultnea. Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 30Conflictos en los recursosUn conflicto en los recursos es una pugna de dos o ms instrucciones por el mismo recurso al mismo tiempo.Los recursos pueden duplicarse. Ejemplo: dos instruccionesaritmticas. Ejemplo: tener dos unidades aritmticas. Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 31Dependencias1. Sin Dependencia2. Dependencia de datos1. I1 usa un dato calculado por I03. Dependencia relativa al procedimiento1. I2 e I3 espera resultados de I0 e I14. Conflicto en un recurso1. I0 e I1 utilizan la misma Unidad FuncionalClave EjecucinCaptacin deinstruccinDecodifi_cacinEscrituraSin dependenciaDependencia de datos(i1 usa un dato calculado por i0)Dependenciarelativa alprocedimientoi1/bifurcacinConflicto en un recurso(i0 e i1 usan la mismaunidad funcional) Tiempo en ciclos baseProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 32Antidependencia Dependencia lectura-escritura: I1:R3R3 op R5 I2:R4R3 + 1 I3:R3R5 + 1 I4:R7R3 op R4 I3 no puede finalizar antes de que I2 comience, ya que I2 necesita un valor en R3 e I3 modifica R3.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 33Ejecucin superescalarPrograma estticoCaptacin de instrucciones yprediccin de saltos Envo deinstruccionesEmisin deinstruccionesEjecucin deinstruccionesReordenacin y entrega de instruccionesVentana deejecucin Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 34Implementacin superescalarEstrategias de captacin de instrucciones que capten simultneamente mltiples instrucciones. Lgica para determinar dependencias verdaderas entre valores de registros. Mecanismos para comunicar esos valores. Mecanismos para iniciar mltiples instrucciones en paralelo. Recursos para la ejecucin en paralelo de mltiples instrucciones. Mecanismos para entregar el estado del procesador en un orden correcto. Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 35Ejemplo de Segmentacin en Pentium 4Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 36COMPUTADORAS VECTORIALESProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 37Procesamiento vectorialUn operando vectorial contiene una secuencia de n elementos donde n es la longitud del vector.Cada elemento del vector es un escalar de cualquier tipo entero, punto flotante, etc.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 38Arquitectura de una mquina SIMDProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 39Memoria DistribuidaArquitectura de una mquina SIMDProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 40Memoria CompartidaArquitectura bsica de un computador vectorialProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 41Utilidad de un procesador vectorialProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 42Elementos de la arquitecturaRegistros vectorialesUnidades funcionales vectorialesUnidad de carga y almacenamientoRegistros escalaresUnidades funcionales escalaresProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 43Elementos de la arquitecturaRegistros vectoriales Contienen los operandos vectoriales en mquinas de registros No existen si la mquina es memoria-memoria Valores tpicos de elementos son 64 o 128 Deben tener al menos 2 puertos de lectura y uno de escrituraUnidades funcionales vectorialesUnidad de carga y almacenamientoRegistros escalaresUnidades funcionales escalaresProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 44Elementos de la arquitecturaRegistros vectorialesUnidades funcionales vectoriales Ejecutan las operaciones vectoriales Estn segmentadas y suelen tener latencia 1 Una unidad de control vigila las dependenciasUnidad de carga y almacenamientoRegistros escalaresUnidades funcionales escalaresProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 45Elementos de la arquitecturaRegistros vectorialesUnidades funcionales vectorialesUnidad de carga y almacenamiento Gestiona transferencias de vectores desde/a memoria Puede estar segmentada Tambin puede ocuparse de los datos escalaresRegistros escalaresUnidades funcionales escalaresProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 46Elementos de la arquitecturaRegistros vectorialesUnidades funcionales vectorialesUnidad de carga y almacenamientoRegistros escalares Contienen los operando escalares Se usan en operaciones vectoriales y para calcular direcciones Se necesitan varios puertos de lectura y escrituraUnidades funcionales escalaresProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 47Elementos de la arquitecturaRegistros vectorialesUnidades funcionales vectorialesUnidad de carga y almacenamientoRegistros escalaresUnidades funcionales escalares Pueden existir para operaciones especficamente escalares Pueden no existir si para operaciones escalares se usan las unidades vectorialesProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 48Ventajas de las mquinas vectorialesProporcionan gran aprovechamiento del paralelismo (de datos) con un control relativamente sencillo.Una nica instruccin especifica una gran cantidad de trabajo, reduciendo la necesidad de ancho de banda de instrucciones.Optimizan el uso de memoria con accesos predecibles que se pueden solapar.Eliminan dependencias de control e instrucciones de comprobacin y contabilidad.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 49Ejemplo de mquina vectorialArquitectura del Cray-1Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 50Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 51Participacin segn arquitectura del procesadorProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 52Participacin segn arquitectura del procesadorProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 53Earth Simulator 2Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 54Earth Simulator 2 - arquitecturaProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 55Earth Simulator 2 - ChipProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 56MULTIPROCESADORES SIMTRICOS (SMP)Memoria CompartidaProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 57Organizaciones de computadoresUna secuencia de instruccin, una secuencia de datos (SISD)Una secuencia de instruccin, mltiples secuencias de datos (SIMD)Mltiples secuencias de instruccin, una secuencia de datos (MISD) Mltiples secuencias de instruccin, mltiples secuencias de datos (MIMD) MonoprocesadoresProcesadores vectorialesProcesadoresmatricialesMemoria compartida(fuertemente acoplada)Memoria distribuida(dbilmente acoplada)ClustersMultiprocesadorsimtrico (SMP)Acceso no uniforme a memoria (NUMA)Multiprocesador fuertemente acopladoProcesador Procesador ProcesadorE/SE/SE/SRed de interconexinMemoria principalProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 58Conmutador de barras cruzadas de 8 x 8Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 59Red Omega de ConmutacinProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 60Memorias ProcesadoresCaracterstica de un SMP (1/2)Es un computador autnomo.Hay dos o ms procesadores similares de capacidades comparables.Estos procesadores comparten la memoria principal y las E/S.Estn interconectados mediante un bus u otro tipo de sistema de interconexin.El tiempo de acceso a memoria es aproximadamente el mismo para todos los procesadores.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 61Caracterstica de un SMPTodos los procesadores comparten los dispositivos de E/S, bien a travs de los mismos canales, o bien mediante canales distintos que proporcionan caminos de acceso al mismo dispositivo.Todos los procesadores pueden desempear las mismas funciones (de ah el trmino simtrico).El sistema est controlado por un sistema operativo integrado, que proporciona la interaccin entre los procesadores y sus programas en los niveles de trabajo, tarea, fichero y datos.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 62Ventajas de un SMPPrestaciones:Cuando el trabajo a realizar por un computador puede organizarse en paralelo.Disponibilidad:Debido a que todos los procesadores pueden realizar las mismas funciones, un fallo en un procesador no har que el computador se detenga.Crecimiento incremental:Se pueden aumentar las prestaciones del sistema, aadiendo ms procesadores.Escalado:Los fabricantes pueden ofrecer una gama de productos con precios y prestaciones diferentes, en funcin del nmero de procesadores que configuran el sistema.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 63Organizacin de los multiprocesadores simtricosBus de tiempo compartido o comn.Memoria multipuerto.Unidad de control central.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 64Organizacin de Bus de tiempo compartidoProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 65Bus de tiempo compartidoEs el mecanismo ms simple.La estructura y las interfaces son bsicamente las mismas que las de un sistema de un nico procesador. Direccionamiento: distincin de los mdulos del bus. Arbitraje: cualquier mdulo puede funcionar temporalmente como maestro. Tiempo compartido: cuando un mdulo est controlando el bus, los otros mdulos tienen que esperar y, si es necesario, suspender su operacin.Se proporcionan los siguientes elementos para el:Existen varios procesadores, adems de varios mdulos de E/S.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 66Ventajas del bus de tiempo compartidoSimplicidad. Interfaz similar a sistema con un procesadorFlexibilidad. Fcil de expandir Fiabilidad. Bus es esencial pasivo Falla en un dispositivo no afecta todo el sistemaProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 67Desventajas del bus de tiempo compartidoLa prestacin est limitada por el tiempo de ciclo del bus. Cada procesador debera estar equipado con una memoria cache para mejorar las prestaciones: Se reducira el nmero de accesos.Se pueden producir problemas de coherencia de cache: Este problema es resuelto por el hardware (se explica ms adelante)Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 68Memoria multipuertoProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 69Permite el acceso directo e independiente a los mdulos de memoria desde cada uno de los procesadores.Se necesita una cierta lgica para resolver los conflictos.Se necesitan pocas o ninguna modificacin en los procesadores o en los mdulos.Organizacin de Memoria Multi-puertoProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 70Ventajas y desventajas de la memoria multipuerto Se precisa aadir al sistema de memoria una buena cantidad de lgica. Se consiguen mejores prestaciones. Cada procesador tiene un camino dedicado a cada mdulo de memoria.Ms compleja: Incremento de la seguridad.Permite configurar partes de la memoria como privadas para uno o ms procesadores:Se debe utilizar una estrategia de escritura directa para controlar la cache.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 71Unidad de control central Encauza las distintas secuencias de datos entre los distintos mdulos independientes. Puede almacenar temporalmente peticiones. Puede realizar las funciones de arbitraje y temporizacin. Puede transmitir mensajes de estado y control entre los procesadores. Puede alertar sobre los cambios en las caches. Las interfaces de E/S, memoria y procesador no sufren cambios esenciales.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 72Puntos clave de diseo de un sistema operativoProcesos concurrentes simultneos.Planificacin.Sincronizacin.Gestin de memoria.Fiabilidad y tolerancia ante los fallos.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 73Coherencia de cache y protocolo MESIProblema: pueden existir varias copias del mismo dato simultneamente en caches diferentes.Puede producirse una visin inconsistente de la memoria.La poltica de post-escritura puede ocasionar inconsistencia. La poltica de escritura directa tambin puede producir problemas, a no ser que las otras caches comprueben los accesos a la memoria principal.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 74Soluciones software El compilador y el sistema operativo se encargan del problema de la necesidad de circuitera y lgica hardware adicional.La sobrecarga se transfiere al tiempo de compilacin.La complejidad del diseo se transfiere desde el hardware al software.Por otra parte, el software tiende a tomar ciertas decisiones conservadoras: Utilizacin ineficiente de la cache.Analizan el cdigo para determinar periodos seguros para las variables compartidas.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 75Soluciones hardware Generalmente se denominan protocolos de coherencia de cache.Permiten reconocer dinmicamente, en el momento de la ejecucin, problemas potenciales.Permiten un uso ms efectivo de las caches.Aproximaciones transparentes para el programador.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 76Ejemplo: Invalidar-si-escrituraMltiples procesadores que leen, pero uno slo que escribe.Cuando se quiere hacer una escritura, se invalidan las otras caches de la lnea.El procesador que escribe tiene acceso exclusivo hasta que la lnea sea requerida por otro procesador.Se utiliza en los sistemas Pentium II y Power PC.El estado de cada lnea se marca como modificado, exclusivo, compartido, o no vlido.El protocolo de invalidar-si-escritura se llama MESI.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 77SMP en el mercadoProcesadores Segmentados y VectorialesIngeniera Electrnica - MC278Precio de Sparc T3 incluye el rack con todos los accesorios, disco duros, memoria, etc.Ultrasparc T3Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 79Procesador Intel XeonProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 80MIPS32 1074KProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 81AMD OpteronProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 82Mltiples AMDProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 83CLUSTERSMemoria DistribuidaProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 84Organizaciones de computadoresUna secuencia de instruccin, una secuencia de datos (SISD)Una secuencia de instruccin, mltiples secuencias de datos (SIMD)Mltiples secuencias de instruccin, una secuencia de datos (MISD) Mltiples secuencias de instruccin, mltiples secuencias de datos (MIMD) MonoprocesadoresProcesadores vectorialesProcesadoresmatricialesMemoria compartida(fuertemente acoplada)Memoria distribuida(dbilmente acoplada)ClustersMultiprocesadorsimtrico (SMP)Acceso no uniforme a memoria (NUMA)ClustersSon la alternativa a los SMP. Prestaciones y disponibilidad elevadas.Aplicaciones propias de un servidor.Un grupo de computadores completos interconectados que trabajan conjuntamente como un nico recurso de cmputo, crendose la ilusin de que se trata de una sla mquina.Cada computador se denomina nodo.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 85Beneficios del clusterEscalabilidad absoluta.Escalabilidad incremental.Alta disponibilidad.Mejor relacin precio/prestaciones.Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 86Configuraciones de clusters: servidor sin disco compartidoEnlace de alta velocidad para mensajesE/SE/S E/SE/SProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 87Configuraciones de clusters: disco compartidoE/SE/S E/SE/SEnlace de alta velocidad para mensajesE/S E/SProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 88Paralelizacin Una sola aplicacin se ejecuta en paralelo en un nmero de mquinas en cluster Compilador Determina en tiempo de compilacin que partes se pueden ejecutar en paralelo Separa cdigo para diferentes equipos Aplicacin Son escritas desde cero para aprovechar paralelismo Uso de mensajes para mover datos entre los nodos Difciles de programar Mejor resultado finalProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 89Arquitectura de Computadora en ClusterProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 90Cluster MiddlewareImagen unificada al usuario Imagen de sistema niconico punto de entradanica Jerarqua de archivosnico punto de controlRed virtual nicaEspacio de nico de memoriaSistema de gestin niconica interfaz de usuarionica de espacio de E/SProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 91Servidores Blade Una aplicacin comn de Cluster Servidor de mltiples servidores (Blade) en el mismo chasis Ahorro de espacio Mejorar la gestin del sistema Chasis proporciona la fuente de alimentacin Cada Blade tiene procesador, memoria, discoProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 92Ejemplo de Configuracin para Servidor Blade MasivoProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 93Cluster vs SMP Ambos ofrecen soporte multiprocesador para las aplicaciones de alta demanda. Ambos disponibles en el mercado SMP durante ms tiempo SMP: Ms fcil de administrar y controlar Ms cerca de los sistemas de procesador nico La programacin es la diferencia principal Menos espacio fsico Menor consumo de energa Clustering: Superior escalabilidad incremental y absoluta Superior disponibilidad RedundanciaProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 94COMPUTADORAS MULTICOREProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 95Organizaciones AlternativasProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 96SuperscalarMulti-hilos Simultneos(Simultaneous multithreading, SMT)MulticoreOrganizacin de MulticoreNmero de procesadores de ncleo en el chipNmero de niveles de cach en el chipCantidad de memoria cach compartidaProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 97Alternativa de OrganizacinProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 98Cach L1 dedicadaCach L3 compartidoCach L2 compartidaCach L2 dedicadaVentajas del cach L2 CompartidoDatos compartidos por mltiples ncleos no se replican a nivel de cachCon buen marco de algoritmos de reemplazo significa la cantidad de memoria cach compartida dedicada a cada ncleo es dinmica Hilos con menos localidad puede tener ms cachFcil la comunicacin entre procesos a travs de memoria compartidaCoherencia de cach limitada a L1Cach dedicado L2 le da a cada ncleo un acceso ms rpidoCach compartida L3 tambin puede mejorar el rendimientoProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 99Arquitectura CoreIntel Core Duo usa ncleos superescalaresIntel Core i7 usa multi-hilos simultaneous (SMT) Se ampla hasta el nmero de hilos de apoyo 4 ncleos SMT, cada uno soportando cuatro hilos aparece como 16 ncleosProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 100Intel Core Duovs Core i&Procesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 101Organizacin Intel x86 Multicore -Core Duo (1)2006Dos superescalar x86, cach L2 compartidaL1 cache dedicado por ncleo 32 KB de instrucciones y datos de 32 KBUnidad de control trmico por ncleo Gestiona la disipacin de calor de chips Maximizar el rendimiento dentro de las limitacionesmejora de la ergonomaProgramable avanzada de interrupciones controladas (APIC) Proceso entre las interrupciones entre los ncleos Rutas interrumpe al ncleo apropiado Incluye temporizador para OS puede interrumpir el ncleoProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 102Organizacin Intel x86 Multicore -Core Duo (2)Gestin de Potencia Supervisa las condiciones trmicas y de actividad de la CPU Ajusta el consumo de voltaje y potencia Puede cambiar la lgica de los subsistemas individuales2 MB de cach L2 compartida Asignacin dinmica Soporte MESI a cachs L1 Extendido para soportar mltiples Core Duo en SMP Datos L2 compartido entre los ncleos locales o externosInterfaz de busProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 103Organizacin Intel x86 Multicore -Core i7Noviembre 2008Cuatro procesadores x86 SMTDedicado L2, cach L3 compartidaCache con Pre-bsqueda EspeculativaChip contiene controlador de memoria DDR3 Tres canales de 8 bytes (192 bits) que da 32 GB/s No hay bus frontalQuickPath de interconexin Memoria cach coherente de punto a punto de enlace Comunicaciones de alta velocidad entre chips de procesadores 6,4 g transferencias por segundo, 16 bits por transferencia Pares dedicado bidireccional Total de ancho de banda de 25,6 GB/sProcesadores Segmentados y Vectoriales Ingeniera Electrnica - MC2 104Ingeniera Electrnica MC2