martes, 27 de enero de 2009

PROCESADOR Y PROCESOS DE SISTEMAS DISTRIBUIDOS






HILOS

Los hilos permiten la combinación del paralelismo con la ejecución secuencial y el bloqueo de las llamadas al sistema.
Consideramos el ejemplo del servidor de archivos con sus posibles organizaciones para muchos hilos de ejecución.
  • Iniciamos con el modelo servidor / trabajador:Un hilo, el servidor, lee las solicitudes de trabajo en el buzón del sistema.

  • Elige a un hilo trabajador inactivo (bloqueado) y le envía la solicitud, despertándolo.

  • El hilo trabajador verifica si puede satisfacer la solicitud por medio del bloque caché compartido, al que tienen acceso todos los hilos.
  • Si no envía un mensaje al disco para obtener el bloque necesario y se duerme esperando el fin de la operación.


Se llama: Al planificador y se inicializa otro hilo, que tal vez sea el servidor, para pedir más trabajo; o.

  • A otro trabajador listo para realizar un trabajo. Los hilos ganan un desempeño considerable pero cada uno de ellos se programa en forma secuencial.
  • Otro modelo es el de equipo:
    Todos los hilos son iguales y cada uno obtiene y procesa sus propias solicitudes.
    No hay servidor.
  • Se utiliza una cola de trabajo que contiene todos los trabajos pendientes, que son trabajos que los hilos no han podido manejar.
  • Un hilo debe verificar primero la cola de trabajo antes de buscar en el buzón del sistema.

  • Un tercer modelo es el de entubamiento:
  • El primer hilo genera ciertos datos y los transfiere al siguiente para su procesamiento.
  • Los datos pasan de hilo en hilo y en cada etapa se lleva a cabo cierto procesamiento. Un programa diseñado adecuadamente y que utilice hilos debe funcionar bien:
  • En una única cpu con hilos compartidos.
  • En un verdadero multiprocesador.


MODELOS DE SISTEMAS

En un sistema distribuido, con varios procesadores, un aspecto fundamental del diseño es cómo se utiliza.




Los procesadores distribuidos se pueden organizar de varias formas:

  • Modelo de estación de trabajo. El sistema consta de estaciones de trabajo (PC) dispersas conectadas entre sí mediante una red de área local (LAN).
    Pueden contar o no con disco rígido en cada una de ellas.
    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.
    -Gran uso de la red, los servidores de archivos se pueden convertir en cuellos de botella.
  • 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.
  • Disco para paginación, archivos de tipo borrador y archivos binarios (ejecutables):
    -Reduce aún más la carga sobre la red.
    -Alto costo y complejidad adicional para actualizar los binarios.
  • Disco para paginación, borrador, binarios y ocultamiento de archivos:
    -Reduce aún más la carga de red y de los servidores de archivos.
    -Alto costo.
    -Problemas de consistencia del caché.
  • Sistema local de archivos completo:
    -Escasa carga en la red.
    -Elimina la necesidad de los servidores de archivos.
    -Pérdida de transparencia.

    Modelo de la pila de procesadores. Se dispone de un conjunto de cpu que se pueden asignar dinámicamente a los usuarios según la demanda.
    -Los usuarios no disponen de estaciones de trabajo sino de terminales gráficas de alto rendimiento.
    -No existe el concepto de propiedad de los procesadores, los que pertenecen a todos y se utilizan compartidamente.
    -El principal argumento para la centralización del poder de cómputo como una pila de procesadores proviene de la teoría de colas:
    -Llamamos “l” a la tasa de entradas totales de solicitudes por segundo de todos los usuarios combinados.
    -Llamamos “m” a la tasa de procesamiento de solicitudes por parte del servidor.
    Para una operación estable debe darse que “m > l”:
    -Se pueden permitir pequeños lapsos de tiempo en los que la tasa de entrada exceda a la de servicio.
    -Llamamos “T” al promedio de tiempo entre la emisión de una solicitud y la obtención de una respuesta completa:
    T = 1 / ( m - l ).
    Cuando “ l ” tiende a “0”, “T” no tiende a “0”.
    Supongamos que tenemos “n” multiprocesadores personales, cada uno con cierto número de cpu y con su propio sistema de colas con tasas “ l ” y “ m ” y tiempo “T”:
    Si reunimos todas las cpu y formamos una sola pila de procesadores tendremos un solo sistema de colas en vez de “n” colas ejecutándose en paralelo.
    La tasa de entrada será “n l”, la tasa de servicio será “n m” y el tiempo promedio de respuesta será:
    T1 = 1 / (n m - n l) = 1 / n ( m - l) = T / n.

  • Modelo híbrido. Consta de estaciones de trabajo y una pila de procesadores. El sistema operativo permtemas de un hilo por proceso. El soporte de lenguaje de programacion utiliza un hilo del nucleo para implementar un grupo de hilos de usuario. Proporciona flexibilidad y un maximo rendimiento potencial al programador de la aplicacion.