Multiprocesadores Eduardo Cruz Flores Diego Martinez Zavala Fernando

  • Slides: 12
Download presentation
Multiprocesadores Eduardo Cruz Flores Diego Martinez Zavala Fernando Vargas

Multiprocesadores Eduardo Cruz Flores Diego Martinez Zavala Fernando Vargas

¿QUE ES MULTIPROCESAMIENTO? Multiprocesamiento o multiproceso es el uso de dos o más procesadores

¿QUE ES MULTIPROCESAMIENTO? Multiprocesamiento o multiproceso es el uso de dos o más procesadores (CPU) en una computadora para la ejecución de uno o varios procesos (programas corriendo). También es conocido como multiprocesamiento simétrico.

MULTIPROCESADORES Los multiprocesadores son computadores que tienen memoria compartida y se pueden clasificar en

MULTIPROCESADORES Los multiprocesadores son computadores que tienen memoria compartida y se pueden clasificar en UMA (uniform memory access), NUMA (nonuniform memory access) y COMA (cache only memory access). Los nombres que reciben las arquitecturas multiprocesador UMA y NUMA tienen que ver con el tiempo de acceso a la memoria principal

CARACTERÍSTICAS 1) Tiene dos o más procesadores similares de capacidades comparables. 1) Los procesadores

CARACTERÍSTICAS 1) Tiene dos o más procesadores similares de capacidades comparables. 1) Los procesadores comparten la memoria principal y la E/S, y están interconectados mediante un bus u otro tipo de sistema de interconexión, de manera que el tiempo de acceso a memoria es aproximadamente el mismo para todos los procesadores. 2) Todos los procesadores comparten los dispositivos de E/S, pero pueden hacerlo bien a través de los mismos canales, o bien a través de otros caminos de acceso al mismo dispositivo. 3) Todos los procesadores pueden desempeñar las mismas funciones (de ahí el término simétrico). 4) El sistema está controlado por un sistema operativo que posibilita la interacción entre los procesadores y sus programas.

ORGANIZACIÓN

ORGANIZACIÓN

UMA (uniform memory access) En este tipo de arquitectura, como bien dice su nombre,

UMA (uniform memory access) En este tipo de arquitectura, como bien dice su nombre, todos los accesos a memoria tardan el mismo tiempo. Seguramente podemos pensar que es difícil que tengamos el mismo tiempo de acceso si la memoria, aunque compartida. Eso es cierto y, para conseguir esta uniformidad de acceso, se tiene que aumentar el tiempo de los accesos más rápidos. Los sistemas UMA facilitan la programación, ya que el tiempo de acceso siempre es el mismo. Este tipo de máquinas son fáciles de construir. Sin embargo, el hecho de que todos los procesadores accedan al mismo bus para acceder a memoria puede significar un cuello de botella. Una alternativa a tener un único bus sería tener varios buses.

NUMA (nonuniform memory access) En los multiprocesadores NUMA, a diferencia de los UMA, los

NUMA (nonuniform memory access) En los multiprocesadores NUMA, a diferencia de los UMA, los accesos a memoria pueden tener tiempos distintos. En estas máquinas la memoria también está compartida, pero los módulos de memoria están distribuidos entre los diferentes procesadores con el objetivo de reducir la contención de acceso a memoria. El módulo de memoria que está junto a un procesador en un mismo nodo recibe el nombre de memoria local a este procesador. Así, los accesos de un procesador a su memoria local suelen ser mucho más rápidos que los accesos a la memoria local de otro procesador (memoria remota).

COMA (cache only memory access) Las arquitecturas COMA son las arquitecturas cache only memory

COMA (cache only memory access) Las arquitecturas COMA son las arquitecturas cache only memory access tratan la memoria principal como una memoria caché grande. Las arquitecturas COMA (cache only memory access) intentan solucionar este problema haciendo que la memoria local de cada procesador se convierta en parte de una memoria caché grande. En este tipo de arquitecturas, las páginas de memoria desaparecen y todos los datos se tratan como líneas de caché.

MULTITAREA Permite a múltiples procesos compartir una única CPU, múltiples CPUs pueden ser utilizados

MULTITAREA Permite a múltiples procesos compartir una única CPU, múltiples CPUs pueden ser utilizados para ejecutar múltiples hilos dentro de un único proceso El sistema operativo es el encargado de administrar el/los procesador(es), repartiendo el tiempo de uso de este entre los procesos que esten esperando para utilizarlo.

MULTIHEBRA(MULTITHREADING) Es un estilo de ejecución que se conmuta entre distintas partes del código

MULTIHEBRA(MULTITHREADING) Es un estilo de ejecución que se conmuta entre distintas partes del código de un mismo programa durante la ejecución. Significa que un programa puede tener varias vías de ejecución que pueden ser independientes.

LOS MOTIVOS PARA USAR UN SISTEMA MULTIPROCESADOR SON VARIADOS, COMO SON LOS SIGUIENTES: –

LOS MOTIVOS PARA USAR UN SISTEMA MULTIPROCESADOR SON VARIADOS, COMO SON LOS SIGUIENTES: – RENDIMIENTO Y POTENCIA. AL EJECUTAR LOS PROGRAMAS DE FORMA PARALELA. – TOLERANCIA A FALLOS. LA REDUNDANCIA NATURAL DE UN SISTEMA MULTIPROCESADOR PERMITE TRANSFERIR UN PROCESO A OTROS PROCESADORES EN CASO DE FALLO. – FLEXIBILIDAD. LOS SISTEMAS MULTIPROCESADOR PUEDEN RECONFIGURAR DINÁMICAMENTE PARA ADAPTARSE A LAS CARGAS DE TRABAJO. – ESCALABILIDAD. SE PUEDEN AÑADIR NUEVOS MÓDULOS PARA INCREMENTAR LA POTENCIA DE CÁLCULO. – ESPECIALIZACIÓN FUNCIONAL. SE PUEDEN AGREGAR PROCESADORES DE DISEÑO ESPECÍFICO PARA DEDICARSE A UNA DETERMINADA TAREA.

EJEMPLOS - IBM 370: Para multiprogramación. - NEC SX-6, 8 Y 9: Servicio meteorológico,

EJEMPLOS - IBM 370: Para multiprogramación. - NEC SX-6, 8 Y 9: Servicio meteorológico, cálculos matemáticos ciencia espacial, simulaciones ambientales. - CRAY SV 1: Operaciones atómicas de registro-memoria.