William Stallings Organización y Arquitectura de Computadores

Slides:



Advertisements
Presentaciones similares
Definición En un sistema de base de datos distribuida, los datos se almacenan en varios computadores. Los computadores de un sistema distribuido se comunican.
Advertisements

Arquitectura de Sistema de E/S
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
II. ARQUITECTURAS PARALELAS
Paralelismo en Sistemas
Multiprocesadores 3.1 Dominios de aplicación
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Carlos Rojas Kramer Universidad Cristóbal Colón
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Término que se le da al conjunto de equipos de cómputo que se encuentran conectados entre si por medio de dispositivos físicos que envían y reciben -
Fecha: 11/09/13.  Todos los sistemas distribuidos constan de varias CPU, organizadas de diversas formas.  La forma de interconectarlas entre sí. 
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Universidad Centroamericana
Sistemas Distribuidos y Paralelos
PROCESAMIENTO PARALELO.  Organización lógica ◦ Visión que tiene el programados  Capacidad de expresar tareas paralelas (Estructura de control)  Método.
Universidad de SonoraArquitectura de Computadoras1 PROGRAMA CION PARALELA Y DISTRIBUIDA PRESENTA: JESUS BECERRIL PACHECO MODELOS DE ACCESO A LA MEMORIA.
Centralizados y Distribuidos
Conceptos generales: Concurrencia: Existencia simultánea de varios procesos en ejecución. IMPORTANTE: EXISTENCIA SIMULTÁNEA NO IMPLICA EJECUCIÓN SIMULTÁNEA.
Unidad III Administración de procesos
Ing. Karen Torrealba de Oblitas
Procesamiento paralelo
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
Tipos de topologia Redes (topología) Vimer Huaman Comun alumno:
SISTEMAS OPERATIVOS →¿Qué es un sistema operativo?
Desarrollo de aplicaciones para ambientes distribuidos
TEMA 2: Organización de computadores
Organización de Computadoras
Una computadora MIMD intrínseca implica interacciones entre n procesadores debido a que todos los flujos de memoria se derivan del mismo espacio de datos.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández TAXONOMÍA DE FLYNN.
14 de diciembre de 2005 Universidad de Murcia1 Modelos de computadores paralelos Domingo Giménez Departamento de Informática y Sistemas Universidad de.
Arquitecturas Paralelas
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
Telecomunicaciones y Trabajo Distribuido. Sistema Distribuido Recursos Servidor Red Servidor Nodo ANodo C Nodo B.
ARQUITECTURAS PARALELAS
“Organización y Arquitectura de Computadores” William Stallings
Sistemas Distribuidos
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Tema 5: Multiprocesadores
Escuela Normal “Profr. Darío Rodríguez Cruz”
Universidad Politécnica de Tulancingo Catedrático Ing. Jorge Luis Neri Trejo Asignatura Ing. De Hardware III Tema Procesamiento Paralelo Presenta Verónica.
Departamento de Informática Universidad de Rancagua
Estructura de los Sistemas Operativos
Protocolos de Sondeo SNOOPY
ARQUICTECTURA DE SERVIDORES
INTEGRANTES: ONEIDA OSORIO VILLA, JUAN CAMILO SÁNCHEZ BAENA, JOANNA SÁNCHEZ, LUISA VILLA, JIMMY MORALES, BRIAM ZAMBRANO.
Bases de Datos II BASES DE DATOS DISTRIBUIDAS
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
* UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNIC IONES ADMINISTRACION DE SERVIDORES «ARQUITECTURA DE COMPUTADORAS»
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
BASE DE DATOS DISTRIBUIDAS
DISCOS RAID (Redundant Array of Independent Disks)
UNIDAD I INTRODUCCION A LOS S.O.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
SISTEMAS OPERTIVOS DE RED Los usuarios están conectados a la red y que pueden compartir recursos. Cada equipo ejecuta con sus propios recursos su propio.
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
Sistemas operativos.
Conociendo el modelo Cliente-Servidor
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
Pontificia Universidad Católica de Chile
Gestión de Memoria – Parte 2
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
Apuntes preparados por Néstor González Valenzuela slide 1 Arquitecturas de Sistemas Distribuidos y Paralelos.
Transcripción de la presentación:

William Stallings Organización y Arquitectura de Computadores Capítulo 16 Procesamiento paralelo

Organizaciones Con Varios Procesadores SISD: una secuencia de instrucciones y una secuencia de datos. SIMD: una secuencia de instrucciones y múltiples secuencias de datos. MISD: múltiples secuencias de instrucciones y una secuencia de datos. MIMD: múltiples secuencias de instrucciones y múltiples secuencias de datos.

Una secuencia de instrucciones y una secuencia de datos (SISD) Un único procesador interpreta una única secuencia de instrucciones. Datos almacenados en una única memoria. Computadores monoprocesador.

Una secuencia de instrucciones y múltiples secuencias de datos (SIMD) Una única instrucción máquina controla paso a paso la ejecución simultánea de un cierto número de elementos de proceso. Cada elemento de proceso tiene una memoria asociada. Cada instrucción es ejecutada por cada procesador, con un conjunto de datos diferentes. Procesadores vectoriales y matriciales.

Múltiples secuencias de instrucciones y una secuencia de datos (MISD) Se transmite una secuencia de datos a un conjunto de procesadores. Cada procesador ejecuta una secuencia de instrucciones diferente. Esta estructura nunca ha sido implementada.

Múltiples secuencias de instrucciones y múltiples secuencias de datos (MIMD) Un conjunto de procesadores ejecuta simultáneamente secuencias de instrucciones diferentes. Conjuntos de datos diferentes. Los SMP, los “clusters”, y los sistemas NUMA son ejemplos de esta categoría.

Taxonomía de las arquitecturas paralelas Organizaciones de computadores Una secuencia de instrucción, múltiples secuencias de datos (SIMD) Múltiples secuencias de instrucción, múltiples secuencias de datos (MIMD) Una secuencia de instrucción, una secuencia de datos (SISD) Múltiples secuencias de instrucción, una secuencia de datos (MISD) Monoprocesadores Procesadores vectoriales Procesadores matriciales Memoria compartida (fuertemente acoplada) Memoria distribuida (débilmente acoplada) Clusters Multiprocesador simétrico (SMP) Acceso no uniforme a memoria (NUMA)

Organización MIMD Son 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, además, según la forma que tienen los procesadores para comunicarse.

SMP (fuertemente acoplado) (Symmetric MultiProcessor) Varios procesadores comparten una única memoria. Los procesadores se comunican unos con otros a través de esa memoria compartida. Características del multiprocesador simétrico (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.

NUMA (fuertemente acoplado) (NonUniform Memory Access) Acceso no uniforme a memoria. El tiempo de acceso a zonas de memoria diferentes puede diferir en un computador NUMA.

Clusters (débilmente acoplados) Un conjunto de computadores monoprocesador independientes, o de SMP, pueden interconectarse para formar un “cluster”. La comunicación entre los computadores se realiza mediante conexiones fijas o mediante algún tipo de red.

Multiprocesadores simétricos Un SMP es un computador autónomo con las siguientes características: Hay dos o más procesadores similares de capacidades comparables. Estos procesadores comparten la memoria principal y las E/S. Están interconectados mediante un bus u otro tipo de sistema de interconexión. El tiempo de acceso a memoria es aproximadamente el mismo para todos los procesadores. Todos los procesadores comparten los dispositivos de E/S, bien a través de los mismos canales, o bien mediante canales distintos que proporcionan caminos de acceso al mismo dispositivo. Todos los procesadores pueden desempeñar las mismas funciones (de ahí el término simétrico). El sistema está controlado por un sistema operativo integrado, que proporciona la interacción entre los procesadores y sus programas en los niveles de trabajo, tarea, archivo y datos.

Ventajas de un SMP Prestaciones: Disponibilidad: 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, añadiendo más procesadores. Escalado: Los fabricantes pueden ofrecer una gama de productos con precios y prestaciones diferentes, en función del número de procesadores que configuran el sistema.

Diagrama de bloques genérico de un multiprocesador fuertemente acoplado Red de interconexión E/S E/S E/S Memoria principal

Organización de los multiprocesadores simétricos Bus de tiempo compartido o común. Memoria multipuerto. Unidad de control central.

Bus de tiempo compartido Es el mecanismo más simple. La estructura y las interfaces son básicamente las mismas que las de un sistema de un único procesador. Se proporcionan los siguientes elementos para el: Direccionamiento: distinción de los módulos del bus (origen y destino) Arbitraje: cualquier módulo puede funcionar temporalmente como maestro. Tiempo compartido: cuando un módulo está controlando el bus, los otros módulos tienen que esperar y, si es necesario, suspender su operación. Existen varios procesadores, además de varios módulos de E/S.

Ventajas del bus de tiempo compartido Simplicidad. Flexibilidad. Fiabilidad.

Desventajas del bus de tiempo compartido La prestación está limitada por el tiempo de ciclo del bus. Cada procesador debería estar equipado con una memoria cache para mejorar las prestaciones: Se reduciría el número de accesos. Se pueden producir problemas de coherencia de cache: Este problema es resuelto por el hardware

Memoria multipuerto Permite el acceso directo e independiente a los módulos de memoria desde cada uno de los procesadores. Se necesita una cierta lógica para resolver los conflictos. Se necesitan pocas o ninguna modificación en los procesadores o en los módulos.

M1 M2 Mk P1 E/S 1 Pn E/S m Memorias multipuerto

Ventajas y desventajas de la memoria multipuerto Más compleja: Se precisa añadir al sistema de memoria una buena cantidad de lógica. Se consiguen mejores prestaciones. Cada procesador tiene un camino dedicado a cada módulo de memoria. Permite configurar partes de la memoria como privadas para uno o más procesadores: Incremento de la seguridad. Se debe utilizar una estrategia de escritura directa para controlar la cache.

Unidad de control central Encauza las distintas secuencias de datos entre los distintos módulos independientes. Puede almacenar temporalmente peticiones. Puede realizar las funciones de arbitraje y temporización. 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. Ejemplo: mainframe tipo S/370 de IBM.

Puntos clave de diseño de un sistema operativo Procesos concurrentes simultáneos. Planificación. Sincronización. Gestión de memoria. Fiabilidad y tolerancia ante los fallos.

Soluciones software El compilador y el sistema operativo se encargan del problema de la necesidad de circuitería y lógica hardware adicional. La sobrecarga se transfiere para compilar el tiempo. La complejidad del diseño se transfiere desde el hardware al software. Por otra parte, el software tiende a tomar ciertas decisiones conservadoras: Utilización ineficiente de la cache. Analizan el código para determinar periodos seguros para las variables compartidas.

Soluciones hardware Generalmente se denominan “protocolos de coherencia de cache”. Permiten reconocer dinámicamente, en el momento de la ejecución, problemas potenciales. Permiten un uso más efectivo de las caches. Aproximaciones transparentes para el programador. Protocolos de directorio. Protocolos de sondeo.

Protocolos de directorio Recogen y mantienen la información acerca de las copias de las líneas en la cache. El directorio se almacena en la memoria principal. Las peticiones se comprueban comparándose con el directorio. Se ejecutan las transferencias apropiadas. Los esquemas de directorio tienen un cuello de botella central. Son efectivos en sistemas a gran escala que poseen esquemas complejos de interconexión.

Protocolos de sondeo snoopy protocols Distribuyen la responsabilidad de mantener la coherencia de cache entre todos los controladores de cache. Una cache reconoce cuándo una línea está compartida con otras caches. Las actualizaciones se anuncian a otras caches. Se adaptan bien a multiprocesadores basados en un bus. Incremento en el tráfico del bus.

Invalidar-si-escritura Múltiples procesadores que leen, pero uno sólo que escribe. Cuando se quiere hacer una escritura, se invalidan las otras caches de la línea. El procesador que escribe tiene acceso exclusivo hasta que la línea sea requerida por otro procesador. Se utiliza en los sistemas Pentium II y Power PC. El estado de cada línea se marca como modificado, exclusivo, compartido, o no válido. El protocolo de invalidar-si-escritura se llama MESI.

Actualizar-si-escritura Varios procesadores que escriben y leen. La palabra actualizada se distribuye a todos los procesadores. Algunos sistemas implementan un sistema adaptativo con características de ambas soluciones.

Diagrama de transición de estados MESI No válido Compar- tido No válido Compar- tido Modifi- cado Exclu- sivo Modifi- cado Exclu- sivo (a) Línea en el procesador que inicia la transferencia (a) Línea en una cache sondeando el bus Acierto de lectura Fallo de lectura, compartida Fallo de lectura, exclusiva Acierto de escritura Fallo de escritura Acierto de sondeo en lectura Acierto de sondeo en escritura o lectura-para-modificación Escribir en memoria la línea de cache modificada Invalidar transacción Lectura-para-modificación (RWITM) Cargar línea de cache

“Clusters” Son 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 cómputo, creándose la ilusión de que se trata de una sóla máquina. Cada computador se denomina “nodo”.

Beneficios del “cluster” Escalabilidad absoluta. Escalabilidad incremental. Alta disponibilidad. Mejor relación precio/prestaciones.

Configuraciones de “clusters”: servidor sin disco compartido Enlace de alta velocidad para mensajes E/S E/S

Configuraciones de “clusters”: disco compartido Enlace de alta velocidad para mensajes E/S E/S E/S E/S E/S E/S