Anda di halaman 1dari 29

Arquitectura de Ordenadores 2006/07

Sistemas Operativos
Distribuidos I

Prof. Dr. Ralf E.D. Seepold


ralf.seepold@uc3m.es

ndice

Caracterizacin

Conceptos de hardware

Conceptos de software

Cuestiones de diseo

Nombrado y transparencia

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

Historia

Progreso de los ordenadores en diferentes dominios

Precio/rendimiento
Comenzando por las mquinas de 8 bits a las mquinas de 64 bits
con la ayuda de microprocesadores potentes
Mquinas que sirven 1 instruccin/sec. por ~25 Millones
Mquinas que sirven 109 instrucciones/sec. por ~1000

Redes
Redes de rea local de alta velocidad (LANs) con velocidad de 1
gigabit/sec. para conectar cientos o miles de ordenadores
Redes de rea extendida (WANs) que ofrecen fcilmente un flujo de
bajada de 768kbit/s y 128 kbit/s de subida en una conexin ADSL

Resultado

Conexin rpida y fcil de ordenadores a travs de LAN o WAN


Gran nmero de CPUs conectadas a una red de alta velocidad
=> sistema distribuido
Se necesita software operativo y de aplicacin para el sistema
distribuido

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

Caracterizacin

Definicin (aproximada) de un sistema distribuido


(SD)

Un sistema distribuido es una coleccin de


ordenadores independientes que son vistos por los
usuarios del sistema como un nico ordenador.

El aspecto del ordenador se relaciona con el


hardware

El aspecto del usuario se relaciona con el


software

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

Ejemplos de SD

Conjunto de ordenadores en una universidad

La ejecucin de un comando se ejecuta en uno de los


ordenadores

Se deben aplicar estrategias de balance de carga

El conjunto de los ordenadores se comporta como


una nica mquina con carcter de tiempo compartido

Banco

Las sucursales con conexiones externas pueden


servir el acceso una cuenta de usuario en otra oficina
como si fuera el banco de origen.

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

Argumentos

Objetivo: el principal objetivo es conseguir


mejorar la tasa precio/rendimiento

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

Ventajas

Bajo precio

Alta tolerancia a fallos

Gran flexibilidad

Consistencia/comparticin de datos

Comparticin de dispositivos

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

Desventajas

(Desarrollo de) software ms complejo

Saturacin de la red

Proteccin de los datos -> securidad

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

Conceptos de hardware

Single Instruction Single Data stream (SISD)

Todos los ordenadores tradicionales uniprocesador

Single Instruction Multiple Data stream (SIMD)

Array de procesadores

Multiple Instruction Single Data stream (MISD)

Una nica instruccin ejecuta muchas unidades de datos que


se llevan en paralelo

No se conocen ordenadores

Multiple Instruction Multiple Data stream (MIMD)

Grupo independiente de ordenadores (todos los


sistemas distribuidos)

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

Conceptos de hardware (cont.)

Divisin posterior de MIMD

Multiprocesadores (memoria compartida)


Multiordenadores (no hay memoria compartida)

Diferencias

Multiprocesador tiene un nico espacio de direcciones


virtual (compartido por todas las CPUs)
Multiordenadores

Cada mquina tiene su propia memoria privada

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

10

Conceptos de hardware (cont.)


Ordenadores en
paralelo y
distribuidos
Fuertemente acoplados

Dbilmente acoplados

multiordenadores
(memoria no
compartida)

Multiprocesadores
(memoria compartida)

Bus

Conmutados

Bus

Conmutados

Sequent,
Encore

Ultracomputer

Estaciones en LAN

Hipercubo,
Transputer

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

11

Multiproceadores basados en bus

Todas las CPUs estn conectadas al mismo bus

Alta velocidad de la backplane/placa base con la


CPU/tarjetas de memoria
La memoria se llama coherente (compartida por
varias CPUs)

4-5 CPUs pueden sobrecargar el bus =>


disminucin del rendimiento

Solucin: memoria cach adicional

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

12

Multiproceadores basados en bus


(cont.)

Problema serio

El cambio de memoria por una CPU se pone en la


memoria cach de otra CPU
Disponibles varias soluciones: una es la cach de
bloqueo por escritura (write-through caching)

La memoria principal siempre muestra el


contenido de la memoria consistente
Cada memoria cach de la CPU monitoriza el
bus y elimina o actualiza su propia memoria
cach en caso de escribir a una posicin de
memoria en la cach de la CPU
Est cach se denomina cache snoopy

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

13

Multiprocesadores conmutados

Un gran nmero de procesadores


necesitan una estrategia diferente

Conmutador crosspoint

En cada interseccin se abre y se


cierra un conmutador de puntos de
cruce (crosspoint switch) por
hardware

Varios accesos a memoria en


paralelo

Accesos a la misma memoria


deben serializarse

Para n CPUs y n memorias se


necesitan n2 conmutadores de puntos
de cruce (puede ser imposible de
realizar por hardware)

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

14

Multiprocesadores conmutados
(cont.)

Las redes Omega requieren menos


conmutadores

La configuracin correcta de los


conmutadores permite leer y escribir
desde/a todas las memorias

Los conmutadores pueden


establecerse en nanosegundos o
menos

La red Omega requiere log2n etapas


de conmutadores que contengan
n/2 conmutadores; por tanto son
(n log2n)/2 conmutadores

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

15

Multiordenadores basados en bus

Cada CPU dirige la conexion a su memoria local

Tarea restante: comunicacin con otras CPUs

Volumen de trfico varios rdenes de magnitud menor


que la comunicacin entre la CPU y la memoria

Topologa tpica

Estacin de trabajo conectada a una LAN y


comunicacin con otras estaciones de trabajo

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

16

Multiordenadores conmutados

Cada CPU tiene acceso directo exclusivo a su


propia memoria

Dos topologas populares son la malla


(izquierda) y el hipercubo (derecha)

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

17

Multiordenadores conmutados (cont.)

Mallas

Fcil de entender
Fcil de disear en PCB
Adecuado para problemas de naturaleza
bidimensional (ej. procesamiento de imgenes)

Hipercubo (ltima transparencia 4


dimensiones)

Cubo de N dimensiones
Cada arco es una conexin entre una CPU

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

18

Conceptos de software: SO en red

Red de estaciones de trabajo (Workstations WS) conectadas por LAN


Cada usuario tiene una WS

Un SO por usuario

Posible login remoto


Servidores de ficheros

Un sistema de ficheros global para todos los usuarios


El usuario se conecta como los clientes

Leer ficheros
Escribir ficheros

La WS importa o monta sistemas de ficheros

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

19

SO en red

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

21

Sistema distribuidos autnticos

El hardware entero del multiordenador se observa como


un sistema de tiempo compartido nico

Tambin llamado imagen de sistema nico o uniprocesador


virtual

El usuario no debera preocuparse de la existencia de mltiple


hardware

Caractersticas

Mecanismo de comunicacin entre procesos sencillo y global

La administracin de procesos ser igual en cualquier parte

Un nico conjunto de llamadas al sistema para entornos


distribuidos

El sistema de ficheros debe parecer el mismo en cualquier parte

Se deben correr kernels idnticos en todas las mquinas

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

23

Sistemas multiprocesador de tiempo


compartido

Ejemplo: multiprocesadores que operan como un


sistema UNIX de tiempo compartido pero con
mltiples CPUs

Existencia de una nica cola de ejecucin

Los procesadores desocupados cogern un


proceso de la lista de tareas preparadas cuando
el proceso que est corriendo se bloquea o
termina

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

24

Cuestiones de diseo

Transparencia

Flexibilidad

Fiabilidad

Rendimiento

Escalabilidad

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

26

Cuestiones de diseo: transparencia

Transparencia de localizacin

Transparencia de migracin

Los usuarios no puede decir cuntas copias existen

Transparencia de concurrencia

Los recursos pueden moverse sin cambia sus nombres

Transparencia de replicacin

Los usuarios no pueden decir dnde se localizan los recursos

Mltiples usuarios pueden compartir recursos automticamente

Transparencia de paralelismo

Las actividades pueden ocurrir en paralelo sin que los usuarios


lo sepan

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

27

Cuestiones de diseo: flexibilidad

Kernel monoltico (a)

Microkernel (b)
(a)
User

Kernel
monoltico

(b)
User

File
Server

Directory
Server

Process
Server

Micro
kernel

Micro
kernel

Micro
kernel

Micro
kernel

Network
Sistemas Operativos Distribuidos I
Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

28

Cuestiones de diseo: flexibilidad


(cont.)

Microkernel es ms flexible porque proporciona


cuatro servicios mnimos
1.
2.
3.

4.

Mecanismo de comunicacin entre procesos


Alguna administracin de memoria
Pequea cantidad de administracin de procesos a
bajo nivel y planificacin
Entrada/Salida a bajo nivel

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

29

Cuestiones de diseo: fiabilidad

Una mquina se cae => otra se ocupa de su


trabajo (reemplazo dinmico)

Disponibilidad

Tolerancia a fallos utilizando redundancia

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

30

Cuestiones de diseo: rendimiento

Existen varias mtricas de rendimiento

Paralelismo de grado fino

Alta interaccin (puede causar problemas con una


comunicacin relativamente lenta)

Paralelismo de grado grueso

Grandes clculos con tasas de iteraccin bajas

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

31

Cuestiones de diseo: escalibilidad

Cuellos de botella potenciales

Componentes centralizados

Tablas centralizadas

Un nico directorio de telfonos on-line

Algoritmos centralizados

Servidor de correo nico para todos los usuarios

Hacer enrutamiento basado en informacin completa

Caractersticas de los algoritmos descentralizados


1.
2.
3.
4.

Ninguna mquina tiene informacin completa sobre el estado


del sistema
Las mquinas hacen decisiones basadas slo en informacin
local
El fallo de una mquina no arruina el algoritmo
No hay asuncin implcita de que un reloj global exista

Sistemas Operativos Distribuidos I


Arquitectura de Ordenadores 2006/07

Departamento de Ingenera Telemtica, UC3M


Ralf E.D. Seepold

32

Anda mungkin juga menyukai