Arquitecturas Multiprocesadores

Click here to load reader

  • date post

    08-Aug-2015
  • Category

    Documents

  • view

    281
  • download

    0

Embed Size (px)

description

Arquitecturas Multiprocesadores, Arquitecturas UMA vs. NUMA vs. NORMA, Enfoques de diseño de un S.O. De multiprocesamiento, Tendencias de los sistemas distribuidos de archivos

Transcript of Arquitecturas Multiprocesadores

Sistemas Operativos I

Arquitecturas Multiprocesadores Alto poder de cmputo (Sistemas de multiprocesamiento)

Sistema de multiprocesamiento Consisten de varios procesadores Estos a su vez comparten memoria fsica comn S.O.

Motivaciones de los sistema de multiprocesamiento Aseguramiento de la elevacin del desempeo Ejecucin concurrente por diferentes procesadores Puede dividir las tareas en subtareas y ejecutarlas en paralelo en diferentes procesadores Una graciosa degradacin del desempeo en las fallas de los procesadores.Unidad IV Administracin del procesador

La tolerancia a fallas

1

Sistemas Operativos I

Arquitecturas MultiprocesadoresArquitecturas de MultiprocesamientoClasificacin de FLYNN en MIMD (mltiples instrucciones de mltiples datos) Arquitecturas Sistema de multiprocesador total Flujos de de mltiples instrucciones

Sistema de Multiprocesador total Mltiples procesadores Estos ejecutan mltiples programas La memoria principal es normalmente compartida Las localidades de memoria pueden ser accesadas por un procesador o no

2

Unidad IV Administracin del procesador

Sistemas Operativos I

Arquitecturas MultiprocesadoresTipos de sistemas de multiprocesamiento Sistemas unidos duros Sistemas unidos frgiles Sistemas Unidos duros ( Tightly Coupled Systems) (Loosely Coupled Systems)

Los procesadores comparten el mismo espacio de direcciones de memoria

Todos los procesadores pueden directamente acceder a la memoria principalUtilizan la memoria para comunicacin y sincronizacin entre procesadores

Algunos ejemplos son :

3

Multimax de Encore CorporationFlex/32 de la Flexible Corporation FX de Sequence ComputersUnidad IV Administracin del procesador

Sistemas Operativos I

Arquitecturas MultiprocesadoresSistemas Unidos frgiles No solamente la memoria principal es particionada y asignada a los procesadores Cada procesador tiene su propio espacio de direcciones Un procesador no puede directamente accesar a la memoria asignada a otros procesadores

Utilizan el paso de mensajes para comunicacin y sincronizacin entre procesos Hypercube de Intel

Un ejemplo de este tipo de sistema es :

4

Unidad IV Administracin del procesador

Sistemas Operativos I

Arquitecturas MultiprocesadoresSistemas Unidos duros Un nmero de procesadores son conectados a la memoria compartida por la interconexin de la red Una contencin de memoria ocurre cuando dos o ms procesadores simultneamente tratan de accesar al mismo mdulo de memoria En caso de una contencin solo una solicitud de un procesador es atendida y las dems solicitudes tienen que esperar.M1

M2

Mm

Red de Interconexin

P1

P2

Pn Unidad IV Administracin del procesador

5

Sistemas Operativos I

Arquitecturas MultiprocesadoresArquitecturas UMA vs. NUMA vs. NORMABasado en la cercana y accesabilidad de la memoria principal a los procesadores hay 3 tipos de arquitecturas de sistemas multiprocesadoras : UMA (Acceso de memoria uniforme) NUMA (Acceso de memoria no uniforme) NORMA (Acceso de memoria no remota)

6

Unidad IV Administracin del procesador

Sistemas Operativos I

Arquitecturas MultiprocesadoresArquitectura UMA La memoria principal est localizada en un lugar central La memoria es equidistante para todos los procesadores en trminos de tiempos de acceso (a falta de conflictos). Todos los procesadores tienen el mismo tiempo de acceso a la memoria Esto es memoria compartida

Los procesadores pueden tener memoria privada, donde pueden tomar datos par el alto desempeoMultimax of Encore Corporation Balance de Sequence VAX 8800 de digital

Ejemplos de estas arquitecturas :

7

Unidad IV Administracin del procesador

Sistemas Operativos I

Arquitecturas MultiprocesadoresArquitectura NUMA La memoria principal es fsicamente particionada Las particiones son asignadas a los procesadores Todos los procesadores sin embargo, comparten el mismo espacio de direcciones de memoria Un procesador puede accesar a la memoria asignada a cualquier otro procesador, pero el tiempo de acceso a las memorias asignadas a otros procesadores es mucho ms grande que el tiempo de acceso a su propia particin de memoria Cm* de CMU Butterfly machine de BBN Laboratories

Ejemplos de estas arquitecturas :

8

Unidad IV Administracin del procesador

Sistemas Operativos I

Arquitecturas MultiprocesadoresArquitectura NORMALa memoria principal es particionada Las particiones son asignadas a los procesadores Los procesadores no pueden accesar directamente a la memoria de otro procesador Los procesadores deben enviar mensajes a la conexin de red para intercambiar informacin

Ejemplo de esta arquitectura Hypercube de Intel

9

Unidad IV Administracin del procesador

Sistemas Operativos I

Arquitecturas MultiprocesadoresClases de Sistemas operativos de multiprocesamientoClasificacin basada en la natural estructura de control y su organizacin : Supervisor separado Maestro-esclavo Simtrico Todos los procesadores tienen su propia copia del kernel, supervisor y estructura de datos Existen algunas estructuras comunes para la interaccin entre los procesadores Se utilizan los semforos (mecanismos de sincronizacin) para saber cual est protegidoUnidad IV Administracin del procesador

Configuracin del supervisor separado

10

Sistemas Operativos I

Arquitecturas MultiprocesadoresConfiguracin del supervisor separado Cada procesador tiene sus propios dispositivos de E/s y sistema de archivos Existen muy pocos acoplamientos entre los procesadores y cada procesador acta como un sistema autnomo e independiente Por lo anterior es muy difcil el desarrollo de una ejecucin en paralelo de una tarea. Es ineficiente porque el cdigo del supervisor, kernel y datos est repetido en cada procesador. Sin embargo esta configuracin disminuye de manera gradual en lo que respecta a fallas porque hay muy poco acoplamiento entre los procesadores.

11

Unidad IV Administracin del procesador

Sistemas Operativos I

Arquitecturas MultiprocesadoresConfiguracin Maestro-Esclavo En esta configuracin un procesador llamado maestro monitorea el estado y las asignaciones de trabajo a los dems procesadores (los esclavos) Los esclavos son tratados como recursos despachados por el maestro El sistema operativo es simple porque corre solamente el procesador maestro Desde que el S.O. es ejecutado por un solo procesador esto es eficiente y de fcil implementacin Permite la ejecucin en paralelo de una tarea (dividindola en subtareas) Un S.O. basado en esta configuracin es altamente susceptible de que falle el procesador maestro

Ejemplos de estos sistemas : Cyber 170 de CDC DEC-10 de digital12Unidad IV Administracin del procesador

Sistemas Operativos I

Arquitecturas MultiprocesadoresConfiguracin Simtrica Aqu todos los procesadores son autnomos y son tratados como iguales

Hay una copia del kernel que puede ser ejecutado por todos los procesadores concurrentementeEl acceso concurrente a las estructuras de datos compartidas del supervisor necesitan ser controladas en orden para mantener su integridad

La forma ms simple para lograr esto es tratar al S.O. total como una seccin crtica y permitir que solamente un procesador ejecute al S.O. a un tiempoEste mtodo es llamado maestro flotante, porque inclusive puede ser visto como una configuracin maestro-esclavo donde el maestro flota desde un procesador a otro

13

Unidad IV Administracin del procesador

Sistemas Operativos I

Enfoques de diseo de un S.O. De multiprocesamientoUn S.O. de multiprocesamiento :

abarca todas las capacidades de un S.O. de un solo procesador multiprogramado.

Pero el diseo de un S.O. de multiprocesamiento es complicado porque debe cumplir los siguientes requerimientos : Debe soportar la ejecucin de tareas concurrentes

Explotar el poder de mltiples procesadoresDeber de fallar razonablemente Deber de trabajar correctamente a pesar de de la concurrencia fsica en la ejecucin de procesos

14

Unidad IV Administracin del procesador

Sistemas Operativos I

Enfoques de diseo de un S.O. De multiprocesamientoEnfoques de diseo de un S.O. De multiprocesamiento :

Hilos, la eficiencia de la computacin en paralelo, depende en gran forma del desarrollo, de primitivas que son usadas para expresar y controlar el paralelismoSincronizacin de procesos, En un s.o. de multiprocesamiento la inhabilitacin de interrupciones no es suficiente para sincronizar el acceso concurrente a datos compartidos. Una opcin son las variables compartidas Debe ser diseado con mucho cuidado el mecanismo de interrupcin porque de otra manera podra resultar un punto en contra del desempeo.

15

Unidad IV Administracin del procesador

Sistemas Operativos I

Enfoques de diseo de un S.O. de multiprocesamientoEnfoques de diseo de un S.O. De multiprocesamiento : Despachador del procesador Se debe garantizar la utilizacin eficiente de los procesadores en la ejecucin de tareas Junto con el compilador, el s.o. deber de ser capaz de detectar y explotar el paralelismo en las tareas que estn siendo ejecutadas El diseo de la memoria virtual es complicada porque la memoria es compartida por varios procesadores El s.o. debe mantener una tabla de mapa de pginas separada por cada procesador. Cuando varios procesadores comparten una pgina o un segmento, el s.o. debe forzar a la consistencia de sus entradas en la tabla de mapa de pginas.

Manejo de la memoria

16

Unidad IV Administracin del procesador

Sist