Download - Arquitecturas Multiprocesadores

Transcript
Page 1: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador1

Arquitecturas Multiprocesadores

Alto poder de cómputo (Sistemas de multiprocesamiento)

Sistema de multiprocesamiento Consisten de varios procesadores S.O.

Estos a su vez comparten memoria física común

Motivaciones de los sistema de multiprocesamiento Aseguramiento de la elevación del desempeño

Ejecución concurrente por diferentes procesadores

Puede dividir las tareas en subtareas y ejecutarlas en paralelo en diferentes procesadores

La tolerancia a fallas

Una graciosa degradación del desempeño en las fallas de los procesadores.

Page 2: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador2

Arquitecturas Multiprocesadores

Arquitecturas de Multiprocesamiento

Clasificación de FLYNN en MIMD (múltiples instrucciones de múltiples datos)

Arquitecturas Sistema de

multiprocesador total Flujos de de múltiples instrucciones

Sistema de Multiprocesador total Múltiples procesadores Estos ejecutan múltiples programas La memoria principal es normalmente compartida

Las localidades de memoria pueden ser accesadas por un

procesador o no

Page 3: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador3

Arquitecturas Multiprocesadores

Tipos de sistemas de multiprocesamiento

Sistemas unidos duros ( Tightly Coupled Systems) Sistemas unidos frágiles (Loosely Coupled Systems)

Sistemas Unidos duros Los procesadores comparten el mismo espacio de direcciones de

memoria

Todos los procesadores pueden directamente acceder a la memoria principal

Utilizan la memoria para comunicación y sincronización entre procesadores

Algunos ejemplos son :

• Multimax de Encore Corporation

• Flex/32 de la Flexible Corporation

• FX de Sequence Computers

Page 4: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador4

Arquitecturas Multiprocesadores

Sistemas Unidos frágiles 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 comunicación y sincronización entre procesos

Un ejemplo de este tipo de sistema es :

• Hypercube de Intel

Page 5: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador5

Arquitecturas MultiprocesadoresSistemas Unidos duros

Un número de procesadores son conectados a la memoria compartida por la interconexión de la red

Una contención de memoria ocurre cuando dos o más procesadores simultáneamente tratan de accesar al mismo módulo de memoria

En caso de una contención solo una solicitud de un procesador es atendida y las demás solicitudes tienen que esperar.M

m

Red de Interconexión

M1

P1

M2

P2Pn

Page 6: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador6

Arquitecturas Multiprocesadores

Arquitecturas UMA vs. NUMA vs. NORMA

Basado en la cercanía 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)

Page 7: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador7

Arquitecturas Multiprocesadores

Arquitectura UMA La memoria principal está localizada en un lugar central

La memoria es equidistante para todos los procesadores en términos 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 desempeño

Ejemplos de estas arquitecturas :

Multimax of Encore Corporation

Balance de Sequence

VAX 8800 de digital

Page 8: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador8

Arquitecturas Multiprocesadores

Arquitectura NUMA La memoria principal es físicamente 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 más grande que el tiempo de acceso a su propia partición de memoria

Ejemplos de estas arquitecturas :

Cm* de CMU

Butterfly machine de BBN Laboratories

Page 9: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador9

Arquitecturas Multiprocesadores

Arquitectura 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 conexión de red para intercambiar información

Ejemplo de esta arquitectura

Hypercube de Intel

Page 10: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador10

Arquitecturas Multiprocesadores

Clases de Sistemas operativos de multiprocesamiento

Clasificación basada en la natural estructura de control y su organización :

Supervisor separado

Maestro-esclavo

Simétrico

Configuración del supervisor separado

Todos los procesadores tienen su propia copia del kernel, supervisor y estructura de datos

Existen algunas estructuras comunes para la interacción entre los procesadores

Se utilizan los semáforos (mecanismos de sincronización) para saber cual está protegido

Page 11: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador11

Arquitecturas Multiprocesadores

Configuración 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 actúa como un sistema autónomo e independiente

Por lo anterior es muy difícil el desarrollo de una ejecución en paralelo de una tarea.

Es ineficiente porque el código del supervisor, kernel y datos está repetido en cada procesador.

Sin embargo esta configuración disminuye de manera gradual en lo que respecta a fallas porque hay muy poco acoplamiento entre los procesadores.

Page 12: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador12

Arquitecturas MultiprocesadoresConfiguración Maestro-Esclavo

En esta configuración un procesador llamado maestro monitorea el estado y las asignaciones de trabajo a los demás 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 fácil implementación

Permite la ejecución en paralelo de una tarea (dividiéndola en subtareas)

Un S.O. basado en esta configuración es altamente susceptible de que falle el procesador maestro

Ejemplos de estos sistemas : Cyber 170 de CDC

DEC-10 de digital

Page 13: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador13

Arquitecturas Multiprocesadores

Configuración Simétrica Aquí todos los procesadores son autónomos y son tratados como

iguales

Hay una copia del kernel que puede ser ejecutado por todos los procesadores concurrentemente

El acceso concurrente a las estructuras de datos compartidas del supervisor necesitan ser controladas en orden para mantener su integridad

La forma más simple para lograr esto es tratar al S.O. total como una sección crítica y permitir que solamente un procesador ejecute al S.O. a un tiempo

Este método es llamado maestro flotante, porque inclusive puede ser visto como una configuración maestro-esclavo donde el maestro flota desde un procesador a otro

Page 14: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador14

Enfoques de diseño de un S.O. De multiprocesamiento

Un S.O. de multiprocesamiento :

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

Pero el diseño de un S.O. de multiprocesamiento es complicado porque debe cumplir los siguientes requerimientos :

Debe soportar la ejecución de tareas concurrentes

Explotar el poder de múltiples procesadores

Deberá de fallar razonablemente

Deberá de trabajar correctamente a pesar de de la concurrencia física en la ejecución de procesos

Page 15: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador15

Enfoques de diseño de un S.O. De multiprocesamiento

Enfoques de diseño de un S.O. De multiprocesamiento :

Hilos, la eficiencia de la computación en paralelo, depende en gran forma del desarrollo, de primitivas que son usadas para expresar y controlar el paralelismo

Sincronización de procesos,

En un s.o. de multiprocesamiento la inhabilitación de interrupciones no es suficiente para sincronizar el acceso concurrente a datos compartidos.

Una opción son las variables compartidas

Debe ser diseñado con mucho cuidado el mecanismo de interrupción porque de otra manera podría resultar un punto en contra del desempeño.

Page 16: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador16

Enfoques de diseño de un S.O. de multiprocesamiento

Enfoques de diseño de un S.O. De multiprocesamiento :

Despachador del procesador

Se debe garantizar la utilización eficiente de los procesadores en la ejecución de tareas

Junto con el compilador, el s.o. deberá de ser capaz de detectar y explotar el paralelismo en las tareas que están siendo ejecutadas

Manejo de la memoria

El diseño de la memoria virtual es complicada porque la memoria es compartida por varios procesadores

El s.o. debe mantener una tabla de mapa de páginas separada por cada procesador.

Cuando varios procesadores comparten una página o un segmento, el s.o. debe forzar a la consistencia de sus entradas en la tabla de mapa de páginas.

Page 17: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador17

Enfoques de diseño de un S.O. de multiprocesamiento

Enfoques de diseño de un S.O. De multiprocesamiento :

El reemplazo eficiente de una página, empieza con un enfoque complejo

Confiabilidad y Tolerancia a fallas

El desempeño debe de degradarse en forma gradual cuando existen fallas en un evento.

Debe de proporcionar esquemas de reconfiguración para reestructurar el sistema en caso de fallas para asegurar que se degrade en forma paulatina.

Page 18: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador18

Tendencias de los sistemas distribuidos de archivos

Los cambios en hardware, así como las espectativas y las aplicaciones de los usuarios tendrán un efecto importante en los sistemas distribuidos en el futuro.

Hardware

El abaratamiento provocará que en el futuro la información resida en RAM (no habrá necesidad de discos).

Los datos pueden estar adyacentes (debido a la velocidad de transferencia)

La desventaja de manejar la información en RAM es cuando ocurre una falla de energía, la solución podría ser hacer respaldos continuos o por incrementos en cinta de video

Con la tecnología actual se pueden almacenar hasta 5 GB en una cinta con un costo menor a 10 USD, lo que puede parecer irresistible.

Page 19: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador19

Tendencias de los sistemas distribuidos de archivos

Discos ópticos (WORM(write once, read many)), las características son :

• Lentos

• Tienen un enorme espacio de almacenamiento

• Tienen acceso aleatorio

• También son relativamente baratos

Algunos discos ópticos utilizan láser que afectan la estructura de cristal del disco, por lo que se pueden borrar la gran diferencia con las cintas es el acceso aleatorio

Otro desarrollo de hardware son las redes de fibras ópticas de alta velocidad. Además de utilizar el caché.

Page 20: Arquitecturas Multiprocesadores

Sistemas Operativos I

Unidad IV Administración del procesador20

Tendencias de los sistemas distribuidos de archivos

Escalabilidad

La tendencia de los sistemas distribuidos es hacia sistemas cada vez más grandes.

Esto tiene implicación para el diseño de sistemas distribuidos de archivos :

Los sistemas que funcionan bien para 100 máquinas

Trabajan mal para los sistemas con 1000 máquinas y

No funcionan para 10,000 máquinas

Si para abrir un archivo se requiere el contacto con un servidor centralizado, este servidor se convertirá en un cuello de botella en el momento de crecimiento del sistema.

La forma de general de enfrentar este problema es separar el sistema en unidades más pequeñas para e intentar que cada una de ellas sea relativamente independiente de las demás.