domingo, 28 de octubre de 2012


Unidad 3. Procesos y Procesadores en Sistemas Distribuidos.

 

 3.1 Conceptos Básicos.

Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por: Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador

 Los procesadores distribuidos se pueden organizar de varias formas:
- Modelo de estación de trabajo.
- Modelo de la pila de procesadores.
- Modelo híbrido.



 3.2 Métodos de distribución de cargas (Hilos, Tareas, Procesos)

- Threads llamados procesos ligeros o contextos de ejecución.
- Típicamente, cada thread controla un único aspecto dentro de un programa.
- Todos los threads comparten los mismos recursos, al contrario que los procesos en donde cada uno tiene su propia copia de código y datos (separados unos de otros).

Los sistemas operativos generalmente implementan hilos de dos maneras:


  •  Multihilo Apropiativo
Permite al sistema operativo determinar cuándo debe haber un cambio de contexto.
La desventaja de esto es que el sistema puede hacer un cambio de contexto en un momento inadecuado, causando un fenómeno conocido como inversión de prioridades y otros problemas.

  •  Multihilo Cooperativo
Depende del mismo hilo abandonar el control cuando llega a un punto de detención, lo cual puede traer problemas cuando el hilo espera la disponibilidad de un recurso.


3.3 Modelos de Procesadores.

La historia de los microprocesadores comienza en el año 1971, con el desarrollo por parte de Intel del procesador 4004, para facilitar el diseño de una calculadora.
La época de los PC (Personal Computer), podemos decir que comienza en el año 1978, con la salida al mercado del procesador Intel 8086.

 Estación de Trabajo.

Los usuarios tienen:
- Una cantidad fija de poder de cómputo exclusiva.
- Un alto grado de autonomía para asignar los recursos de su estación de trabajo.
- Uso de los discos en las estaciones de trabajo:

Sin disco: Bajo costo, fácil mantenimiento del hardware y del software, simetría y flexibilidad.
Con disco: Disco para paginación y archivos de tipo borrador:
Reduce la carga de la red respecto del caso anterior.
Alto costo debido al gran número de discos necesarios.

Modelo de Pila de Procesadores

Este modelo basa su funcionamiento en la teoría de colas.
En general este modelo puede reducir significativamente el tiempo de espera al tener una sola cola de procesadores a repartir.
La capacidad de cómputo se puede gestionar de mejor forma si se tiene micros con mayores capacidades.

Híbrido.

Los sistemas híbridos combinan una variedad de buses de instrumentación y plataformas en un sistema.
Los sistemas híbridos proporcionan una mayor flexibilidad y una longevidad extendida para el sistema de prueba a un menor costo al permitirle combinar software y hardware existente con nuevas tecnologías.



3.4 Asignación de Procesadores.

En dedicar un grupo de procesadores a una aplicación mientras dure esta aplicación, de manera que cada hilo de la aplicación se le asigna un procesador.

Una desventaja es que si un hilo de una aplicación se bloquea en espera de una E/S o por sincronización de otro hilo, el procesador de dicho hilo quedara desocupado: no hay multiprogramación de procesadores.


 Modelos y Algoritmos con sus Aspectos de Diseño e Implementación.

Algoritmos deterministas vs. Heurísticos.
-Algoritmos centralizados vs. Distribuidos.
- Algoritmos óptimos vs. Subóptimos.
- Algoritmos locales vs. Globales.
- Algoritmos iniciados por el emisor vs. Iniciados por el receptor.


3.5 Coplanificación.


  • Toma en cuenta los patrones de comunicación entre los procesos durante la planificación
  • Cada procesador debe utilizar un algoritmo de planificación Round Robin.
  • Todos los miembros de un grupo se deben colocar en el mismo N° de espacio de tiempo pero en procesadores distintos.


3.6 Tolerancia a Fallos.


La tolerancia a fallos es un aspecto crítico para aplicaciones a gran escala, ya que aquellas simulaciones que pueden tardar del orden de varios días o semanas para ofrecer resultados deben tener la posibilidad de manejar cierto tipo de fallos del sistema o de alguna tarea de la aplicación.
Por lo general, el termino tolerancia a fallos está asociado al almacenamiento en RAID. Los RAID utilizan la técnica Mirroring (en espejo) que permite la escritura simultánea de los datos en más de un disco del array.


3.7 Sistemas Distribuidos en Tiempo Real.

Características:

1. Se activan por evento o por tiempo.
2. Su comportamiento debe ser predecible.
3. Debe ser tolerante a fallas.
4. La comunicación en los sistemas distribuidos de tiempo real debe de ser de alto desempeño.

Clasificación

  • Sistema de tiempo real suave: significa que no existe problema si se rebasa un tiempo.
  • Sistema de tiempo real duro: es aquel en el que un tiempo límite no cumplido puede resultar catastrófico.