Está en la página 1de 7

3.

1 Conceptos bsicos de procesos y procesadores Poltica de Informacin: La poltica de informacin es responsable de decidir Cundo la informacin de estado de otros nodos debe ser coleccionada?, Dnde sebe ser seleccionada? y Qu informacin deber ser collecionada? La mayora de la polticas de informacin usan uno de los siguientes dos tipos [Carretero01]: Bajo demanda. La informacin se recuera solo cuando un nodo se convierte en un emisor o receptor de procesos. La poltica puede ser inicializada por el emisor o inicializada por el receptor. En el primer caso es la computadora emisora la encargada de buscar posibles nodos receptores del proceso

3.2 Mtodos de distribucin de carga (hilos, tareas procesos) La clasificacin jerrquica de los algoritmos de distribucin de carga es ilustrada en la Figura 2.2 [Casavant 88a] . Se discuten varias clases de algoritmos siquiendo esta clasificacin: Como la planificacin local es descrita en numerosas referencias [Milenkovic 98].[Silberschatz 04] por citar algunas de ellas, se centrara en la planificacin global (optimizacin de carga).

Planificacion

Local

Global

Estaticos

Dinamicos

Optimos

Sub optimos

Control Distribuido No coperativos

Control Centralizado

Aproximados

Heuristicos

Coperativos

Optimos

Sub optimos

Aproximados

Heuristicos

Los algoritmos de distribucin de carga deben ser divididos en dos grandes grupos: estticos y dinmicos. Esta divisin est basada en el tiempo en que se hacen las decisiones de distribucin de carga. Primero se describen los algoritmos de distribucin de carga estticos y enseguida los algoritmos de distribucin de carga dinmicos.

Algoritmos de distribucin de carga estticos. En la planificacin esttica la asignacin de tareas a procesadores es hecha antes de que el programa comience la ejecucin. La informacin respalda los tiempos de ejecucin de las tareas y los recursos de procesamiento ya que se asume que son conocidos en tiempo de compilacin [Shizari 95]. Tpicamente las metas de los mtodos de planificacin estticos es minimizar el tiempo de ejecucin global para un programa concurrente, mientras minimizamos los retardos de comunicacin. Con esta meta en mente, los mtodos de planificacin estticos intentan [Shirazi 95]: Predecir el comportamiento del programa en ejecucin en tiempo de compilacin (esto es, estima los procesos o tareas, tiempos de ejecucin y retardos de comunicacin). Procesar el particionado de pequeas tareas en procesos de grano grueso en un intento por reducir los costos de comunicacin. Asignar procesos a procesadores.

La mayor ventaja de los mtodos de planificacin estticos es que todo sobrecarga (overhead) de la planificacin de procesos es conocida en tiempo de compilacin, resultando un tiempo de ejecucin ms eficiente comparado con los mtodos de planificacin dinmicos. Sin embargo los mtodos de planificacin estticos sufren de muchas desventajas, como discutiremos posteriormente. ptimos vs Sub ptimos La distribucin de carga estaico es simplemente un problema matemtico que corresponde al estado del sistema y los requerimientos de recursos contrastando con algn ndice de desempeo (funcin de criterio). Las siguientes medidas son de uso comn: Minimizar el tiempo de procesamiento global. Maximizar la utilizacin de recursos. Maximizar el rendimiento del sistema (throughput).

Tal vez una de las ms crticas limitaciones de la planificacin esttica es que, en general la planificacin ptima genera un problema NP completo. Problemas NP completos, para mtodos de planificacin estticos, ptimos, globales, con o sin consideraciones de costos de comunicacin, han sido considerados en la literatura en Chou 1983, Ma 1982 y Shen 1985 [Shirazi 95]. Estos algoritmos han sido desarrollados basados sobre teoras de colas, programacin matemtica y tericas de grafos. Aproximados Vs. Heursticos. El enfoque aproximado usa el mismo modelo matemtico y computacional para el algoritmo, pero busca una solucin que no cubre todo el espacio de solucin. El espacio de solucin es buscado en profundidad primero o en amplitud primero. Esto significa que la meta no es obtener una solucin ptima sino solamente una satisfactoria, buscar solamente una buena solucin minimiza el

tiempo. Esta es la principal ventaja de esta clase de algoritmos. Algoritmos de balanceo de carga aproximados, sub ptimos, estticos y globales han sido descritos por Bannister-Trevi 1983 y Lo 1984 [Goscinski 94]. El algoritmo formal es basado sobre programacin matemtica y posteriormente sobre teora de grafos. La segunda categora de algoritmos sub ptimos es basada sobre estrategias de bsqueda heursticas. Los mtodos heursticos como su nombre lo indica, relaciona reglas thumb para guiar el proceso de planeacin en la direccin correcta y alcanzar una solucin ptima (o cerca a la ptima). Una de las ms importantes caractersticas de estos algoritmos son la suposiciones acerca del conocimiento a priori de procesos y la carga del sistema que es ms realista; ya que este tipo de algoritmos hacen uso de parmetros especiales que afectan al sistema en forma indirecta. A menudo los parmetros que sern monitoreados son correlacionados en forma indirecta con el desempeo del sistema y este parmetro alterno es mucho ms simple de calcular y monitorear. El tiempo de computacin y la cantidad de recursos requerida para obtener soluciones basadas sobre estos algoritmos es razonable. Algunas estrategias de distribucin de carga heurstica, subptimas, estticas y globales son descritas en Efe 1982 [Goscinski 94]. En la distribucin de carga esttica, las decisiones con respecto a la localizacin de los procesos son hechas antes que ellas comiencen a ejecutarse. Esas decisiones son basadas sobre suposiciones acerca de los procesos que sern ejecutados (tiempo de ejecucin), ambiente de ejecucin (carga actual, tiempo de transferencia y costos de comunicacin). En la prctica, esta informacin es usualmente no conocida, solamente muy poco conocimiento a priori est disponible. La distribucin de carga dinmica intenta ecualizar la carga del sistema dinmicamente cuando los procesos son creados o reactivados. Estos algoritmos permiten a los procesos migrar a computadoras remotas una vez que ellos hayan comenzado su ejecucin. La meta de esta migracin es obtener la mejor localizacin para todos los procesos existentes de un sistema distribuido. Control Distribuido Vs. Control Centralizado Esta meta involucra si la informacin de estado de todos los procesadores y ambientes de ejecucin ser coleccionada en alguna localizacin o si las decisiones que se hacen son fsicamente distribuidas entre procesadores que utilizan informacin almacenada en diferentes lugares. La ms importante caracterstica para hacer decisiones centralizadas es su simplicidad. Sin embargo tales sistemas sufren de un nmero de desventajas. La primera desventaja es que agrupan informacin y mantienen el estado del sistema en una localizacin centralizada que puede conducir a una gran sobrecarga (overhead) dado que hay retardos de transferencia y mensajes que pudieran estar perdidos. En sistema de asignacin de carga distribuida las decisiones que se toman son fsicamente distribuidas entre los procesadores, en este tipo de sistemas no se tienen los problemas de los

sistemas de control centralizado. Los cuellos de botella para seleccionar informacin de estado en un solo lugar son evitados, si una computadora falla otras pueden continuar su trabajo. Algoritmos de este tipo son discutidos por Enslow 1978 y Eager D., Lazowska E. and Zahorjan J. 1986 [Casavant 88a]. En un sistema de distribucin carga dinmico, muchos componentes estn envueltos y son responsables de tomar decisiones. Si esos componentes distribuidos cooperan en tomar decisiones, convenimos con algoritmos cooperativos. Todas las computadoras trabajan hacia una meta comn pensando que cada una de ellas es responsable de una porcin en la planificacin de tareas. En la clase de algoritmos cooperativos es posible identificar los llamados algoritmos bidding (ofrecimiento). El concepto bsico en este grupo es la negociacin entre componentes, sometiendo bids (ofrecimientos) a contratos, ejemplos de este tipo de algoritmos los podemos encontrar en Casavnt and Kuhl 1984, Ramamritham and Stankovic 1984, Stankovic and Sidhu 1984

Cooperativos Vs. No-Cooperativos. Por otra parte, si las computadoras tomas decisiones independientemente una de la otra, el algoritmo es llamado no-cooperativo. En este tipo de algoritmo los componentes actan como entidades autnomas que son orientadas solamente hacia metas individuales. Como resultado, sus decisiones solamente afecta al desempeo local, ejemplos de este tipo de algoritmos los podemos encontrar en Hlappaholtz and Park 1984 y en Reif and Sprirakis 1984 en [Goscinski 94].

Diseo de la Poltica de Localizacin Utilizando la Cola ms Corta (Least_Loaded). La estrategia de la cola ms corta es utilizada para la planificacin dinmica de carga en nuestra arquitectura. A diferencia de la estrategia Random Y Round Robin, la estrategia de la Cola Ms Corta usa una estrategia de planificacin de carga adaptativa. Como su nombre lo indica esta estrategia elige dinmicamente el miembro de un grupo de objetos con la carga ms baja. El comportamiento de esta estrategia es el que se muestra en la Figura 6.8 y describe lo siguiente: 1. El cliente solicita se de respuesta a sus requerimientos. 2. Los requerimientos son interpretados transparentemente por el planificador de carga. El planificador de carga selecciona todas las rplicas que se encuentran en un grupo de rplicas. 3. El balanceador de carga elige la mtrica LeastLoaded cuyo objetivo es seleccionar la rplica que tenga la Cola Ms Corta. Una vez que el balanceador de carga detecto la rplica con la Cola Ms Corta, este enva la referencia de la rplica al cliente. 4. El cliente se comunica con la rplica enviados las peticiones de sus requerimientos.

Taxonoma Plana de los Algoritmos de Balanceo Dinmico de Carga. Algunos descriptores de los algoritmos de balanceo de carga no pueden ser escogidos en forma jerrquica, ya que algunos algoritmos se centran en seleccionar una computadora remota, que puede ser la computadora destino para migrar los procesos, otro tipo de algoritmos tales como el adaptativo modifica dinmicamente el algoritmo y los parmetros para implementar la poltica de planificacin de acuerdo al comportamiento previo y al actual del sistema escogiendo los descriptores del sistema en forma arbitraria, esta fue la principal razn para el desarrollo de la clasificacin plana (flat) propuesta por Casavant and Khul 1988 [Casavant 88a]. Estrategias Emisoras Vs. Receptoras. Wang-Morris 1985 [Singhal 94] proponen una taxonoma para los algoritmos de balanceo de carga que es bsqueda global de computadoras descargadas y fuertemente cargadas- Indirectamente, esta taxonoma resuelve el problema de cundo el balanceo de carga debe comenzar. La taxonoma es basada sobre un modelo lgico en el cual los nodos son divididos en dos grupos: emisores que generan tareas que sern procesadas y receptores que procesan esas tareas, una simple computadora pudiera ser ambos emisor o receptor, el modelo lgico es ilustrado en la Figura 2.4. Estrategias Emisoras Vs. Receptoras. En un sistema distribuido el problema es que computadoras pueden buscar computadoras descargadas. La divisin de los nodos anteriormente dada lleva a las estrategias emisor y receptor. Si el nodo emisor esta sobrecargado, este es responsable de obtener una localizacin remota para enviar un proceso, esta estrategia es llamada emisor (source-initiative). Los algoritmos emisores deben usarse en sistemas con cargas ligeras a moderadas y los algoritmos receptores deben usarse en sistemas con cargas altas [Eager 86].

3.3 Modelos de Procesadores: de estacin de trabajo, de pila de procesadores, hibrido.


Los procesos se ejecutan en procesadores. En un sistema tradicional, slo existe un procesador, por lo que no viene a cuento la pregunta de cmo debe utilizarse ste. En un sistema distribuido con varios procesadores, ste es un aspecto fundamental del diseo. Los procesadores de un sistema distribuido se pueden organizar de varias formas.

El modelo de estacin de trabajo. El modelo de estacin de trabajo es directo: el sistema consta de estaciones de trabajo (computadoras personales para usuarios finales) dispersas en un edificio o campus conectadas entre si por medio de una LAN, como se muestra en la figura 4-10. Algunas de las estaciones de trabajo pueden estar en oficinas, con lo que de manera implcita, cada una de ellas es dedicada a un usuario, mientas que otras pueden estar en reas pblicas y tener distintos usuarios en el transcurso del da. El modelo de pila de procesadores. Este modelo consiste en construir una pila de procesadores, repleta de CPU, en el cuarto de las mquinas, las cuales se pueden asignar de manera dinmica a los usuarios segn la demanda. El mtodo de pila de procesadores se muestra en la figura 4-13. En vez de darle a los usuarios estaciones de trabajo personales, en este modelo se les dan terminales grficas de alto rendimiento, como las terminales X. Esta idea se basa en la observacin de lo que en realidad quieren muchos usuarios es una interfaz grfica de alta calidad y un buen desempeo. El principal argumento para la centralizacin del poder de cmputo como pila de procesadores proviene de la teora de colas. Un sistema de colas es una situacin donde los usuarios generan en forma aleatoria solicitudes de trabajo a un servidor. Cuando el servidor est ocupado, los usuarios se forman para el servicio y procesan segn su turno. Algunos de los ejemplos comunes del sistema de colas son los contadores para ingreso a los aeropuertos, contadores de salida en los supermercados y muchos otros ms. Los fundamentos de esto se muestran en la figura 4-14. Los sistemas de colas son tiles, puesto que es posible modelarlos de manera analtica. Llamemos a la tasa de entradas totales de solicitudes por segundo de todos los usuarios combinado. Sea la tasa de procesamiento de solicitudes por parte del servidor. Para una operacin estable, debemos tener >. Si el servidor puede manejar 100 solicitudes por segundo, pero los usuarios generan de manera continua 110 solicitudes por segundo, la cola crecer sin lmite alguno.
Se puede demostrar que T, es el promedio de tiempo entre la emisin de una solicitud y la obtencin de una respuesta completa esta relacionada con y mediante la frmula:

Consideremos por ejemplo, un servidor de archivos que puede anejar 50 solicitudes/segundo y obtiene 40 respuestas/segundo. El tiempo promedio de respuesta ser de 1/10 segundos a 100 milisegundos. Obsrvese que cuando tiende a 0 (no existe carga), el tiempo de respuesta del servidor de archivos no tiende a 0 La razn es obvia, una vez que se conoce. Si el servidor de archivos slo puede procesar 50 solicitudes/segundo, debe tardar 20 milisegundos en procesar cada solicitud, incluso en ausencia de competencia, porque el tiempo de respuesta, que incluye el tiempo de procesamiento, nunca puede ser menor de 20 milisegundos. El modelo hbrido. Se le puede proporcionar al usuario una estacin de trabajo personal y adems tener una pila de procesadores. Se puede combinar el modelo de estacin de trabajo y el modelo de pilas de procesadores para disearse sistemas operativos distribuidos con gran capacidad. Se genera un nuevo trabajo cuando se crea un proceso. Las estrategias de asignacin de procesadores se pueden dividir en dos categoras amplias. En la primera, que llamaremos no migratoria, al crearse un proceso se toma una decisin acerca de dnde colocarlo. Una vez colocado en la mquina el proceso permanece ah hasta que termina. Por el contrario con las estrategias migratorias, un proceso se puede trasladar aunque haya iniciado ejecucin. 3.4 Asignacin de procesadores: modelo y algoritmos con sus aspectos de diseo e implantacin. Con el paso de los aos, se han propuesto un gran nmero Algoritmos determinados vs. Heursticos. Los algoritmos deterministas son adecuados cuando se sabe de antemano todo acerca del comportamiento de los procesos. En todos si no es que en ninguno de los sistemas, se tiene un conocimiento total de antemano, pero a veces se puede obtener una aproximacin razonable, en este tipo de sistemas utilizamos una tcnica ad hoc llamada heurstica. Algoritmos centralizados vs distribuidos. En algoritmos centralizados, la recoleccin de toda la informacin se hace en un lugar permitido. Son preferibles los algoritmos descentralizados, pero se han propuesto algoritmos centralizados por la carencia de alternativas descentralizadas adecuadas.

También podría gustarte