Sie sind auf Seite 1von 6

1|Página

Multiprocesadores con Conmutador


Para superar esta cifra (64 cpu’s) es necesario un método distinto de conexión entre procesadores (cpu) y
memoria.
Una posibilidad es dividir la memoria en módulos y conectarlos a los cpu con un “conmutador de
cruceta”:
• Cada cpu y cada memoria tiene una conexión que sale de él.
• En cada intersección está un “conmutador del punto de cruce” electrónico que el hardware puede
abrir y cerrar:
o Cuando un cpu desea tener acceso a una memoria particular, el conmutador del punto de
cruce que los conecta se cierra momentáneamente.
• La virtud del conmutador de cruceta es que muchos cpu pueden tener acceso a la memoria al mismo
tiempo, aunque no a la misma memoria simultáneamente.
• Lo negativo de este esquema es el alto número de conmutadores:
o Para “n” cpu y “n” memorias se necesitan “n” x “n” conmutadores
El número de conmutadores del esquema anterior puede
resultar prohibitivo. Otros esquemas precisan menos
conmutadores, por ej., la “red omega”:
• Posee conmutadores 2 x 2:
o Cada uno tiene 2 entradas y 2 salidas.
o Cada conmutador puede dirigir cualquiera de las
entradas en cualquiera de las salidas.
o Eligiendo los estados adecuados de los
conmutadores, cada cpu podrá tener acceso a
cada memoria.
• Para “n” cpu y “n” memorias se precisan:
o “n” etapas de conmutación.
o Cada etapa tiene log 2 n conmutadores para un total de n log 2 n conmutadores; este número
es menor que “n” x “n” del esquema anterior, pero sigue siendo muy grande para “n” grande

n log 2 n Omega n * log 2 n Cruceta n * n


75 6.22881869 467 5,625
100 6.64385619 664 10,000
125 6.96578428 871 15,625
150 7.22881869 1,084 22,500
1.024 10 10,240 1’048,576

Un problema importante en la red omega es el retraso:


• Ej.: si “n” = 1024 existen según la tabla anterior:
o 10 etapas de conmutación del cpu a la memoria.
o 10 etapas para que la palabra solicitada de la memoria regrese.
o Si el cpu es de 50 mhz, el tiempo de ejecución de una instrucción es de 20 nseg.
o Si una solicitud de la memoria debe recorrer 20 etapas de conmutación (10 de ida y 10 de
regreso) en 20 nseg:
• El tiempo de conmutación debe ser de 1 nseg.
• El multiprocesador de 1024 cpu necesitará 10240 conmutadores de 1 nseg.
• El costo será alto.

Otra posible solución son los esquemas según sistemas jerárquicos:


• Cada cpu tiene asociada cierta memoria local.
• El acceso será muy rápido a la propia memoria local y más lento a la memoria de las demás cpu.
• Esto se denomina esquema o “máquina NUMA” (Acceso No Uniforme a la Memoria):
o Tienen un mejor tiempo promedio de acceso que las máquinas basadas en redes omega.
o La colocación de los programas y datos en memoria es crítica para lograr que la mayoría de
los accesos sean a la memoria local de cada cpu.
2|Página

La conclusión es clara: Construir un multi-cpu grande, fuertemente acoplado con memoria


compartida es difícil y caro.

6 sep
Multicomputadoras con Base en Buses
Es un esquema sin memoria compartida
Cada cpu tiene una conexión directa con su propia memoria local.
Un problema importante es la forma en que los cpu se comuniquen entre sí.
El tráfico es sólo entre un cpu y otro; el volumen de tráfico será varias veces menor que si se utilizara la
red de interconexión para el tráfico cpu - memoria.
Topológicamente es un esquema similar al del multiprocesador basado en un bus.
Consiste generalmente en una colección de estaciones de trabajo en una LAN (red de área local)

Multicomputadoras con Conmutador


Cada cpu tiene acceso directo y exclusivo a su propia memoria particular
Existen diversas topologías, las más comunes son la retícula y el
hipercubo.
Principales características de las retículas:
• Son fáciles de comprender.
• Se basan en las tarjetas de circuitos impresos.
• Se adecuan a problemas con una naturaleza bidimensional
inherente (teoría de gráficas, visión artificial, etc.)

Las principales características del hipercubo son:


• Es un cubo “n” - dimensional.
• En un hipercubo de dimensión 4:
o Se puede considerar como dos cubos ordinarios, cada
uno de ellos con 8 vértices y 12 aristas.
o Cada vértice es un cpu.
o Cada arista es una conexión entre 2 cpu.
o Se conectan los vértices correspondientes de cada
uno de los cubos.
• En un hipercubo de “n” dimensiones:
o Cada cpu tiene “n” conexiones con otras cpu.
o La complejidad del cableado aumenta en proporción logarítmica con el tamaño.
o Sólo se conectan los procesadores vecinos más cercanos:
• Muchos mensajes deben realizar varios saltos antes de llegar a su destino.
• La trayectoria más grande crece en forma logarítmica con el tamaño:
o En la retícula crece como la raíz cuadrada del número de cpu.
o En la actualidad es posible producir hipercubos de 16,384 cpu.

7 sep
1.1.4 Características de software.
La importancia del software supera frecuentemente a la del hardware. La imagen que un sistema presenta
queda determinada en gran medida por el software del S. O. y no por el hardware.
Los S. O. no se pueden encasillar fácilmente, como el hardware, pero se les puede clasificar en dos tipos:
• Débilmente acoplado.
• Fuertemente acoplado.

El software débilmente acoplado de un SD:


3|Página

• Permite que las máquinas y usuarios sean independientes entre sí en lo fundamental.


• Facilita que interactúen en cierto grado cuando sea necesario.
• Los equipos individuales se distinguen fácilmente.
• Si la comunicación falla, pueden continuar funcionando en gran parte.
Ej.: Un grupo de pc’s independientes que comparten impresoras y una base de datos a través de una LAN.
Pregunta, si quitamos la red, un usuario, para imprimir tendrá que llevar su archivo en disquete, hasta la
pc que tiene la impresora, seguimos teniendo un SD?

1.1.5 Direccionamiento lógico y físico


El proceso desde que los datos son incorporados a la computadora hasta que se transmiten al medio de
comunicación se llama encapsulación. Estos datos son formateados, segmentados, identificados con el
direccionamiento lógico y físico para finalmente ser enviados al medio. A cada capa del modelo OSI le
corresponde una PDU (Unidad de Datos) teniendo el siguiente orden de encapsulamiento:

DATOS->SEGMENTOS->PAQUETES-> TRAMAS->BITS

APLICACIÓN DATOS
PRESENTACIÓN
SESIÓN
TRANSPORTE SEGMENTOS
RED PAQUETES
ENLACE DE DATOS TRAMAS o FRAMES
FÍSICA BITS

Debido a que posiblemente la cantidad de los datos sean demasiados, la capa de transporte desde el
origen, se encarga de segmentarlos para así ser empaquetados debidamente, esta misma capa en el destino
se encargará de reensamblar los datos y colocarlos en forma secuencial, ya que no siempre llegan a su
destino en el orden en que han sido segmentados, asimismo, acorde al protocolo que se esté utilizando
habrá corrección de errores. Estos segmentos son empaquetados (paquetes o datagramas) e identificados
en la capa de red con la dirección lógica o IP correspondiente al origen y destino. Ocurre lo mismo con la
dirección MAC en la capa de enlace de datos formándose las tramas o frames para ser transmitidos a
través de alguna interfaz.

1.2 Concepto y características de los SOR (Sistemas Operativos de Redes)


Una posibilidad es el software débilmente acoplado en hardware débilmente acoplado:
• Es una solución muy utilizada.
• Ej.: una red de estaciones de trabajo conectadas mediante una LAN.

Cada usuario tiene una estación de trabajo para su uso exclusivo:


• Tiene su propio S. O.
• La mayoría de los requerimientos se resuelven localmente.
• Es posible que un usuario se conecte de manera remota con otra estación de trabajo:
o Mediante un comando de “login remoto”.
o Se convierte la propia estación de trabajo del usuario en una terminal remota enlazada con la
máquina remota.
o Los comandos se envían a la máquina remota.
o La salida de la máquina remota se exhibe en la pantalla local.
• Para alternar con otra máquina remota, primero hay que desconectarse de la primera:
o En cualquier instante sólo se puede utilizar una máquina.
• Las redes también disponen de un comando de copiado remoto de archivos de una máquina a otra:
o Requiere que el usuario conozca:
 La posición de todos los archivos.
 El sitio dónde se ejecutan todos los comandos.
Una mejor solución consiste en un sistema de archivos global compartido, accesible desde todas las
estaciones de trabajo, una o varias máquinas soportan al sistema de archivos: Son los “servidores de
archivos”:
4|Página

• Aceptan solicitudes de los programas de usuarios:


o Los programas se ejecutan en las máquinas no servidoras, llamadas “clientes”.
o Las solicitudes se examinan, se ejecutan y la respuesta se envía de regreso.

• Generalmente tienen un sistema jerárquico de archivos.

Las estaciones de trabajo pueden importar o montar estos sistemas de archivos:


• Se incrementan sus sistemas de archivos locales.
• Se pueden montar los servidores en lugares diferentes de sus respectivos sistemas de archivos:
o Las rutas de acceso a un determinado archivo pueden ser diferentes para las distintas
estaciones.
o Los distintos clientes tienen un punto de vista distinto del sistema de archivos.
o El nombre de un archivo depende:
 Del lugar desde el cual se tiene acceso a él.
 De la configuración del sistema de archivos.
El S. O. de este tipo de ambiente debe:
• Controlar las estaciones de trabajo en lo individual.
• Controlar a los servidores de archivo.
• Encargarse de la comunicación entre los servidores.
Todas las máquinas pueden ejecutar el mismo S. O., pero esto no es necesario.
Si los clientes y los servidores ejecutan diversos S. O., como mínimo deben coincidir en el formato y
significado de todos los mensajes que podrían intercambiar.
Esquemas como este se denominan “sistema operativo de red”:
• Cada máquina tiene un alto grado de autonomía.
• Existen pocos requisitos a lo largo de todo el sistema.
8 sep
1.3 Concepto y características del SOD.
Las multicomputadoras son un ejemplo de software fuertemente acoplado en hardware débilmente
acoplado:
• Crean la ilusión de que toda la red de computadoras es un sólo sistema de tiempo compartido, en vez
de una colección de máquinas diversas.
Un SD es aquel que se ejecuta en una colección de máquinas sin memoria compartida, pero que aparece
ante sus usuarios como una sola computadora:
• A esta propiedad se la conoce como la imagen de un único sistema.
También se define un SD como aquel que se ejecuta en una colección de máquinas enlazadas mediante
una red pero que actúan como un uniprocesador virtual.
Algunas de las características de los sistemas distribuidos son las siguientes:
• Debe existir un mecanismo de comunicación global entre los procesos: Cualquier proceso debe poder
comunicarse (intercambiar información) con cualquier otro.
• No tiene que haber:
o Distintos mecanismos en distintas máquinas.
o Distintos mecanismos para la comunicación local o la comunicación remota.
• Debe existir un esquema global de protección.
• La administración de procesos debe ser la misma en todas partes.
• Se debe tener una misma interfaz de llamadas al sistema en todas partes: Es normal que se ejecuten
núcleos idénticos en todas las cpu del sistema. Para facilitar las actividades globales. Ej.: Al iniciar
un proceso, los núcleos cooperan para encontrar el mejor lugar para ejecutarlo. Pero cada núcleo
5|Página

debe controlar sus recursos locales. Ej.: Ya que no hay memoria compartida cada núcleo debe
administrar localmente su memoria, o planificar localmente los procesos.

Sistemas de Multiprocesador con Tiempo Compartido


Corresponde a software fuertemente acoplado en hardware fuertemente acoplado
Los ejemplos más comunes de propósito general son los multiprocesadores:
• Operan como un sistema de tiempo compartido, pero con varias cpu en vez de una.
• Externamente un multiprocesador con 32 cpu’s de 3 mips actúa de manera muy parecida a un solo
cpu de 96 mips; 1 mips: 1’000,000 de instrucciones por segundo.
• Se corresponde con la imagen de un único sistema.
La característica clave es la existencia de una sola cola para ejecución:

• Una lista de todos los procesos en el sistema que están listos para su ejecución.
• La cola de ejecución es una estructura de datos contenida en la memoria compartida.
Los programas de los procesos están en la memoria compartida, también el S. O.
El planificador (de procesos) del S. O. se ejecuta como una “región crítica”, con ello se evita que dos
cpu’s elijan el mismo proceso para su ejecución inmediata.
Cuando un proceso se asigna a un procesador:
• Encuentra que el caché del procesador está ocupado por palabras de memoria que pertenecen a
aquella parte de la memoria compartida que contiene al programa del proceso anterior.
• Luego de un breve lapso se habrán reemplazado por el código y los datos del programa del proceso
asignado a ese procesador.
Ningún cpu tiene memoria local, es decir que todos los programas se almacenan en la memoria global
compartida.
Si todos los cpu están inactivos en espera de e / s y un proceso está listo para su ejecución:
• Es conveniente asignarlo al cpu que se utilizó por última vez (para ese proceso):
• La hipótesis es que ningún otro proceso utilizó ese cpu desde entonces.
Si un proceso se bloquea en espera de e / s en un multiprocesador, el S. O. puede:
• Suspenderlo.
• Dejarlo en “espera ocupada”:
o Es aplicable cuando la mayoría de la e / s se realiza en menos tiempo del que tarda un
cambio entre los procesos.
o El proceso conserva su procesador por algunos milisegundos en espera de que la e / s
finalice:
 Si se agota el tiempo de espera y no ha finalizado la e / s, se realiza una
conmutación de procesos.
Generalmente se dispondrá de un sistema de archivos tradicional, con un único caché:
• Globalmente considerado es similar al sistema de archivos de un único procesador.
6|Página

La comparación de las tres principales formas de organizar “n” cpu’s se puede resumir en la siguiente
tabla:

A continuación se analiza en forma breve algunos de los aspectos claves del diseño con los que deben
trabajar las personas que piensan construir un sistema operativo distribuido:
• Transparencia.- Diseñar el sistema de forma que todas las personas piensen que la colección de
máquinas es tan sólo un sistema de tiempo compartido, de un procesador, a la manera antigua.
La transparencia se puede lograr en dos niveles distintos: Usuarios y programas.
Los distintos tipos de transparencia en un SD son:
o Transparencia de localización: los usuarios no pueden indicar la localización de los
recursos.
o Transparencia de migración: los recursos se pueden mover a voluntad sin cambiar sus
nombres.
o Transparencia de réplica: los usuarios no pueden indicar el número de copias existentes.
o Transparencia de concurrencia: varios usuarios pueden compartir recursos de manera
automática.
o Transparencia de paralelismo: las actividades pueden ocurrir en paralelo sin el conocimiento
de los usuarios.
• Flexibilidad.- El diseño de un SD debe hacerse con la idea de facilitar los cambios futuros.
• Confiabilidad.- Uno de los objetivos originales de la construcción de sistemas distribuidos fue el
hacerlos más confiables que los sistemas con un procesador. La idea es que si una máquina falla,
alguna otra máquina se encargue del trabajo.
Un aspecto importante dentro de la confiabilidad es la disponibilidad que se refiere a la fracción de
tiempo en que se puede utilizar el sistema.
Otro aspecto de la confiabilidad general es la seguridad. Los archivos y otros recursos deben ser
protegidos contra el uso no autorizado.
También otro aspecto de la confiabilidad es la tolerancia de fallas. Los sistemas distribuidos se deben
diseñar de forma que escondan las fallas; es decir, ocultarlo a los usuarios.
• Desempeño.- Cuando se ejecuta una aplicación en un SD, no debe parecer peor que su ejecución en
un procesador. Se pueden utilizar diversas métricas de desempeño. El tiempo de respuesta es una,
pero también lo son el rendimiento, uso del sistema y cantidad consumida de la capacidad de la red.
• Escalabilidad.- Diseñar un SD que pueda escalar hacia sistemas más grandes en un futuro.

Das könnte Ihnen auch gefallen