arquitecturas multiprocesadores
Post on 08-Aug-2015
302 Views
Preview:
DESCRIPTION
TRANSCRIPT
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.
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
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
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
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
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)
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
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
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
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
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.
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
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
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
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.
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.
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.
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.
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é.
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.
top related