Академический Документы
Профессиональный Документы
Культура Документы
SALESIANA
SISTEMAS DISTRIBUIDOS
Integrantes:
Andres Andrade
Jacqueline Maldonado
Paola Valverde
Jonnathan Zhunio
Contenidos
Procesos
Tipos de procesos
Hilos
Introduccin a los hilos
Uso de hilos en sistemas no distribuidos
Implementacin de hilos
Hilos en sistemas distribuidos
Clientes multihilos
servidores multihilos
Proceso
Caractersticas de un Proceso
Tipos de procesos
Multiproceso Simtrico:
Multiproceso Asimtrico:
Hilos
Implementacin de hilos
Por lo general los hilos son proporcionados en la forma de un paquete de hilos
dicho paquete tiene operaciones de:
Crear hilos
Destruir hilos
sincronizacin de variables
mutex
variables de condicin
A nivel de usuario
A nivel de kernel
Una desventaja que tiene este mtodo es que el momento en que el hilo invoca
una llamada de bloqueo de sistema esta bloqueara todo el proceso al cual
pertenece al hilo por lo tanto bloquear todo los hilos de dicho proceso.
Mtodo hbrido
Una solucin radica en una mezcla entre el mtodo de hilos a nivel de usuario e
hilos a nivel de kernel este mtodo es conocido como LWP( Processo de peso
ligero). Un proceso completo, puede contener distintos LWP, adems de LWP el
sistema ofrece paquetes de hilos a nivel de usuario lo cual permite a las
aplicaciones efectuar las operaciones necesarias para los hilos. La principal
caracterstica es que los paquetes de hilos radican en los usuarios por lo tanto
los hilos se procesan sin la intervencin del kernel.
El paquete de hilos tiene una rutina simple para calendarizar el siguiente hilo.
Al crearse una LWP esta tiene la instruccin de ejecutar la rutina de
calendarizacin en busca de un hilo para ejecucin.
Si existen varios LWP cada uno invoca al planificador.
La tabla de hilos es compartida por las LWP.
Cuando un LWP encuentra un hilo ejecutable el LWP cambia de contexto a
este hilo.
Solamente cuando un hilo necesita llamar a una llamada de bloqueo del sistema
se involucra el kernel.
Clientes Multihilos
Sirven para esconder la latencia de comunicacin a travs de la red.
Ejemplo 1: Navegadores WEB
En muchos casos una pgina WEB consiste de un texto plano con mltiples
figuras. Con frecuencia el navegador, establece la conexin con el servidor,
recupera y comienza a desplegar la pgina HTML (incluso se permite al
usuario el desplazamiento dentro de la pgina) mientras el navegador
contina recuperando otros archivos que conforman la pgina.
Clientes Multihilos
Desarrollar navegadores multihilos simplifica este hecho de forma
considerable. Tan pronto como llega la pgina principal se pueden activar hilos
que se encarguen de recuperar las dems partes. Cada hilo establece su propia
conexin con el servidor.
Mientras tanto el usuario advierte el retardo en las imgenes pero puede ir
explorando el documento.
Si el servidor est saturado o es lento no se observarn mejoras notables en el
rendimiento.
Clientes Multihilos
Ejemplo 2: Servidores WEB Replicados
En muchos casos los servidores se replican en distintas mquinas y cada
servidor proporciona el mismo conjunto de documentos WEB. Estn localizados
en el mismo sitio y se conocen por el mismo nombre.
Cuando entra una peticin para una pgina WEB es re-enviada a uno de los
servidores (usando roundrobin u otra tcnica de balanceo de carga).
Clientes Multihilos
Cuando se usan clientes multihilos cada conexin puede ir a una rplica
diferente del mismo servidor. En este caso los distintos archivos se transmiten en
paralelo asegurando que la pgina WEB completa se despliega en un tiempo ms
corto.
Servidores Multihilos
El principal uso de la tecnologa multihilos est del lado del servidor.
La tecnologa multihilos no solo simplifica el cdigo del servidor de forma
considerable, sino tambin hace sencillo el desarrollo de servidores (an en
servidores de un procesador) que explotan el paralelismo para lograr un alto
rendimiento.
Ejm: por lo general un servidor de archivos espera una peticin de entrada para
una operacin de archivo, posteriormente ejecuta la peticin (operacin
bloqueante al disco) y luego enva la respuesta de regreso.
Servidores Multihilos
Alternativas:
Modelo Servidor/Trabajador:
Un hilo servidor lee las peticiones de entradas para una operacin con archivos.
Las peticiones son enviadas por los clientes hasta el servidor. Despus de
examinar la peticin el hilo servidor elige un hilo trabajador sin utilizar y le encarga
la peticin.
Servidores Multihilos
El hilo trabajador realiza la lectura, lo cual puede provocar que se suspenda hasta
que los datos sean recuperados. Si el hilo se suspende, el procesador, selecciona
otro para su ejecucin.
Servidores Multihilos
Servidor de archivos escrito durante la ausencia de hilos.(un solo hilo)
El servidor recibe peticiones, las examina y las trata de resolver antes de recibir
la siguiente peticin. Mientras espera por el disco el servidor est ocioso y no
procesa otra peticin. Se procesan menos peticiones por segundo (throughput).
Con los hilos se gana un rendimiento considerable. Cada hilo se programa
secuencialmente en forma tradicional.
Servidor Multihilos
Hilo servidor como una gran mquina de estado finito.
Cuando llega una peticin se examina. Si se puede satisfacer desde el cache bien.
Sino, se enva un mensaje al disco (no bloqueante). Se registra el estado de la
peticin actual en una tabla y se va al siguiente mensaje. El siguiente mensaje
puede ser una peticin para otro trabajo o una respuesta del disco relacionada
con una operacin previa. En este ltimo caso se recupera la informacin
relevante de la tabla y junto con los datos solicitados, se enva al cliente.
Servidor Multihilos
En este esquema el servidor tendr que hacer uso de las llamadas sin bloqueo .
Este mtodo logra un alto rendimiento a travs del paralelismo.
La programacin del servidor es ms difcil.
Modelo
Caracterstica
hilos
Procesos de un solo
hilo
Mquina de estado
finito