Você está na página 1de 11

ASIGNACIN DE PROCESADORES

IRVIN DE JESUS MENDEZ RODRIGUEZ

SINTESIS

ASIGNACIN DE PROCESADORES

ASIGNACIN DE PROCESADORES
Por definicin, un sistema distribuido consta de varios procesadores. Estos se pueden organizar como coleccin de estaciones de trabajo personales, una pila pblica de procesadores o alguna forma hbrida. En todos los casos, se necesita cierto algoritmo para decidir cul proceso hay que ejecutar y en qu mquina. Para el modelo de estaciones de trabajo, hay que decidir cundo ejecutar el proceso de manera local y cundo buscar una estacin inactiva. Para el modelo de la pila de procesadores, hay que tomar una decisin por cada nuevo proceso.

Uso de estaciones de trabajo inactivas


Plantea el problema de encontrar estaciones de trabajo inactivas en la red que puedan ejecutar procesos. Por lo cual las estaciones de trabajo deben de anunciar cuando no cuentan con una carga de trabajo asignada, as todas las dems estaciones toman nota de esto y lo registran.

Modelo de pila de procesadores


Este mtodo consiste en construir una pila de procesadores, repleta de CPU, en un cuarto de mquinas, los cuales se pueden asignar de manera dinmica a los usuarios segn la demanda.

Modelos de asignacin
Generalmente se utilizan las siguientes hiptesis: Todas las mquinas son idnticas o al menos compatibles en el cdigo, difieren a lo sumo en la velocidad. Cada procesador se puede comunicar con los dems. Las estrategias de asignacin de procesadores se pueden dividir en 2 categoras amplias: No migratorias: al crearse un proceso, se toma una decisin de donde colocarlo. Una vez colocado en la mquina, el proceso permanece ah hasta que termina. No se puede mover, no importa lo sobrecargada que est la mquina. Migratorias: Un proceso se puede trasladar aunque haya iniciado su ejecucin. Permiten un mejor balance de la carga pero son ms complejas y tienen un efecto fundamental en el diseo del sistema.

ASIGNACIN DE PROCESADORES Los algoritmos de asignacin intentan optimizar: Uso de las CPU: Maximizar el nmero de ciclos de CPU que se ejecutan para trabajos de los usuarios. Minimizar el tiempo de inactividad de las CPU. Tiempo promedio de respuesta: Minimizar no los tiempos individuales de respuesta sino los tiempos promedio de respuesta. Tasa de respuesta: Minimizar la tasa de respuesta, que es el tiempo necesario para ejecutar un proceso en cierta mquina dividido por el tiempo que tardara en cierto procesador de referencia.

Aspectos del diseo de algoritmos de asignacin


Las principales decisiones que deben tomar los diseadores se pueden resumir en 5 aspectos: 1. 2. 3. 4. 5. Algoritmos deterministas vs. Heursticos Algoritmos centralizados vs. distribuidos Algoritmos ptimos vs. subptimos Algoritmos locales vs. globales Algoritmos iniciados por el emisor vs iniciados por el receptor Algoritmos deterministas Son adecuados cuando se sabe de antemano todo acerca del comportamiento de los procesos. En pocos, 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. Se pueden definir en trminos de una mquina de estado; un estado describe qu est haciendo la mquina en un instante particular de tiempo. Justo cuando se produce la entrada, la mquina comienza en su estado inicial y, posteriormente, si la mquina es determinista, comenzar la ejecucin de la secuencia de estados predeterminados. Una mquina puede ser determinista y no tener lmite temporal para la ejecucin o quedarse en un bucle de estados cclicos eternamente. Ejemplos de mquinas abstractas deterministas son las mquinas de Turing deterministas y los autmatas finitos deterministas. Algoritmos heursticos Son adecuados cuando la carga es impredecible. Un algoritmo heurstico (o simplemente heurstica) puede producir una buena solucin (puede que la ptima) pero tambin puede que no produzca ninguna solucin o dar una solucin no muy buena. Normalmente, se basa en un conocimiento intuitivo del programador sobre un determinado problema.

ASIGNACIN DE PROCESADORES Diseo centralizado vs. Distribuido La recoleccin de toda la informacin en un lugar permite tomar una mejor decisin, pero menos robusta y coloca una carga pesada en la mquina central. Son preferibles los algoritmos descentralizados, pero se han propuesto algunos algoritmos centralizados por la carencia de alternativas descentralizadas adecuadas. Una desventaja de los centralizados es que la mquina central se puede sobrecargar y se pierde robustez ante su posible falla. Algoritmos ptimos vs. Sub ptimos: Se pueden obtener las soluciones ptimas tanto en los sistemas centralizados como en los descentralizados, pero por regla son ms caros que los sub ptimos. Hay que recolectar ms informacin y procesarla un poco ms. En la prctica la mayora de los sistemas distribuidos reales buscan soluciones sub ptimas, heursticas y distribuidas, debido a la dificultad para obtener las ptimas. El cuarto aspecto se relaciona con lo que se llama a menudo poltica de transferencia. Cuando se est a punto de crear un proceso, hay que tomar una decisin para ver si se ejecuta o no en la mquina que lo genera. Si esa mquina est muy ocupada, hay que transferir a otro lugar al Nuevo proceso. La opcin en este aspecto consiste en basar o no la decisin de transferencia por completo en la informacin local. Los algoritmos locales son sencillos, pero estn muy lejos de ser los ptimos, mientras que los globales solo dan un resultado poco mejor a un costo mayor. El ltimo aspecto trata de la poltica de localizacin. Una vez que la poltica de transferencia ha decidido deshacerse de un proceso, la poltica de localizacin debe decidir enviarlo. Es claro que esta poltica no puede ser local. Necesita informacin de la carga en todas partes para tomar una decisin inteligente. Sin embargo, esta informacin se puedes dispersar de dos maneras. En uno de los mtodos, los emisores inician el intercambio de informacin. En el otro, el receptor toma la iniciativa. Como ejemplo sencillo, observemos la figura 4-16(a). En sta, una mquina sobrecargada enva una solicitud de ayuda a las dems mquinas, con la esperanza de que descarguen el nuevo proceso en alguna otra mquina. En este ejemplo, el emisor toma la iniciativa para localizar ms ciclos del CPU. Por el contrario, en la figura 4-16 (b), una mquina inactiva o sub cargada anuncia a las dems que tiene poco trabajo y est preparada para ms. Su objetivo es localizar una mquina dispuesta a darle trabajo. Para ambos casos, el de los procesos iniciados por el emisor o por el receptor, los distintos algoritmos tienen estrategias diversas para decidir a quin examinar, el tiempo que durar dicho examen y qu hacer con los resultados. Sin embargo, en estos momentos debe quedar clara la diferencia entre ambos enfoques.

ASIGNACIN DE PROCESADORES

Aspectos de la Implantacin
Casi todos los algoritmos suponen que las mquinas conocen su propia carga y que pueden informar su estado: La medicin de la carga no es tan sencilla. Un mtodo consiste en contar el nmero de procesos (hay que considerar los procesos latentes no activos). Otro mtodo consiste en contar solo los procesos en ejecucin o listos. Tambin se puede medir la fraccin de tiempo que la cpu est ocupada.

Otro aspecto importante es el costo excesivo en consumo de recursos para recolectar medidas y desplazar procesos, ya que se debera considerar el tiempo de CPU, el uso de memoria y el ancho de banda de la red utilizada por el algoritmo para asignacin de procesadores. Se debe considerar la complejidad del software en cuestin y sus implicancias para el desempeo, la correctez y la robustez del sistema. Si el uso de un algoritmo sencillo proporciona casi la misma ganancia que uno ms caro y ms complejo, generalmente ser mejor utilizar el ms sencillo.

ASIGNACIN DE PROCESADORES Se debe otorgar gran importancia a la estabilidad del sistema: Las mquinas ejecutan sus algoritmos en forma asncrona por lo que el sistema nunca se equilibra. La mayora de los algoritmos que intercambian informacin: o Son correctos luego de intercambiar la informacin y de que todo se ha registrado. o Son poco confiables mientras las tablas continan su actualizacin, es decir que se presentan situaciones de no equilibrio.

Ejemplos de Algoritmos
UN ALGORITMO DETERMINISTA SEGN LA TEORA DE GRFICAS Una clase de algoritmos analizada con amplitud es para los sistemas que constan de procesos con requerimientos conocidos de CPU y memoria, adems de una matriz conocida con el trfico promedio entre cada pareja de procesos. Si el nmero k de CPU es menor que el nmero de procesos, habr que asignar varios procesos al mismo CPU. La idea es llevar a cabo esta asignacin de forma que se minimice el trfico en la red. El sistema se puede representar como grfica con pesos, donde cada nodo es un proceso y cada arco representa el flujo de mensajes entre dos procesos. Desde el punto de vista matemtico, el problema se reduce entonces a encontrar una forma de partir (es decir, cortar) la grfica en dos sub grficas ajenas, sujetas a ciertas restricciones (por ejemplo, el total de requerimientos de CPU y memoria deber estar por debajo de ciertos lmites para cada sub grfica). Para cada solucin que cumpla las restricciones, los arcos contenidos por completo dentro de una sub grfica representan la comunicacin entre las mquinas y se puede ignorar. Los arcos que van de una sub grfica a la otra representan el trfico en la red. El objetivo es entonces encontrar una particin que minimice el trfico en la red, a la vez que satisfaga todas las restricciones. La figura 4-17 muestra dos formas de partir la misma grfica, lo cual produce dos cargas distintas en la red.

ASIGNACIN DE PROCESADORES En la figura 4-17 (a) hemos partido la grfica con los procesos A, E y G en un procesador; los procesos B, F y H en un segundo; los procesos C, D en el tercero. El trfico total en la red es la suma de los arcos intersectados por las lneas punteadas, que en este caso es 30 unidades. En la figura 4-17 (b) tenemos una particin distinta, la cual slo tiene 28 unidades de trfico en la red. Si suponemos que cumple con todas las restricciones de memoria y de CPU, sta es una mejor opcin puesto que utiliza menor comunicacin. De manera intuitiva, lo que hacemos es buscar unidades de asignacin fuertemente acopladas (flujo intenso de trfico dentro de las unidades de asignacin), pero que interacten poco con las dems unidades (poco fluido de trfico entre las unidades). UN ALGORITMO CENTRALIZADO Los algoritmos de teora de grficas del tipo analizado tienen poca probabilidad, puesto que necesitan informacin completa de antemano, por lo que veremos ahora un algoritmo heurstico que no necesita dicha informacin. Este algoritmo, llamado arriba-abajo (Mutka y Livny, 1987) es centralizado, en el sentido de que un coordinador mantiene una tabla de uso, con una entrada por cada estacin de trabajo personal (es decir, por usuario), con una valor inicial de 0. Cuando ocurren eventos significativos, se pueden enviar mensajes al coordinador para actualizar la tabla. Las decisiones de asignacin se basan en esta tabla. Estas decisiones se tornan cuando ocurren eventos de planificacin: se realiza una solicitud, se libera un procesador, o bien el reloj hace una marca de tiempo. La parte poco comn de este algoritmo y la razn de ser centralizado es que en vez de intentar maximizar el uso del CPU, se preocupa por darle a cada poseedor de una estacin de trabajo una parte justa del poder de cmputo. Mientras que otros algoritmos pueden otorgarle todas las mquinas a un usuario, con la nica condicin de que las mantenga ocupadas (es decir, lograr un alto uso del CPU), este algoritmo est diseado para evitar eso precisamente. Cuando se va a crear un proceso y la mquina donde se crea decide que el proceso se debe ejecutar en otra parte, le pide al coordinador de la tabla de usos que le asigne un procesador. Si existe uno disponible y nadie ms lo desea, se otorga el permiso. Si no existen procesadores libres, la solicitud se niega por el momento y se toma nota de ella. Cuando el poseedor de una estacin de trabajo ejecuta procesos en las mquinas de otras personas, acumula puntos de penalizacin, un nmero fijo por cada segundo. Estos puntos se aaden a su entrada en la tabla de usos. Cuando tiene solicitudes pendientes no satisfechas, los puntos de penalizacin se restan de su entrada en la tabla de usos. Si no existen solicitudes pendientes y ningn procesador est en uso. La entrada de la tabla de usos se desplaza un cierto nmero de puntos hacia el cero, hasta que llega ah. De esta forma, su puntuacin se mueve hacia arriba o hacia abajo; de ah el nombre del algoritmo.

ASIGNACIN DE PROCESADORES Las entradas de la tabla pueden ser positivas, cero o negativas. Una puntuacin positiva indica que la estacin de trabajo es un usuario de los recursos del sistema, mientras que uno negativo significa que necesita recursos. Una puntuacin 0 es neutra. Podemos dar ahora la heurstica utilizada para la asignacin de procesadores. Cuando un procesador se libra, gana la solicitud pendiente cuyo poseedor tiene la puntuacin ms baja. En consecuencia, un usuario que no ocupe procesadores y que tenga pendiente una solicitud durante mucho tiempo siempre vencer a alguien que utilice muchos procesadores. Esta propiedad es la intencin del algoritmo: asignar la capacidad de manera justa. En la prctica, esto quiere decir que si un usuario tiene carga justa y continua en el sistema, pero otro usuario llega y desea iniciar un proceso, el usuario ligero ser favorecido, por encima del usuario pesado. Estudios de simulacin (Mutka y Livny, 1987) muestran que el algoritmo funciona como se esperaba bajo una variedad de condiciones de carga. UN ALGORITMO JERRQUICO El algoritmo anterior no se adapta bien a los sistemas de gran tamao, pues el nodo central se convierte en un cuello de botella y en un nico punto de fallo. Una solucin son los algoritmos jerrquicos que: Mantienen la sencillez de los centralizados. Se escalan mejor que los centralizados. Un mtodo consiste en organizar a los procesadores en jerarquas lgicas independientes de la estructura fsica: Se establece un rbol jerrquico con distintos niveles. Para cada grupo de mquinas hay una mquina administradora: o Mantiene un registro de las mquinas ocupadas y las inactivas. Cada procesador se comunica con un superior y un nmero reducido de subordinados: o El flujo de informacin es controlable.

En caso de falla de un equipo con funciones jerrquicas: Lo puede reemplazar un subordinado: o La eleccin la pueden hacer los subordinados, los pares jerrquicos del equipo fallado o el superior jerrquico del mismo.

Para disminuir la vulnerabilidad se puede tener en la cima del rbol jerrquico no uno sino un grupo de equipos; si alguno del grupo falla los restantes eligen a un subordinado para integrar el grupo superior.

ASIGNACIN DE PROCESADORES Las tareas se pueden crear en cualquier parte de la jerarqua y pueden requerir varios procesos, es decir varios procesadores. Cada administrador debe mantener un registro de sus equipos dependientes que estn disponibles. Si el administrador que recibe una solicitud determina que no tiene suficientes procesadores disponibles, transfiere la solicitud hacia arriba a su superior, quien tambin podra trasladarla hacia arriba nuevamente. Si el administrador determina que s puede satisfacer la solicitud: Divide la solicitud en partes y la distribuye a los administradores subordinados a l. Los subordinados repiten esta operacin hasta llegar al nivel inferior. Los procesadores se sealan como ocupados y el nmero de procesadores asignados se informa hacia arriba. Un importante problema consiste en que podra haber varias solicitudes en distintas etapas del algoritmo de asignacin: Puede conducir a estimaciones no actualizadas del nmero de procesadores disponibles (tambin pudieron salir de servicio algunos de los considerados disponibles). Podran presentarse situaciones de competencia, bloqueo, etc. en el intento de asignacin de procesadores. UN ALGORITMO DISTRIBUIDO HEURSTICO Al crearse un proceso: La mquina donde se origina enva mensajes de prueba a una mquina elegida al azar; pregunta si su carga est por debajo de cierto valor de referencia. Si la respuesta es positiva el proceso se enva a ese lugar. Si no, se elige otra mquina para la prueba.

Luego de n pruebas negativas el algoritmo termina y el proceso se ejecuta en la mquina de origen. UN ALGORITMO DE REMATES Utiliza un modelo econmico con: Compradores y vendedores de servicios. Precios establecidos por la oferta y la demanda. Los procesos deben comprar tiempo de CPU. Cada procesador anuncia su precio mediante un archivo que todos pueden leer (es el precio pagado por el ltimo cliente).

ASIGNACIN DE PROCESADORES Los distintos procesadores caractersticas y servicios. pueden tener distintos precios segn sus

Cuando un proceso desea iniciar un proceso hijo: Verifica si alguien ofrece el servicio que necesita. Determina el conjunto de procesadores que pueden prestar sus servicios. Selecciona el mejor candidato segn precio, rapidez, relacin precio / desempeo, tipo de aplicacin, etc. Genera una oferta y la enva a su primer opcin. Los procesadores: Renen las ofertas recibidas y eligen una. Informan a los ganadores y perdedores. Ejecutan los procesos. Actualizan los precios. PLANIFICACIN EN SISTEMAS DISTRIBUIDOS Generalmente cada procesador hace su planificacin local (si tiene varios procesos en ejecucin) independientemente de lo que hacen los otros procesadores. La planificacin independiente no es eficiente cuando se ejecutan en distintos procesadores un grupo de procesos: Relacionados entre s. Con una gran interaccin entre los procesos. Se necesita una forma de garantizar que los procesos con comunicacin frecuente se ejecuten de manera simultnea. En muchos casos un grupo de procesos relacionados entre s iniciarn juntos. La comunicacin dentro de los grupos debe prevalecer sobre la comunicacin entre los grupos. Se debe disponer de un nmero de procesadores suficiente para soportar al grupo de mayor tamao. Cada procesador se multiprograma con n espacios para los procesos (multiprogramacin de nivel n). El algoritmo de Ousterhout utiliza el concepto de coplanificacin: Toma en cuenta los patrones de comunicacin entre los procesos durante la planificacin. Debe garantizar que todos los miembros del grupo se ejecuten al mismo tiempo. Se emplea una matriz conceptual donde: o Las filas son espacios de tiempo. o Las columnas son las tablas de procesos de los procesadores. Cada procesador debe utilizar un algoritmo de planificacin Round Robin:

ASIGNACIN DE PROCESADORES o Todos los procesadores ejecutan el proceso en el espacio 0 durante un cierto perodo fijo. o Todos los procesadores ejecutan el proceso en el espacio 1 durante un cierto perodo fijo, etc. Se deben mantener sincronizados los intervalos de tiempo.

10

Todos los miembros de un grupo se deben colocar en el mismo nmero de espacio de tiempo pero en procesadores distintos.

Você também pode gostar