miércoles, 28 de enero de 2009

Asignacion de Procesadores

Por definición, un sistema distribuido consta de varios procesadores. Estos se pueden organizar como colección de estaciones de trabajo personales, una pila pública de
procesadores o alguna forma híbrida. En todos los casos, se necesita cierto algoritmo para decidir cuál proceso hay que ejecutar y en qué máquina. Para el modelo de estaciones de trabajo, la pregunta es cuándo ejecutar el proceso de manera local y cuándo buscar una estación inactiva. Para el modelo de la pila de procesadores, hay que tomar una decisión por cada nuevo proceso.
En cuarto lugar, cada maquina puede tener un sistema de archivos auto contenido, con la posibilidad de montarlo o tener su sistema de archivos de otras maquinas. La idea aquí es que cada maquina esta auto contenida en lo fundamental y que el contacto con el mundo exterior sea limitado. Este sistema proporciona un tiempo de respuesta uniforme y garantizado para el usuario y pone poca carga en la red.

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 demás estaciones toman nota de esto y lo registran.
Ya sea que existan muchos o pocos registros, existe un peligro potencial de que aparezcan condiciones de competencia si dos usuarios llaman al mismo tiempo al comando remoto y ambos descubren que la misma maquina esta inactiva, ambos intentaran iniciar procesos al mismo tiempo. Para detectar y evitar esta situación, el programa remoto verifica la estación de trabajo inactiva, la cual si continua libre se elimina así misma del registro y da la señal de continuar, de esta manera quien hizo la llamada puede enviar su ambiente e iniciar el proceso remoto.

Modelo de pila de procesadores

Este método consiste en construir una pila de procesadores, repleta de CPU, en un cuarto de maquinas, los cuales se pueden asignar de manera dinámica a los usuarios según la demanda.
Desde el punto de vista conceptual este método es mas parecido al tiempo compartido tradicional que al modelo de la computadora personal aunque se construye con la tecnología moderna. La motivación para la idea de la pila de procesadores proviene de dar un paso mas adelante en la idea de las estaciones de trabajo sin disco. Si el sistema de archivos se debe concentrar en un pequeño numero de servidores de archivos para mayor economía, debe ser posible hacer lo mismo con los servidores de computo, es decir si colocamos todos los CPU en un gabinete de gran tamaño en el cuarto de maquinas se pueden reducir los costos de suministro de energía y de empaquetamiento, lo cual produce un mayor poder de computo con una cantidad fija de dinero.

Un modelo híbrido

Se puede establecer una mediación al proporcionar a cada usuario una estación de trabajo personal y además tener una pila de procesadores. Aunque esta solución es más cara que cualquiera de los dos modelos puros, combina las ventajas de arribos. El trabajo interactivo se puede llevar a cabo en las estaciones de trabajo, con una respuesta garantizada. Sin embargo, las estaciones inactivas no se utilizan, lo cual hace más sencillo el diseño del sistema. Sólo se dejan sin utilizar. En vez de esto, todos los no interactivos se ejecutan en la pila de procesadores, así como todo el cómputo pesado en general. Este modelo proporciona una respuesta interactiva más rápida, un uso eficiente de los recursos y un diseño sencillo.

20 comentarios:

  1. En la Asignación de Procesadores son necesarios algoritmos para decidir cuál proceso hay que ejecutar y en qué máquina; Casi todos los algoritmos suponen que las máquinas conocen su propia carga y que pueden informar su estado.

    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.

    ResponderEliminar
  2. Tambien se puede acotar; que se deben considerar la complejidad del software en cuestión y sus implicancias para el desempeño, la correctez 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.

    ResponderEliminar
  3. Los principales aspectos del diseño de algoritmos de asignación de procesadores 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.
    Maira Magallán
    C.I.: 11.115.915
    Sección "4"

    ResponderEliminar
  4. En la Asignacion de procesadores son necesarios algoritmos que definan o decidan en que maquina y que proceso se debe ejecutar.

    Para estas decisiones estan resumidas en los sigientes aspectos:

    1.Algoritmos Deterministas Vs Heuristicos
    2.Algoritmos Centralizados Vs Distribuidos
    3.Algoritmos Optimos Vs subotimos
    4.Algoritmos Locales Vs Globales
    5.Algortimos iniciados por el emisor Vs inicidos por el receptor.

    Dentro de los modelos de asigancion encontramos:
    1. No migratorias
    2.Migratoias

    ResponderEliminar
  5. Ahora bien Generalmente cada procesador hace su planificación local (si tiene varios procesos en ejecución) independientemente de lo que hacen los otros procesadores

    La planificación independiente no es eficiente cuando se ejecutan en distintos procesadores un grupo de procesos:
    Relacionados entre sí.
    Con una gran interacción entre los procesos.

    El algoritmo de Ousterhout utiliza el concepto de coplanificación:
    •Toma en cuenta los patrones de comunicación entre los procesos durante la planificación.
    •Debe garantizar que todos los miembros del grupo se ejecuten al mismo tiempo.
    •Se deben mantener sincronizados los intervalos de tiempo.
    •Todos los miembros de un grupo se deben colocar en el mismo número de espacio de tiempo pero en procesadores distintos.

    ResponderEliminar
  6. Yudeixy Meza C.I 17688852 Seccion "2" Grupos 1 q presnto en la seccion "4" Sincronizacion de sistemas distribuidos

    ResponderEliminar
  7. Bruno Aguirre 18.616.788
    Secc 2

    Una desventaja es que si un hilo de una aplicación se bloquea en espera de una E/S o por sincronizacion de otro hilo, el procesador de dicho hilo quedara desocupado: no hay multiprogramacion de procesadores.

    Esta forma de planificación presenta las siguientes ventajas:


    En un sistema masivamente paralelo, con decenas o cientos de procesadores cada uno de los cuales representa una pequeña parte del coste del sistema, la utilización del procesador no es tan importante como medida de la efectividad o el rendimiento.

    La anulación total del intercambio de procesos durante el tiempo de vida de un programa dara como resultado una aceleracion sustancial del programa.

    ResponderEliminar
  8. Las transacciones fueron originalmente desarrolladas para ser utilizadas dentro de los sistemas de base de datos, donde se usaba para auxiliar en el mantenimiento de los datos de las aplicaciones y que dependían de la consistencia de la información almacenada. Los sistemas distribuidos son potencialmente muy fiables debido a la posibilidad de proveer redundancia y autonomía de recursos en diferentes nodos, esto permite detectar y localizar fallas, sin embargo comúnmente tenemos varios aspectos que representan problemas para la integridad de los recursos y que a su vez motivan el uso de transacciones:
    1.Dificultad para mantener consistencia en los datos.

    2.Una misma vía de comunicación no siempre puede ser utilizada para proveer interacción entre 2 procesos.

    3.Requerimientos de procesamiento en paralelo.

    4.Manejo interactivo de uno o más usuarios
    Jessimar Loreto CI:18.895.340
    Seccion 04

    ResponderEliminar
  9. La asignación de procesadores consiste como su nombre lo indica, en dedicar un grupo de procesadores a una aplicación mientras dure esta aplicación, de manera que cada hilo de la aplicación se le asigna un procesador. Una desventaja es que si un hilo de una aplicación se bloquea en espera de una E/S o por sincronización de otro hilo, el procesador de dicho hilo quedara desocupado: no hay multiprogramación de procesadores. Pero con la ventaja de que en sistema masivamente paralelo, con decenas o cientos de procesadores cada uno de los cuales representa una pequeña parte del coste del sistema, la utilización del procesador no es tan importante como medida de la efectividad o el rendimiento.
    Jessimar Loreto CI:18.895.340
    Seccion 04

    ResponderEliminar
  10. La asignación de proceso es una estrategia que consiste como su nombre lo indica, en dedicar un grupo de procesadores a una aplicación mientras dure una aplicación, de manera que cada hilo de la aplicación se le asigna un procesador. Una desventaja es que si un hilo de una aplicación se bloquea en espera de una E/S o por sincronización de otro hilo, el procesador de dicho hilo quedara desocupado: no hay multiprogramación de procesadores.
    Aquí se establece un conjunto de maquinas y que cada una de ellas pueda tener un sistema de archivo auto-contenido, con la posibilidad de montarlo o tener su sistema de archivo de otra maquina. La idea aquí es que cada maquina esta auto contenida en lo fundamental y que el contacto con el mundo exterior sea limitado.

    Teresa Castro CI:18.834.916
    Sección 04

    ResponderEliminar
  11. Las transacciones son de vital importancia en este mundo moderno en que vivimos, debido a que hoy en dia, practicamente todas las operaciones se realizan a traves de transacciones realizadas utilizando las computadoras para lograrlo, e aqui un ejemplo clave, para transferir dinero de una cuenta a otra, se deben utilizar las computadoras a traves de la internet, tambien esta por ejemplo, cuando se requiere hacer algun tipo de pagos de compras realizadas por internet se puede utlizar esta tecnica, sin embargo no todo es color de rosa, existen muchos fraudes y delitos que se cometen al momento de realizar estas operaciones por las que se debe tener precaucion y tolerancia a fallos, una de las alternativas para evitar un fallo en la transaccion y evitar perdidas seria tomar un plan de contingencia por parte de los entes encargados de realizar la trans, por ejemplo los bancos, utilizando tecnicas como llamadas a los usuarios antes de realizar cualquier operacion en su cuenta, asi como actualmente lo hace el Banesco, que ya utiliza este metodo de contingencia ante delitos informaticos.

    ResponderEliminar
  12. Asignación de Procesadores

    Son necesarios el uso de algoritmos para decidir cuál proceso hay que ejecutar y en qué máquina se va a realizar.

    Para el modelo de estaciones de trabajo:

    Decidir cuándo ejecutar el proceso de manera local y cuándo es necesario buscar estaciónes inactivas o no locales que tienen una conexion a la misma red pero fuera de ella.
    Para el modelo de la pila de procesadores:

    Decidir dónde ejecutar cada nuevo proceso respecto de la misma maquina que es la tabla(lista) de los procesos que se crean dentro de la maquina. Espinoza Carelis 17559799

    ResponderEliminar
  13. Modelos híbridos
    Ejemplo: Amoeba, de la Universidad Libre de Amsterdam
    Consiste en:
    Un sistema de Estaciones y Servidores +
    un Banco de Procesadores.
    Funcionalidad mixta:
    Estaciones para las aplicaciones interactivas
    procesadores variados
    servidores especializados
    Características:
    Núcleo pequeño: planificación y paso de mensajes
    El Sistema Operativo corre como procesos de usuario
    Servicio de pasarelas a WAN
    Gestión del banco:
    Servidor de carga: informa al cliente de los requisitos de su programa (tipo de CPU, cantidad de memoria, ...)
    Servidor de procesos: selecciona un procesador del banco y le da al cliente una credencial.
    Ventajas:
    Recursos de procesamiento ajustados a las necesidades del usuario
    Ejecución concurrente
    Acceso a través de terminales.
    Espinoza Carelis 17559799

    ResponderEliminar
  14. La Asignación de procesadores no es mas que la decisión que se tiene que tomar para determinar cuales son los procesos a ejecutar y en cual equipo, donde diferentes algoritmos son los encargados de realizar dicha función. Es importante resaltar que son muchos los aspectos a considerar al implementar Algoritmos de Asignación; uno de ellos es 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.

    Aponte Luis C.I: 17.937.749
    Seccion 4

    ResponderEliminar
  15. Asignación de Procesadores

    Son necesarios algoritmos para decidir cuál proceso hay que ejecutar y en qué máquina
    Para el modelo de estaciones de trabajo:

    * Decidir cuándo ejecutar el proceso de manera local y cuándo es necesario buscar estaciónes inactivas o no locales que tienen una conexion a la misma red pero fuera de ella.

    Para el modelo de la pila de procesadores:

    * Decidir dónde ejecutar cada nuevo proceso respecto de la misma maquina que es la tabla(lista) de los procesos que se crean dentro de la maquina.
    sofia flores 17062545 seccion 4

    ResponderEliminar
  16. Uno de los Aspectos del Diseño de Algoritmos de Asignación de Procesadores es que al 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.

    Aponte Luis C.I: 17.937.749
    Sección 4

    ResponderEliminar
  17. La tolerancia a fallos es un aspecto crítico para aplicaciones a gran escala, ya que aquellas simulaciones que pueden tardar del orden de varios días o semanas para ofrecer resultados deben tener la posibilidad de manejar cierto tipo de fallos del sistema o de alguna tarea de la aplicación.
    Sin la capacidad de detectar fallos y recuperarse de estos, dichas simulaciones pueden no llegar a completarse. Es más, algunos tipos de aplicaciones requieren ser ejecutadas en un entorno tolerante a fallos debido al nivel de seguridad requeridos.
    De cualquier forma, en ciertos casos debería haber algún modo de detectar y responder automáticamente a ciertos fallos del sistema o al menos ofrecer cierta información al usuario en el caso de producirse un fallo.

    Teresa Castro CI:18.834.916
    Sección 04

    ResponderEliminar
  18. Asignación de Procesadores

    Son necesarios algoritmos para decidir cuál proceso hay que ejecutar y en qué máquina.

    Para el modelo de estaciones de trabajo:

    Decidir cuándo ejecutar el proceso de manera local y cuándo buscar una estación inactiva.

    Para el modelo de la pila de procesadores:
    Decidir dónde ejecutar cada nuevo proceso.
    Gonzalez_Julelba,C.I.17396287 seccion:4

    ResponderEliminar
  19. 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.
    gonzalez julelba

    ResponderEliminar