MULTIPROCESADORES REPÚBLICA BOLIVARIANA DE VENEZUELA

Slides:



Advertisements
Presentaciones similares
Multiprocesadores 3.1 Dominios de aplicación
Advertisements

UCAB / USB / UCV Prof. Wílmer PereiraJOINCIC 2012 Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids Prof. Wílmer Pereira.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
Tema 5: Multiprocesadores
La tarjeta madre.
COMPUTACION PARALELA GLORIA PATRICIA FLOREZ ANGIE PAOLA ANCHICO.
FACULTAD DE INGENIERIA ELECTRICA LABORATORIO DE HERRAMIENTAS COMPUTACIONALES JOSE RAFAEL RODRIGUEZ OCHOA
César Gómez Martín Supercomputación “El alma está en el cerebro”
OPENMOSIX Camilo Ruiz Méndez Francisco J. Palacios Burgos.
¿Que es PHP? PHP Hypertext Preprocessor Y solo porque me quiero hacer el profesor cool y meter un chiste: PHP también significa: Para Hacer Páginas.
UNIVERSIDAD FERMIN TORO CABUDARE ENSAYO TIPOS DE SOFTWARE E IMPORTANCIA JUNIO 2014.
INTRODUCCION A LOS SISTEMAS DE COMPUTO ARQUITECTURA VON NEUMAN Ing. David Gonzalez.
ALUMNO: NORMA DOLORES ILLESCAS CANALIZO. GRUPO:503 CECYTEM TEPOTZOTLAN. Procesador de un servidor.
Sistemas operativos Linux
“Alternativa para procesamiento de datos oceanográficos que requieren gran capacidad de cómputo, por medio de programación en paralelo con el programa.
BOARD O TARJETA MADRE. EXPOSICION DE INFORMATICA TEMA 1: BOARD TIPOS DE PROCESADOR BUS PUERTOS MEMORIA NUEVAS TECNOLOGIAS.
Organización de computadoras
AUTORES: INGENERIA EN COMPUTACION PROF.: IVAN PEREZ MARZO, 2017.
Conmutación de Ethernet
Procesos Concurrentes
TIPOS DE BUSES Y MEDIOS DE TRANSMISION DE DATOS
SISTEMAS OPERATIVOS PARALELOS Y MULTIPROCESADORES RICHARD GIOVANI MEDINA ESTEBA.
Sistemas Distribuidos
UNIDAD CENTRAL DE PROCESO CPU.
Computadora La computadora es una máquina capaz de realizar y controlar a gran velocidad cálculos y procesos complicados que requieren una toma rápida.
ADMINISTRACíON DE LA MEMORIA EN SISTEMAS RECIENTES
Clusters.
EL Procesador. República bolivariana de Venezuela.
BUS I2C Ing. Mecatronica. Para simplificar la interconexión de dispositivos al microprocesador, Philips desarrolló un sencillo bus bidireccional basado.
Presentamos.
Computación Curso 2017.
Definición de un Sistema Distribuido
REDES DE ORDENADORES Miguel Cantador. R ED DE ÁREA PERSONAL (PAN) Es una red de computadoras para comunicarse entre distintos dispositivos cercanos al.
PROVEEDOR DATA WAREHOUSE TERADATA
ORGANIZACIÓN Y ADMINISTRACIÓN DE LA MEMORIA VIRTUAL
QUE ES EL SOFTWARE Es un conjunto de programas de computo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones.
Almacenamiento El computador tiene 2 aspectos
DISPOSITIVOS DE E/S IU Colegio Mayor del Cauca Sistemas operativos Popayán, mayo de 2015.
SISTEMAS OPERATIVOS APRENDICES Diana Carolina Chacón
TIC TECNOLOGIAS DE LA INFORMACION Y LA COMUNICACION
SISTEMAS OPERATIVOS DISTRIBUIDOS. Es la unión de varios sistemas de computo compuestos posiblemente cada uno de varios CPU's, interconectados mediante.
IV Jornada de Coordinación del SIC
INGENIERÍA INFORMÁTICA Y DE SISTEMAS Docente: Mg Ing. Jesús Ocaña Velásquez ARQUITECTURA DEL COMPUTADOR.
SISTEMAS OPERATIVOS. El sistema operativo es un conjunto de programas que: ■Inicializa el hardware del ordenador. ■Suministra rutinas básicas para controlar.
Diego Felipe Morales Cerón
ARQUITECTURA DEL COMPUTADOR Ing. Diana E. López.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS.
COMPONENTES FISICOS INTERNOS DEL CPU
Tema: Componentes lógicos de un ordenador. Mediante el sistema de numeración binario, es decir, usando los dígitos 0 y 1. Lo único que transmite,
Procesadores El procesador es el elemento vital del PC.
1 TEMA 2: Organización de computadores Procesadores Memorias Dispositivos de E/S.
Balance de Carga Adaptable bajo Cómputo Paralelo en Clusters
M2-TECNOLOGIA Y TELECOMUNICACIONES NOMBRE: ÓSCAR ALIAS RUIZ VARGAS CARRERA: MECÁNICA AUTOMOTRIZ PAGINA 17.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Arquitectura de sistemas distribuidos Presentado por: Emmanuel García Mat
Características de los Sistemas Operativos
1 TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño.
Gestión del sistema de entrada / salida
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS CHACALIAZA BOZA MARGARET AMARLLY.
UNIVERSIDAD PRIVADA SAN JUAN BAUTISTA FILIAL CHINCHA ESCUELA PROFESIONAL DE INGENIERÍA DE COMPUTACIÓN Y SISTEMAS Por: Nestares Torres Luis Jesús Enrique.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS CHACALIAZA BOZA MARGARET AMARLLY.
ESTRUCTURA DE LO SISTEMAS OPERATIVOS Presentado por: Jennifer.
Ha llegado el momento de dar una mirada al interior de los Sistemas Operativos. En las siguientes secciones examinaremos cuatro estructuras distintas.
Estructura de los Sistemas Operativos
SISTEMAS OPERATIVOS Estudiante: Rojas De la Cruz Jesus Manuel. Ciclo: VI. Turno: Noche.
公司 徽标 Gestión De Entrada Y Salida. Introducción Unaspectoconfusoenlossistemas operativos es la E/S, debido a la amplia variedad de dispositivos, resulta.
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
Transcripción de la presentación:

MULTIPROCESADORES REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERÍA CARVAJAL - ESTADO TRUJILLO MULTIPROCESADORES Autores: Edgar Tarascio Oscar Silvera Emelin Olmos. Carvajal, 2016

MOTIVACIÓN La demanda de poder de computo impulsó inicialmente a procesadores más rápidos y pequeños La demanda de poder de computo impulsó inicialmente a procesadores más rápidos y pequeños PROCESOS PESADOS CON FORK (UNIX) El proceso inicial (padre) se clona El proceso producto (hijo) se ejecuta Al terminar el hijo le reporta al padre PROCESOS LIVIANOS CON HILOS (JAVA O C) Los hilos nacen del hilo principal Los hilos hijos ven datos del padre Si el padre termina, desaparecen sus hijos

PROCESOS PESADOS CON FORK (UNIX)

PROCESOS LIVIANOS CON HILOS (JAVA O C)

PARALELISMO REAL ... Una segunda solución es aprovechar la enorme capacidad del hardware para tener máquinas con múltiples procesadores … es decir, gran cantidad de CPU’s en un mismo computador o CPU’s relativamente próximos Múltiples procesadores en el mismo integrado o muy cercanos MULTINÚCLEO Y MULTIPROCESADOR Múltiples procesadores en una misma red local sin compartir RAM MULTICOMPUTADOR O CLUSTER Múltiples procesadores distribuidos en Internet Grid

MODELOS DE PARALELISMO Límite de CUP´s 80/1000 300.000 No acotado Tiempos Nano Segs Micro Segs Mili Segs SOP's Homogéneos Homogéneos Heterogéneos Heterogéneos Heterogéneos

LIMITACIONES DEL PARALELISMO La capacidad de miniaturización, ley de Moore (fundador de INTEL) sólo se espera que se mantenga por una década o algo más ... Los tiempo de reloj son del orden de los Ghz y estamos cercanos a los Thz ... sin embargo ... miniaturizar y acelerar disipa demasiado calor : En un primer momento se logra mayores prestaciones con el paralelismo ...pero … la ley de Amdalh dice: La ganancia en tiempo, para máquinas paralelas, es cada vez menor a medida que se aumenta la cantidad de procesadores dado un número de procesos constante. El cuello de botella está básicamente en el bus interno de comunicación y en la memoria a compartir pues los procesos deben sincronizarse

AFORTUNADAMENTE PARA EL PARALELISMO APLICACIONES DEL PARALELISMO ... Más reciente Gustafson y Barsis aseguran que la ley de Amdalh deja de ser válida cuando el tamaño del problema escala con el número de procesadores. Esto no ha podido aún se corroborado experimentalmente debido a limitaciones tecnológicos y logísticas APLICACIONES DEL PARALELISMO ... Predicción de clima Simulación de la economía mundial Resolución de problemas con inteligencia artificial ...

INTEGRADOS MULTINUCLEOS La capacidad de miniaturización de transistores continúa y se está aprovechando para montar CPU´s dentro de la misma pastilla … Se ha logrado hasta 80 núcleos por integrado y pronto los cientos No difieren de las máquinas multiprocesadores basadas en bus o conmutadores y además pueden compartir más componentes, por ejemplo; el cache Se pueden programar con hilos y la sincronización depende del SO. PROBLEMAS ... Sin embargo un fallo de hardware puede afectar a todos los CPU´s Por otro lado la arquitectura ofrece más de lo que los programadores son capaces de hacer …

La solución es bloquear el bus ... SOP´S EN MULTINUCLEOS Cada CPU con SOP independiente pero … no comparten procesos y los caches pueden tener datos incoherentes entre ellos Multiprocesadores maestro-esclavos donde el maestro ejecuta el SOP. El problema es que el maestro es un cuello de botella. Multiprocesadores simétricos (una copia del SOP en memoria). Sin embargo el SOP es una gran región crítica, habría que dividir el SOP en trozos independientes … el problema es escribir un SO así ... El manejo de regiones críticas con semáforos no funciona en términos generales pues dos CPU pueden tomar el semáforo al mismo tiempo y acceder simultáneamente a la región crítica La solución es bloquear el bus ...

HARDWARE DE MULTIPROCESADORES Arquitectura de acceso uniforme a la memoria (UMA) Es inmanejable con muchos CPU´s (bus muy ocupado) aunque se solventa parcialmente usando memoria cache y memoria privada Arquitectura de acceso no uniforme a la memoria (NUMA) No todos los módulos tienen la misma velocidad de acceso pues la memoria remota es más lenta que la memoria local.

MULTICOMPUTADORAS (CLUSTERS) Inicialmente un PC maestro con ratón, teclado y monitor. El resto de los PC con al menos una tarjeta de red de alta velocidad y RAM propia (sin periféricos de interacción). Se conjugan multinúcleos con los clúster ... Puede haber hasta una tarjeta de red para el usuario y otra para el kernel Los lenguajes de programación son particulares: MPI y PVM

SOFTWARE EN CLUSTERS ... El SOP debe proveer al usuario la sensación de interactuar con un único computador Deben disponer de un middleware para administrar los procesos Migración de procesos Balanceo de cargas Tolerancia a fallos Gestor de colas para administrar procesos vs recursos

USOS Y EJEMPLOS DE CLUSTERS Alto rendimiento Alta disponibilidad Balanceo de carga Escalabilidad Beowulf (se contruye con máquinas en desuso) Berkeley NOW (105 SUN Ultra 107 con Myrinet) Cluster PS2 (Universidad de Illinois con cónsolas de Play Station 2) Cluster X (2200 procesadores Apple G5 con Infiniband y Giga Ethernet)

MULTICOMPUTADORAS USB CLUSTER MIRANDA: 228 nodos en su mayoría multinúcleos. Dos tarjetas de red por cada nodo Infiniband para aplicaciones de usuario (MPI) Giga Ethernet para servicios CLUSTER ALMA MATER: 8 máquinas con procesadores dualCore y HP Unidas a través de Giga Ethernet MULTICOMPUTADORAS CLUSTER CIDI: 98 máquinas a dos procesadores (no multinúcleos) Conectados con Myrinet CLUSTER INGENIERÍA: Alrededor de 80 nodos Alta disponibilidad

MULTIPROCESADORES ESTILO VON NEUMANN COMPUTADOR VON NEUMANN MEMORIA E/S PROCESADOR

MULTIPROCESADORES ESTILO VON NEUMANN MUTIPROCESADOR VON NEUMANN MEMORIA E/S Pn P2 P1

OBJETIVOS DE UN MULTIPROCESADOR Acelerar la ejecución de aplicaciones (orientados aspeed-up).- SUPERCOMPUTACION. Ejecutar más aplicaciones por unidad de tiempo (orientados al throughput).

… MODELOS DE ORGANIZACION Memoria Red de Conexión Multiprocesadores con Memoria Compartida Memoria Red de Conexión … P1 P2 Pn

… MODELOS DE ORGANIZACION Memoria Multiprocesadores con Memoria Compartida Memoria Bus Común … P1 P2 Pn Problema La red de interconexión representa un cuello de botella que impide que esta organización sea escalable.

… … MODELOS DE ORGANIZACION Red de Conexión Multiprocesadores con Memoria Distribuida … M1 M2 Mn … P1 P2 Pn Red de Conexión La red de interconexión permite a cualquier procesador comunicarse con cualquiera de los procesadores del sistema. TÉRMINOS EQUIVALENTES Multiprocesador con Memoria Local Multiprocesador Débilmente Acoplado Multicomputador

MODELOS DE ORGANIZACION Multiprocesadores con Memoria Distribuida M M M M P P P P La organización puede ser escalable en la medida en que los programas realicen comunicaciones locales.

CLASIFICACION DE MULTIPROCESADORES ORGANIZACION Programación Variables Compartidas Paso de Mensajes SMP (Symmetric Multiprocessors) Combinación natural Poco escalable Fácil de programar ? Programación difícil DSM (Distributed Shared Memory) Programación fácil Escalable Implementación difícil Multicomputer Memoria Compartida Memoria Distribuida

¿POR QUÉ SISTEMAS MULTIPROCESADORES? Está ampliamente aceptado que los sistemas multiprocesadores (en particular, los de memoria distribuida) representan uno de los caminos más razonables para seguir aumentando la potencia de cálculo de los computadores PROBLEMAS Y RETOS Hardware Buscar organizaciones del sistema que permitan al software obtener una fracción significativa de la velocidad máxima del sistema.

PROBLEMAS Y RETOS 2) Aplicaciones y Algoritmos Identificar aplicaciones críticas que pueden beneficiarse del uso de los sistemas multiprocesadores. Encontrar algoritmos paralelos eficientes para resolver los núcleos computacionales más habituales. 3) Herramientas Desarrollar herramientas (modelos de programación, compiladores, depuradores, monitorizadores de rendimiento, entre otros) que faciliten el uso del sistema.

COMUNICACIÓN EN MULTIPROCESADORES VENTAJAS DE LA MEMORIA COMPARTIDA a) Si la memoria es compartida: Si es centralizada; todos los accesos se hacen a través del bus, y tardan más o menos lo mismo. UMA (Uniform Memory Acces) VENTAJAS DE LA MEMORIA COMPARTIDA Esta más estudiada Sencillez de programación Poco recargo de comunicación, mejor aprovechamiento del ancho de banda en datos pequeños Posibilidad de usar caches (mejor tiempo de acceso y menor flujo de datos en la red)

VENTAJAS DE LA MEMORIA PRIVADA b) Si la memoria es privada: Como los mapas de memoria son solo locales, la comunicación es por medio de paso de mensajes Si la memoria es privada: los accesos se realizan a la memoria local o a memoria remota, según el dato. Los accesos remotos tardan más que los locales VENTAJAS DE LA MEMORIA PRIVADA Sencillez del hardware b) La comunicación es explicita (no es transparente) se ve claro lo que cuesta tiempo y lo que no

ARQUITECTURAS CENTRALIZADAS DE MEMORIA COMPARTIDA Son máquinas que constan de varios procesadores (típicamente un número pequeño) b) Como son pocos, la comunicación a través de un bus es económica y eficiente c) Cada procesador puede tener una memoria cache para reducir la cantidad de datos que viajan por el bus d) La comunicación entre procesadores es a través de variables compartidas y zonas de memoria comunes e) Coherencia de cache en memoria centralizada

EL PROBLEMA DE LA COHERENCIA Los procesadores del sistema guardan en caches los datos con los que trabajan LOS DATOS SE DIVIDEN EN: a) Privados; solo los necesita un procesador b) Compartidos; los necesitan varios procesadores. Los datos compartidos son, por lo tanto, utilizados por varios procesadores c) El problema que surge cuando un procesador modifica datos que otros tienen en sus caches

EJEMPLO: El dato X (valor inicial 0) es compartido El procesador A carga el dato X (0) en su cache El procesador B carga el dato X (0) en su cache El procesador A modifica el dato X (toma el valor 1) El procesador B lee el dato X (0, valor que había cargado en su cache) El problema de utilizar caches es que los datos pueden no ser coherentes (tener el mismo valor en todas las caches) En un sistema de memoria centralizada, se suele usar la técnica de “snooping” o (fisgonear). Las caches observan las transmisiones que se realizan en el bus, para saber cuándo alguna de las otras cargue una línea que tienen ellas En el caso de que una de las caches que tiene una copia de una línea compartida la modifique, es necesario que el resto se entere (porque sus versiones se han quedado anticuadas)

EXISTEN DOS MANERAS DE NOTIFICAR LAS MODIFICACIONES EN LAS LÍNEAS Protocolo de invalidación por escritura (write invalidete protocol) b) Cuando un procesador realiza una escritura en una línea, esta acción invalida las copias de esa línea en la otra caches c)Protocolo de actualización en escritura (write update protocol o write broadcast protocol) d) Cuando un procesador realiza una escritura en una línea, envía la nueva versión a las otras caches

DIFERENCIA ENTRE AMBAS OPCIONES a) Modificaciones sucesivas de un dato provocan el correspondiente envió de líneas a través del bus si se usa el protocolo de actualización. Si no hay lecturas entre medias, el protocolo de invalidación no supone tráfico adicional b) Modificaciones de varios datos en una misma línea suponen otros tantos envíos con actualización, por una única recarga por invalidación c) La invalidación de una línea puede provocar retardos, ya que el fallo de lectura en la cache destino se detecta (por la invalidación) en el momento de realizar el acceso. Con actualización no se produce el fallo

COHERENCIA DE CACHE EN MEMORIA DISTRIBUIDA a) En una máquina de memoria distribuida un nodo no puede observar todas las transferencias entre los restantes nodos (en general, la topología de la red no se lo va a permitir) b) Por ello, si la memoria está distribuida se suele utilizar el protocolo de directorios. En este protocolo, existe una estructura de datos, el directorio, que contiene información sobre el estado de cada bloque. Esta estructura también puede estar distribuida

COHERENCIA DE CACHE EN MEMORIA DISTRIBUIDA El protocolo de directorios necesita que de cada bloque de memoria se tenga la siguiente información: a) Estado del bloque; si esta sin usar, usado por un único procesador, compartido entre varios, entre otros b) Procesador que tienen el bloque en su cache; para poderles avisar en caso de modificaciones o invalidaciones c) Como el tamaño del directorio puede llegar a ser muy grande, se suele encontrar distribuidos. Cada módulo de memoria tiene la información de los bloques que están ubicados en él d) Según la cantidad de información que se almacene en el directorio, existen tres tipos de protocolos de directorios: completos, limitados y encadenados

PROTOCOLO DE DIRECTORIOS COMPLETOS En este protocolo, cada módulo de memoria tiene el directorio de los bloques que contiene Para cada bloque, la entrada del directorio contiene: a) Un bit por cada procesador en el sistema b) Un bit de “sucio”, para escrituras Además, las caches tienen 2 bits por bloque: Uno para indicar si el bloque es válido. b) Otro para indicar si se puede escribir en él.

PROTOCOLO DE DIRECTORIOS COMPLETOS a) Cuando un procesador pide una copia del bloque, se le envía y se activa a su bit correspondiente b) Cuando un procesador pide una escritura al bloque, se borran los bits de los otros procesadores (y se les avisa) y se activa el bit de sucio c) El bit de sucio “da permiso” o no para realizar una escritura d) Con el bit de sucio activado, solo uno de los bits de los procesadores puede estar activado

PROTOCOLOS DE DIRECTORIOS LIMITADOS a) De nuevo, cada módulo tiene el directorio de sus bloques b) Pero ahora cada entrada no tiene un bit por cada procesador; solo pueden tener una copia de cada bloque un número limitado (p) de procesadores c) Para ello, cada entrada tiene para «p» identificadores d) Si llega una petición de lectura y todos los espacios están ocupados, se elimina uno (y se avisa al procesador). Es un mecanismo parecido al de una cache asociativa por conjuntos

PROTOCOLOS DE DIRECTORIOS ENCADENADOS a) En este esquema, la lista de los procesadores que tienen una copia de un bloque está distribuida entre las caches b) El módulo de memoria que posee el bloque tiene los datos y el inicio de la lista de punteros a procesadores c) Cada procesador que pide una copia del bloque recibe el puntero a la lista (en su estado actual) d) El módulo de memoria se queda con la dirección del procesador que pide el bloque (que es el nuevo inicio de la lista)

COMPARACIÓN DE LOS TRES PROTOCOLOS DE DIRECTORIOS a) El protocolo de directorio completo tiene toda la información centralizada, lo que hace eficiente su gestión b) Añadir o eliminar procesadores a la lista es activar o desactivar un bit c) Pero requiere espacio para todos los procesadores en cada una de las entradas (y la mayoría de los bits va a estar a «0» casi siempre) d) El protocolo limitado también tiene la información centralizada

COMPARACIÓN DE LOS TRES PROTOCOLOS DE DIRECTORIOS e) Añadir y eliminar procesadores a la lista es sencillo f) Puede haber dificultades si el número de espacios para identificadores es pequeño g) El protocolo de directorios encadenados tiene la información distribuida h) El espacio que ocupa la lista es proporcional al número de procesadores que tiene una copia del bloque i) Añadir y eliminar procesadores es un proceso largo

GRACIAS POR SU ATENCION