Miércoles 02 de
diciembre del 2015
TEMA:
MULTIPROCESADORES
INTRODUCCIÓN
Son sistemas formados por un
cierto número de procesadores que trabajan en paralelo. La comunicación entre
ellos se realiza mediante el empleo de variables en memoria compartida.
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, no teniéndose en
cuenta la diferencia de tiempo entre un acierto o un fallo en caché. De lo
contrario, también deberíamos considerar arquitectura NUMA a cualquier sistema
con jerarquía de memoria, incluidos los uniprocesadores.
MULTIPROCESADORES
Los multiprocesadores son populares y atractivos debido
a que ofrecen un modelo de comunicación simple: todas las CPUs comparten una
memoria común.
Un multiprocesador con memoria compartida (o sólo
multiprocesador, de aquí en adelante) es un sistema de cómputo en el que dos o
más CPUs comparten todo el acceso a una RAM común. Un programa que se ejecuta
en cualquiera de las CPUs ve un espacio normal de direcciones virtuales
por lo general paginadas). La única propiedad inusual que tiene este sistema es que la CPU puede escribir cierto valor en una palabra de memoria y después puede volver a leer esa palabra y obtener un valor distinto (tal vez porque otra CPU lo cambió). Si se organiza en forma correcta, esta propiedad forma la base de la comunicación entre procesadores: una CPU escribe ciertos datos en la memoria y otra lee esos datos.
En su mayor parte, los sistemas operativos multiprocesadores son sólo sistemas operativos regulares. Manejan las llamadas al sistema, administran la memoria, proveen un sistema de archivos administran los dispositivos de E/S. Sin embargo, hay ciertas áreas en las que tienen características únicas. Estas áreas son la sincronización de procesos, la administración de recursos y la programación de tareas. A continuación analizaremos con brevedad el hardware de los multiprocesadores y después pasaremos a ver las cuestiones relacionadas con estos sistemas operativos.
por lo general paginadas). La única propiedad inusual que tiene este sistema es que la CPU puede escribir cierto valor en una palabra de memoria y después puede volver a leer esa palabra y obtener un valor distinto (tal vez porque otra CPU lo cambió). Si se organiza en forma correcta, esta propiedad forma la base de la comunicación entre procesadores: una CPU escribe ciertos datos en la memoria y otra lee esos datos.
En su mayor parte, los sistemas operativos multiprocesadores son sólo sistemas operativos regulares. Manejan las llamadas al sistema, administran la memoria, proveen un sistema de archivos administran los dispositivos de E/S. Sin embargo, hay ciertas áreas en las que tienen características únicas. Estas áreas son la sincronización de procesos, la administración de recursos y la programación de tareas. A continuación analizaremos con brevedad el hardware de los multiprocesadores y después pasaremos a ver las cuestiones relacionadas con estos sistemas operativos.
Hardware
de Multiprocesador
Todos los multiprocesadores tienen la propiedad de que
cada CPU puede direccionar toda la
memoria, algunos tienen la característica adicional de que cada palabra de memoria se puede leer con la misma velocidad que cualquier otra palabra de memoria.
memoria, algunos tienen la característica adicional de que cada palabra de memoria se puede leer con la misma velocidad que cualquier otra palabra de memoria.
Estas máquinas se conocen como:
•
Multiprocesadores UMA (Uniform Memory Access, Acceso
uniforme a la memoria)
• Multiprocesadores
NUMA (Non-uniform Memory Access, Acceso no uniforme a la memoria)
Multiprocesadores
UMA (Acceso Uniforme a la Memoria)
Es una
arquitectura de memoria compartida utilizada en computación paralela.
todos los
accesos a memoria tarda el mismo tiempo. Para conseguir esta uniformidad de
acceso, se tiene que aumentar el tiempo de los accesos más rápidos.
Estos
computadores tienen todos sus procesadores interconectados a través de un
mecanismo de switches a una memoria
compartida centralizada
Multiprocesadores UMA que utilizan interruptores
de barras cruzadas
Multiprocesadores
NUMA(Acceso no uniforme a la Memoria)
Esta concesión nos
lleva a la idea de los multiprocesadores NUMA, como dijimos. Al igual que sus
parientes UMA, proveen un solo espacio de direcciones a través de todas las
CPUs, pero a diferencia de las máquinas UMA, el acceso a los módulos de memoria
locales es más rápido que el acceso a los remotos. Por ende, todos los
programas UMA se ejecutarán sin cambios en las máquinas NUMA, pero el
rendimiento será peor que en una máquina UMA a la misma velocidad de reloj.
Multiprocesadores maestro-esclavo
En la siguiente
figura se muestra un segundo modelo, donde nos demuestra que todas las llamadas
al sistema se redireccionan a la cpu
numero 1 para que las procese, la misma que puede ejecutar el proceso si este
tiene tiempo de sobra. al modelo antes mencionado se le conoce como
maestro-esclavo, donde la cpu 1 se comporta como maestro y las demas son los esclavos.
Multiprocesadores simétricos
El SMP (Multiprocesador simétrico). Hay una copia del sistema operativo en
memoria, pero cualquier CPU puede ejecutarlo. Cuando este realiza una llamada
al sistema, y en el cpu donde se realizó la llamada al sistema lo atrapa para el
kernel y la procesa. También elimina el cuello de botella de la cpu.
Planificación
de Multiprocesadores
En los
multiprocesadores, es necesario determinar qué
es lo que se va a planificar. En los días de antaño, cuando todos los
procesos tenían un solo hilo, los procesos eran los que se planificaban; no
había nada más que se pudiera planificar.
Todos los sistemas
operativos modernos soportan procesos multihilo, lo cual complica aún más la
planificación. Es importante saber si los hilos son de kernel o de usuario. Si
la ejecución de hilos se lleva a cabo mediante una biblioteca en espacio de
usuario y el kernel no sabe nada acerca de los hilos, entonces la planificación
se lleva a cabo con base en cada proceso, como siempre.
Si el kernel ni
siquiera sabe que los hilos existen, es muy difícil que pueda planificarlos.
Planificación temporal
En la planificación temporal es donde se define
cada procesador individual, es igual que cuando se extrae de un monoprocesador,
la diferencia es que en un multiprocesador es meno relevante para el rendimiento.
En la planificación temporal se decide qué procesos se ejecutan.
Planificación espacial
Esta es por la cual se de la asignación de los
procesadores a los diferentes procesos. Y también donde se deciden en que
procesadores se ejecutan los procesos.
Tener claro que
un multiprocesador consiste
en dos o más CPUs que comparten una RAM comúny que las CPUs se pueden
interconectar mediante un bus, un conmutador de barras cruzadas o una red de
conmutación multietapa.
CONCLUSIONES

BIBLIOGRAFIAS
Tanenbaum,
A. 2009. Sistemas operativos modernos. Pearson educación de México. 3 ed.
México. p 526-547.