Anda di halaman 1dari 4

DRIVERA

apuntes de sistemas operativos 2


martes, 5 de abril de 2011
3.4.1 MODELOS Y ALGORITMOS CON SUS ASPECTOS DE DISEÑO
E IMPLANTACIÓN.
Aspectos del Diseño de Algoritmos de Asignación de Procesadores

Los principales aspectos son los siguientes:


 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.

Los algoritmos deterministas son adecuados cuando se sabe anticipadamente todo acerca del
comportamiento de los procesos, pero esto generalmente no se da, aunque puede haber en ciertos
casos aproximaciones estadísticas. Los algoritmos heurísticos son adecuados cuando la carga es
impredecible.
Los diseños centralizados permiten reunir toda la información en un lugar y tomar una mejor
decisión; la desventaja es que la máquina central se puede sobrecargar y se pierde robustez ante
su posible falla.
Generalmente los algoritmos óptimos consumen más recursos que los subóptimos, además, en la
mayoría de los sistemas reales se buscan soluciones subóptimas, heurísticas y distribuidas.
Cuando se va a crear un proceso se debe decidir si se ejecutará en la máquina que lo genera o en
otra (política de transferencia): La decisión se puede tomar “solo con información local” o “con
información global”.
Los algoritmos locales son sencillos pero no óptimos.
Los algoritmos globales son mejores pero consumen muchos recursos.
Cuando una máquina se deshace de un proceso la política de localización debe decidir dónde
enviarlo:
Necesita información de la carga en todas partes, obteniéndola de: Un emisor sobrecargado que
busca una máquina inactiva.
Un receptor desocupado que busca trabajo.

‘’‘Aspectos de la Implantación de Algoritmos de Asignación de Procesadores’‘’

Casi todos los algoritmos suponen que las máquinas conocen su propia carga y que pueden
informar su estado: La medición de la carga no es tan sencilla.
Un método consiste en contar el número de procesos (hay que considerar los procesos latentes no
activos). Otro método consiste en contar solo los procesos en ejecución o listos.
También se puede medir la fracción 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 debería considerar el tiempo de CPU, el uso de memoria y el ancho
de banda de la red utilizada por el algoritmo para asignación de procesadores.
Se debe considerar la complejidad del software en cuestión y sus implicancias para el desempeño,
la correcta y la robustez del sistema.
Si el uso de un algoritmo sencillo proporciona casi la misma ganancia que uno más caro y más
complejo, generalmente será mejor utilizar el más sencillo.
Se debe otorgar gran importancia a la estabilidad del sistema:
Las máquinas ejecutan sus algoritmos en forma asíncrona por lo que el sistema nunca se
equilibra.
La mayoría de los algoritmos que intercambian información:
Son correctos luego de intercambiar la información y de que todo se ha registrado.
Son poco confiables mientras las tablas continúan su actualización, es decir que se presentan
situaciones de no equilibrio.

Modelos de Asignación
Generalmente se utilizan las siguientes hipótesis:
 Todas las máquinas son idénticas (o al menos compatibles en el código); difieren a lo
sumo en la velocidad.
 Cada procesador se puede comunicar con los demás.
Las estrategias de asignación de procesadores se dividen en:
 No migratorias:
 Una vez colocado un proceso en una máquina permanece ahí hasta que termina.
 Migratorias:
 Un proceso se puede trasladar aunque haya iniciado su ejecución.
 Permiten un mejor balance de la carga pero son más complejas.
Los algoritmos de asignación intentan optimizar algo:
 Uso de las CPU:
 Maximizar el número 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 máquina dividido por el tiempo que tardaría en cierto procesador de referencia.
Publicado por riverita en 15:21
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con
FacebookCompartir en Pinterest
Etiquetas: modelos y algoristo de diseño

http://riveritad.blogspot.com/2011/04/341-modelos-y-algoritmos-con-sus.html
MC. J. ADRIAN HERRERO PEREZRUL > Sistemas Operativos 2 >

3.4. Asignación de procesadores: modelo y algoritmos con sus


aspectos de diseño e implantación.
Un sistema distribuido consta de varios procesadores que se pueden organizar estaciones de trabajo no
dedicadas, como un stack (pila pública) de procesadores o alguna forma híbrida. En todos los casos, se
necesita tomar la decisión de cuál proceso hay que ejecutar y en qué máquina. Para el modelo de estaciones
de trabajo,la decisión está en elegir ejecutar procesos de manera local y cuándo de manera remota, para
buscar una estación desocupada. Para el modelo de la pila de procesadores, hay que tomar la decisión en
tiempo de ejecución para la asignación de cada proceso. En general los algoritmos de asignación tienen su
balance entre complejidad y economía en 5 enfoques de diseño:

1.- Algoritmos Deterministas vs. Heurísticos.

2.- Algoritmos Distribuidos vs. Centralizados.

3.- Algoritmos Óptimos vs. Subóptimos.

4.- Algoritmos Locales vs. Globales.

5.- Algoritmos Iniciados por el emisor vs. Iniciados por el receptor.

Los algoritmos deterministas son adecuados cuando se tiene parametrizado y sistematizado el comportamiento
de los procesos, lo cual no es tarea sencilla, pero se puede abordar mediante una aproximación estadística. Los
algoritmos heurísticos son adecuados cuando la carga es impredecible, pero requieren de mucho ingenio o de
poder describir formalmente la operación en términos de estados del sistema.

Los diseños centralizados permiten reunir toda la información en un lugar y tomar una mejor decisión; la
desventaja es que lleva un cuello de botella hacia la máquina central y se pierde robustez en caso de que ésta
falle.

Por definición los algoritmos óptimos consumen más recursos que los sub-óptimos, pero esto puede ser muy
relativo, ya que todo depende que qué tan lejos está la solución de su punto óptimo, máximo rendimiento por
menor costo. Por otra parte en la mayoría de los sistemas reales se buscan soluciones sub-óptimas,
heurísticas y distribuidas, excepto en aquellos casos de operaciones críticas y en tiempo real.

Cuando se va a crear un proceso se debe decidir dónde se ejecutará mediante una política de
transferencia. La decisión se puede tomar solo con información local o con información global, mientras más
estructurada, mejor pero mas costosa. Entonces estamos sujetos a que los algoritmos locales son sencillos
pero no óptimos y que los algoritmos globales son mejores pero consumen muchos recursos.

Cuando una máquina delega la ejecución de un proceso, la política de localización debe decidir dónde enviarlo,
necesita información de la carga en todas partes, pero debe desencadenarse como un evento, ya que de otra
manera es inviable estar monitoreando el estado general del sistema si no necesitamos balancear la carga de
trabajo. Entonces la comunicación para consultar el estado del sistema puede originarse por:

- Un emisor sobrecargado que busca una máquina inactiva para descargarse.


- Un receptor desocupado que busca trabajo para ocuparse.

Aspectos de la Implantación de Algoritmos de Asignación de Procesadores.

Casi todos los algoritmos suponen que las máquinas conocen su propia carga y que pueden informar su estado,
porque la medición centralizada de la carga no es tan sencilla. Un método consiste en contar el número de
procesos (incluyendo los procesos latentes no activos), o bien contar solo los procesos en ejecución o
terminados; También se puede medir la fracción de tiempo que la CPU está ocupada, pero las métricas de
rendimiento puede variar su percepción de sobrecarga dependiendo del punto de vista de la medición.

Otro aspecto importante es el costo excesivo en consumo de recursos para recolectar medidas y desplazar
procesos, pues consume tiempo de CPU, el doble del espacio de memoria original, y el ancho de banda de la
red por un lapso de tiempo. Por eso se debe otorgar gran importancia a la estabilidad del sistema, porque no es
deseable usar una estrategia migratoria, a menos que la aplicación así lo requiera por su naturaleza.

Independientemente de los Modelos de Asignación utilizados, tomamos las siguientes consideraciones:

a) Todas las máquinas son idénticas (o al menos compatibles en el código); difieren a lo sumo en la velocidad.

b) Cada procesador se puede comunicar con los demás.

c) Las estrategias de asignación de procesadores se prefieren No migratorias.

d) Se usarán estrategias migratorias si se requiere hacer un balance de la carga en tiempo de ejecución.

e) Buscamos maximizar el número de ciclos de las CPU's que se ejecutan para trabajos de los usuarios,
minimizar el tiempo de inactividad y tener un tiempo promedio de respuesta razonable, no tanto los tiempos
individuales.

f) Se trata de minimizar la tasa de respuesta, que es el tiempo necesario para ejecutar un proceso en cierta
máquina dividido por el tiempo que tardaría en cierto procesador de referencia.

https://sites.google.com/site/mrtripus/home/sistemas-operativos-2/3-4-asignacion-de-
procesadores-modelo-y-algoritmos-con-sus-aspectos-de-diseno-e-implantacion