Sistemas Operativos Distribuidos

Slides:



Advertisements
Presentaciones similares
Construcción de Sistemas Distribuidos “Transacciones Distribuidas”
Advertisements

el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Capitulo 7: Procesamiento batch y el Job Entry Subsystem (JES)
Almacenamiento del sistema de archivos La gestión de archivos es uno de los componentes mas visibles de un sistema operativo. Las computadores pueden almacenar.
“Fundamentos de Sistemas Distribuidos”
Tabla de Contenido Concurrencia.
Procesos y procesadores en sistemas distribuidos
Nau Gran dHivern Intr. a la creación y gestión de páginas web Introducción a la web.
Internet y tecnologías web
Arquitectura de Sistema de E/S
Teoría de Sistemas Operativos Memoria
Planificación de Monoprocesadores
IBD Clase 7.
I11 A y i 11 B Séptimo semestre.
III - Gestión de memoria
Planificador de Procesos
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Planificación con Prioridades Fijas
Base de Datos Distribuidas Bases de Datos II Universidad Argentina J. F. Kennedy - Año 2008 Maletin Yahoo => briefcase.yahoo.com Usuario => bd2_jfk Pssw.
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Resolución de Problemas
Aplicaciones Cliente-Servidor
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Organización de la Memoria.
Sistema operativo Tema: Maquina virtual Alumnos: Eduar peña
PROTOCOLOS Y ESTANDARES DE RED
Modelo M | M | 1 Teoria de Colas.
Informática Educativa Bogotá 2011 – Universidad de Santander UDES
Compartir Informacion Compartir Hardware y Software
Consideraciones generales
Investigación Algorítmica
Sistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
PROTOCOLOS Un protocolo es un conjunto de reglas que hacen que la comunicación en una red sea más eficiente.
HERRAMIENTAS INFORMATICAS
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
El Precio.
APENDICE TEMA 4. MÉTRICA DE LOS PUNTOS DE FUNCIÓN
Universidad Centroamericana
SATISFACCION DE RESTRICCIONES Sección 1-3
Administración del Procesador
Instructivo para la Gestión de Solicitudes de los Clientes - Alertran DEPRISA Febrero 2013.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Sistemas Operativos Procesos.
Ing. Fabián Ruano.  Definición  Diferencias con BD Centralizadas.
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
Planificación Dinámica de Tareas
Sistema operativo de red Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo.
Introducción a los Sistemas Operativos
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Sistemas Distribuidos
Cuentas de usuarios y grupos en windows 2008 server
Topologías de Red.
File Transfer Protocol.
LIA. SUEI CHONG SOL, MCE..  1.- SOFTWARE BÁSICO O DE SISTEMA. Conjunto de programas imprescindibles para el funcionamiento del sistema.  2.- SOTWARE.
LSI. Freddy Veloz Sistemas Operativos
3.2.1 Administración de almacenamiento
Servidores. ¿Qué es un servidor? Servidor de Aplicación Servidor de impresión Servidor de base de datos Servidor de correo Servidor de Internet Servidor.
Planificación de uso del procesador Rina Arauz. Planificación de CPU 2 UNAN-Leon La ejecución de un trabajo se compone de secuencias de procesador y de.
Modelos y topologías de red
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED UNIDAD 2. SERVICIOS DHCP UNIDAD 3. SERVICIOS DNS UNIDAD 4. SERVICIOS DE ACCESO REMOTO.
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
Transcripción de la presentación:

Sistemas Operativos Distribuidos 6 Gestión de procesos 6- Gestión de procesos

Contenidos del Tema Modelos de sistema Asignación de procesadores Estrategias dinámicas Estrategias estáticas Ejecución remota de procesos Sistemas Operativos Distribuidos 2

Modelos de sistema Organización de los procesadores en un SD Tres alternativas: Conjunto de estaciones de trabajo Pool de procesadores Modelo híbrido Sistemas Operativos Distribuidos 3

Conjunto de estaciones de trabajo SD compuesto de estaciones de trabajo conectadas Procesos de un usuario se ejecutan en su estación de trabajo. Discos locales se utilizan para paginación, archivos temporales, cache de ficheros y/o ficheros locales. Normalmente hay un servidor de ficheros Sistemas Operativos Distribuidos 4

Pool de procesadores Los usuarios utilizan terminales gráficos (p.ej. terminales X). Existe un pool de procesadores donde se envían los procesos. “Similar” al tiempo compartido. Pool de procesadores  Servidor de cómputo Asignación dinámica de procesadores: Nuevo proceso a cualquier procesador Usuario con más trabajo utiliza más procesadores Sistemas Operativos Distribuidos 5

Modelo híbrido Usuarios utilizan estaciones de trabajo. Existe un pool de procesadores Trabajos interactivos en las estaciones de trabajo. Trabajos no interactivos en el pool de procesadores. Sistemas Operativos Distribuidos 6

Comparación de modelos No hay reparto de carga en modelo de estaciones de trabajo Puede haber estaciones de trabajo inactivas y otras muy cargadas. En entornos típicos se desperdicia 80% de ciclos totales de CPU. Uso de estaciones de trabajo inactivas: Ejecutar procesos de forma transparente en máquinas “inactivas”. ¿Qué es una estación de trabajo inactiva? “lleva varios minutos sin recibir entrada del teclado o ratón y no está ejecutando procesos interactivos” ¿Qué ocurre cuando deja de estar inactiva? No hacer nada  El cliente de la estación notará mal rendimiento. Migrar el proceso a otra estación inactiva (costoso) Continuar ejecutando el proceso con prioridad baja. Sistemas Operativos Distribuidos 7

Asignación de procesadores Objetivos: Decidir en qué procesador se debería ejecutar un proceso Reparto y equilibrio de carga (load sharing/balancing) Suposiciones: Todos los procesadores son compatibles. La velocidad de los procesadores puede ser distinta. Un procesador puede comunicarse con cualquier otro. Sistemas Operativos Distribuidos 8

Tipos de carga Procesos cooperantes Procesos disjuntos Interaccionan entre sí Pertenecientes a una misma aplicación paralela Objetivo: minimizar tiempo de ejecución de aplicación Procesos disjuntos Procesos independientes Pertenecientes a distintos usuarios Objetivo: maximizar utilización de procesadores Sistemas Operativos Distribuidos 9

Tipos de asignación Estrategias estáticas Estrategias dinámicas Determinista Usada para procesos cooperantes Asignación a priori a partir de características de aplicación paralela Estrategias dinámicas Reparto y equilibrio de carga dinámico Usada para procesos disjuntos Asignación en tiempo de ejecución Sistemas Operativos Distribuidos 10

Estrategias dinámicas Migratorias o No migratorias ¿Proceso puede cambiar de procesador durante su ejecución? Migratorias: mejor equilibrio de la carga pero más complejas Centralizadas o Distribuidas ¿Existe un coordinador central? Óptimas o Subóptimas ¿Busca la mejor asignación o una que sea aceptable? Locales o Globales ¿Tiene en cuenta estado de la máquina local o estado del sistema? Sistemas Operativos Distribuidos 11

Políticas de distribución de carga Estrategia dinámica controlada por tres políticas: Política de transferencia: determina cuándo transferir. Política de selección: selecciona el proceso a transferir. Política de ubicación: selecciona el nodo al que transferir. Sistemas Operativos Distribuidos 12

Política de transferencia Generalmente, basada en umbral: Si en nodo S carga > T unidades, S emisor de procesos Si en nodo S carga < T unidades, S receptor de procesos Tipos de transferencias: Expulsivas: se pueden transferir procesos ejecutados parcialmente. Supone transferir el estado del proceso. No expulsivas: los procesos en ejecución no pueden ser transferidos. Sistemas Operativos Distribuidos 13

Políticas de selección Elegir los procesos nuevos (transferencia no expulsiva). Seleccionar los procesos con un tiempo de transferencia mínimo (poco estado, mínimo uso de los recursos locales). Seleccionar un proceso si su tiempo de respuesta estimado en un nodo remoto es menor que el tiempo de respuesta local. Sistemas Operativos Distribuidos 14

Política de ubicación Muestreo: consulta de otros nodos para encontrar adecuado. Alternativas: Muestreo secuencial o paralelo. Selección aleatoria. Nodos más próximos. Enviar un mensaje al resto de nodos (broadcast). Basada en información recogida anteriormente. Tres tipos de políticas: Iniciadas por el emisor (Push)  emisor busca receptores Iniciadas por el receptor (Pull)  receptor solicita procesos Combinada  iniciada por el emisor y/o por el receptor. Sistemas Operativos Distribuidos 15

Algoritmos iniciados por el emisor Política de transferencia: umbral basado en la longitud de la cola de procesos listos. Política de selección: procesos nuevos. Política de ubicación. Distintas alternativas: Elegir un nodo al azar. Probar con un nº de nodos hasta encontrar un receptor. Probar con un nº de nodos y elegir aquél con menos carga. Estabilidad: inestable con alta carga Difícil encontrar receptores y los muestreos consumen CPU Sistemas Operativos Distribuidos 16

Algoritmos iniciados por el receptor Política de transferencia: umbral basado en la longitud de la cola de procesos listos. Política de selección: cualquier proceso. Política de ubicación: Ejemplo: Muestreo aleatorio de un nº limitado de nodos hasta encontrar uno con un nivel de carga > umbral. Si la búsqueda falla, esperar hasta que otro proceso termine o un periodo predeterminado antes de reintentar. Estabilidad: estable Con altas cargas, probable que receptores encuentren emisores. Sistemas Operativos Distribuidos 17

Un algoritmo combinado (1/2) Política de transferencia Tmin Media del sistema Tmax receptor emisor Política de ubicación dirigida por el emisor: Emisor difunde mensaje SOBRECARGADO y espera ACEPTAR. Un receptor envía ACEPTAR. Si llega ACEPTAR: y el nodo todavía es emisor, transfiere el proceso más adecuado. Si no, difundir un mensaje CAMBIO-MEDIA para incrementar la carga media estimada en el resto de nodos.. Sistemas Operativos Distribuidos 18

Un algoritmo combinado (2/2) Política de ubicación iniciada por el receptor: Un receptor difunde un mensaje DESCARGADO y espera por mensajes SOBRECARGADO. Si llega un mensaje SOBRECARGADO, se envía un mensaje ACEPTAR. Si no, difundir un mensaje CAMBIO-MEDIA para decrementar la carga media estimada en el resto de nodos. Política de selección: cualquier proceso. Sistemas Operativos Distribuidos 19

Estrategias estáticas Asignar procesos de una aplicación paralela a procesadores minimizando el tiempo de ejecución total Debe buscar equilibrio entre paralelismo (uso de distinto procesador) y minimizar coste de comunicaciones (uso del mismo procesador) No solución óptima aunque muy estudiado. Dificultades en: Estimar coste de comunicaciones Cómo reflejar que un proceso no ejecuta igual en todos procesadores Distintos modelos de paralelismo dependiendo de herramienta de programación paralela utilizada Dos modelos típicos: Modelo basado en precedencia de procesos (cobegin-coend) Modelo basado en procesos que se comunican Sistemas Operativos Distribuidos 20

Modelo basado en precedencias Programa paralelo representado como grafo acíclico Nodo representa un proceso con tiempo de ejecución conocido Eje indica relación de precedencia entre procesos, incluye etiqueta que muestra cantidad de datos que transfiere proceso a su sucesor El problema en su forma general es NP-completo Algoritmos con complejidad polinomial: Cuando sólo hay dos procesadores. En el caso general se utilizan heurísticas: P. ej. buscar camino crítico (camino más largo en grafo) y asignar tareas implicadas al mismo procesador Uso de estragias migratorias: Pueden dar mejor rendimiento pero son más complejas Sistemas Operativos Distribuidos 21

Ejemplo 1 2 N1 N2 2 1 3 4 Planificador 3 4 5 5 N1 N2 10 10 10 30 36 1 10 30 36 1 1 2 1 20 3 4 20 Planificador 1 1 3 1 4 5 5 5 N1 N2 Sistemas Operativos Distribuidos 22

Uso de estrategias migratorias 1 2 3 N1 N2 4 N1 N2 1 2 3 2 Con migración 1 3 2 Sistemas Operativos Distribuidos 23

Modelo basado en comunicaciones Programa paralelo formado por procesos que se comunican Modelado como grafo no dirigido donde: Nodo representa proceso con necesidades de UCP y memoria Eje incluye etiqueta que indica cantidad de datos que intercambian nodos implicados El problema en su forma general es NP-completo Algoritmos con complejidad polinomial: Cuando sólo hay dos procesadores. En el caso general se utilizan heurísticas: P. ej. corte mínimo: Para P procesadores buscar P-1 cortes tal que se minimice el flujo entre cada partición Resultado: Cada partición (procesador) engloba a un conjunto de procesos “fuertemente acoplados” Sistemas Operativos Distribuidos 24

Ejemplo 3 2 1 8 5 4 6 N1 N2 N3 Tráfico entre nodos: 13+17=30 N1 N2 N3 Tanenbaum. “Sistemas Operativos Distribuidos” © Prentice Hall 1996 Sistemas Operativos Distribuidos 25

Ejecución remota de procesos ¿Cómo ejecutar un proceso de forma remota? Crear el mismo ambiente de trabajo: entorno, directorio actual, etc. Redirigir ciertas llamadas al sistema a máquina origen: P. ej. interacción con el terminal Migración (transferencia expulsiva) mucho más compleja: “Congelar” el estado del proceso Transferir a máquina destino “Descongelar” el estado del proceso Numerosos aspectos complejos: Redirigir mensajes y señales ¿Copiar espacio de swap o servir fallos de pág. desde origen? Sistemas Operativos Distribuidos 26