You are on page 1of 8

REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR UNIVERSIDAD NACIONAL EXPERIMENTAL ROMULO GALLEGOS

CATEDRA DE SISTEMAS DISTRIBUIDOS

INTEGRANTES: Reynder Snchez CI: 12572738 Luis Celis CI: 17970086 Samuel Bustamante CI: 19472862 Prof: Luis Cerezo.

San Juan de Los Morros 23 de Enero de 2014

ASIGNACIN DE PROCESADORES DE LOS SISTEMAS DISTRIBUIDOS 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, la pregunta es 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.

En cuarto lugar, cada mquina puede tener un sistema de archivos auto contenido, con la posibilidad de montarlo o tener su sistema de archivos de otras mquinas. La idea aqu es que cada aparato auto contenida en lo fundamental y que el contacto con el mundo exterior sea limitado. Este sistema proporciona un tiempo de respuesta uniforme y garantizada 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 dems 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 remote y ambos descubren que la misma maquina esta inactiva, ambos intentaran iniciar procesos al mismo tiempo. Para detectar y evitar esta situacin, el programa remote verifica la estacin de trabajo inactiva, la cual si continua libre se elimina as misma del registro y da la seal de continuar, de esta manera quien hizo la llamada puede enviar su ambiente e iniciar el proceso remoto.

ESTACIONES DISTRIBUIDOS

DE

TRABAJO

INACTIVAS

DE

LOS

SISTEMAS

La idea consiste en ordenar remotamente la ejecucin de procesos en estaciones de trabajo inactivas]. Los aspectos clave son: Cmo encontrar una estacin de trabajo inactiva? Cmo lograr que un proceso remoto se ejecute de forma transparente?. Qu ocurre si regresa el poseedor de la mquina? Generalmente se considera que una estacin de trabajo est inactiva cuando se dan ambas condiciones: Nadie toca el ratn o el teclado durante varios minutos. No se ejecuta algn proceso iniciado por el usuario. Los algoritmos para localizar las estaciones de trabajo inactivas se pueden dividir en dos categoras: Controlados por el servidor. Controlados por el cliente. Algoritmos controlados por el servidor:

Cuando una estacin de trabajo est inactiva: Se convierte en un servidor potencial. Adems Anuncia su disponibilidad, y Proporciona su nombre, direccin en la red Grabndolos en un archivo, o Transmitindolos a las otras estaciones. Se pueden dar situaciones de competencia entre distintos usuarios para acceder a la misma estacin inactiva al mismo tiempo: Se deben detectar al ingresar el requerimiento. Solo progresa el primer requerimiento arribado. Se elimina a la estacin de la lista de inactivas.

Quien hizo el llamado puede enviar su ambiente e iniciar el proceso remoto. Algoritmos controlados por el cliente: El cliente transmite una solicitud indicando el programa que desea ejecutar, la cantidad de memoria necesaria, si requiere un chip coprocesador, Luego Al regresar la respuesta se elige una estacin y se le configura.

Para ejecutar el proceso en la estacin remota seleccionada se debe lograr: El desplazamiento del cdigo, La configuracin del proceso remoto de modo que Vea el mismo ambiente que tendra en el caso local, en l a estacin de trabajo de origen, por otra parte se Ejecute de la misma forma que en el caso local y se necesita la misma visin del sistema de archivos, el mismo directorio de trabajo, etc. Ahora bien si se trabaja sobre el servidor de archivos se envan las solicitudes de disco al servidor, o se trabaja con discos locales se envan las solicitudes a la mquina de origen para su ejecucin. Nunca se pueden ejecutar en la mquina remota, Deben regresar a la mquina de origen, y todas lo que las llamadas al sistema que soliciten el estado de la mquina deben realizarse en la mquina donde se ejecuta el proceso. Aunque las llamadas al sistema relacionadas con el tiempo son un serio problema debido a las dificultades de sincronizacin. Sim embargo en caso de que se regrese el poseedor de la mquina: Se podra no hacer nada, contra la idea de estaciones de trabajo personales, y se podra eliminar el proceso intruso Abruptamente, perdindose el trabajo hecho y generando caos en el sistema de archivos, Ordenadamente, salvando el procesamiento ya hecho y preservando la integridad del sistema de archivos.

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. Desde el punto de vista conceptual este mtodo es ms parecido al tiempo compartido tradicional que al modelo de la computadora personal aunque se construye con la tecnologa moderna. La motivacin para la idea de la pila de procesadores proviene de dar un paso ms adelante en la idea de las estaciones de trabajo sin disco. Si el sistema de archivos se debe concentrar en un pequeo nmero de servidores de archivos para mayor economa, debe ser posible hacer lo mismo con los servidores de computo, es decir si colocamos todos los CPU en un gabinete de gran tamao en el cuarto de artefactos se pueden reducir los costos de suministro de energa y de empaquetamiento, lo cual produce un mayor poder de computo con una cantidad fija de dinero.

De hecho convertimos todo el poder de cmputo en estaciones de trabajo inactivas a las que se puede tener acceso de manera dinmica. Los usuarios obtienen tantos CPU como sea necesario, durante periodos cortos, despus de lo cual regresan a la pila, de modo que otros usuarios puedan disponer de ellos. PLANIFICACIN DE SISTEMAS DISTRIBUIDOS No hay mucho que decir de la planificacin en los sistemas distribuidos. Por lo general, cada procesador hace su planificacin local (si tiene varios procesos en ejecucin), sin preocuparse por lo que hacen los dems procesadores. Lo normal es que este mtodo funcione. Sin embargo, si un grupo de procesos relacionados entre s y con gran interaccin se ejecutan en distintos procesadores, la planificacin independiente no es el camino ms eficiente.

La dificultad bsica se puede mostrar mediante un ejemplo, en el cual los procesos A y B se ejecutan en un procesador y los procesos C y D en otro. El tiempo de cada procesador se comparte en pedazos de 100 milisegundos, donde A y C se ejecutan en los pedazos pares y B y D en los nones. Es el turno de C. Despus de 100 milisegundos, se alternan los procesos, D obtiene el mensaje de A, lleva a cabo el trabajo y responde con rapidez. Puesto que B est ejecutndose, pasarn otros 100 milisegundos antes de que A obtenga la respuesta y pueda proseguir. El resultado neto es un intercambio de mensajes cada 200 milisegundos. Lo que se necesita es una forma de garantizar que los procesos con comunicacin frecuente se ejecuten de manera simultnea. Aunque es difcil determinar en forma dinmica los patrones de comn entre los procesos, en muchos casos, un grupo de procesos relacionados entre s iniciarn juntos.

TRANSACCIONES EN LAS COMUNICACIONES DE LOS SISTEMAS DISTRIBUIDOS Sabemos que una transaccin es una coleccin de acciones que hacen transformaciones consistentes de los estados de un sistema preservando la consistencia del sistema. Una base de datos est en un estado consistente si obedece todas las restricciones de integridad definidas sobre ella. Los cambios de estado ocurren debido a actualizaciones, inserciones, y supresiones de informacin. Por supuesto, se quiere asegurar que la base de datos nunca entra en un estado de inconsistencia. Sin embargo, durante la ejecucin de una transaccin, la base de datos puede estar temporalmente en un estado inconsistente. El punto importante aqu es asegurar que la base de datos regresa a un estado consistente al fin de la ejecucin de una transaccin Lo que se persigue con el manejo de transacciones es por un lado tener una transparencia adecuada de las acciones concurrentes a una base de datos y por otro lado tener una transparencia adecuada en el manejo de las fallas que se pueden presentar en una base de datos. Aspectos relacionados al procesamiento de transacciones Los siguientes son los aspectos ms importantes relacionados con el procesamiento de transacciones: 1. Modelo de estructura de transacciones. Es importante considerar si las transacciones son planas o pueden estar anidadas. 2. Consistencia de la base de datos interna. Los algoritmos de control de datos semntico tienen que satisfacer siempre las restricciones de integridad cuando una transaccin pretende hacer un commit. 3. Protocolos de confiabilidad. En transacciones distribuidas es necesario introducir medios de comunicacin entre los diferentes nodos de una red para garantizar la atomicidad y durabilidad de las transacciones. As tambin, se requieren protocolos para la recuperacin local y para efectuar los compromisos (commit) globales. 4. Algoritmos de control de concurrencia. Los algoritmos de control de concurrencia deben sincronizar la ejecucin de transacciones concurrentes bajo el criterio de correcto. La consistencia entre transacciones se garantiza mediante el aislamiento de las mismas.

5. Protocolos de control de rplicas. El control de rplicas se refiere a cmo garantizar la consistencia mutua de datos replicados. Por ejemplo se puede seguir la estrategia read-one-write-all (ROWA). Utilizacin de las Transacciones Las transacciones distribuidas abarcan dos o ms servidores conocidos como administradores de recursos. La administracin de la transaccin debe ser coordinada entre los administradores de recursos mediante un componente de servidor llamado administrador de transacciones. Cada instancia de SQL Server Database Engine (Motor de base de datos de SQL Server) puede funcionar como administrador de recursos en las transacciones distribuidas que coordinan los administradores de transacciones, como el Coordinador de transacciones distribuidas de Microsoft (MS DTC) u otros administradores que admitan la especificacin Open Group XA del procesamiento de transacciones distribuidas. Para obtener ms informacin, consulte la documentacin de MS DTC. Una transaccin de una sola instancia de Database Engine (Motor de base de datos) que abarque dos o ms bases de datos es, de hecho, una transaccin distribuida. La instancia administra la transaccin distribuida internamente; para el usuario funciona como una transaccin local. En la aplicacin, una transaccin distribuida se administra de forma muy parecida a una transaccin local. Al final de la transaccin, la aplicacin pide que se confirme o se revierta la transaccin. El administrador de transacciones debe administrar una confirmacin distribuida de forma diferente para reducir al mnimo el riesgo de que, si se produce un error en la red, algunos administradores de recursos realicen confirmaciones mientras los dems revierten la transaccin. Esto se consigue mediante la administracin del proceso de confirmacin en dos fases (la fase de preparacin y la fase de confirmacin), que se conoce como confirmacin en dos fases (2PC).

TOLERANCIA A FALLAS se puede cumplir cuando a la base hardware adecuado se le aaden polticas y mecanismos tolerantes a fallas. El objetivo del diseo y construccin de sistemas tolerantes a fallas consiste en garantizar que el sistema contine funcionando de manera correcta como un todo, incluso en presencia de fallas. Se dice que un sistema falla cuando no cumple su especificacin. En algunos casos, como en un sistema de ordenamiento distribuido de productos en un supermercado, una falla podra provocar la falta de algunos productos en la tienda. En otros casos, como en un sistema distribuido para el control de trfico areo, una falla podra ser catastrfica. Como las computadoras y los sistemas distribuidos se utilizan cada vez ms en misiones donde la seguridad es crtica, la necesidad de soportar las fallas cada vez es mayor. Un sistema consiste de un conjunto de componentes de hardware y software y son diseados para proveer un servicio especfico. Los componentes de un sistema pueden estar interrelacionados entre ellos. Un desperfecto de un sistema ocurre cuando el sistema no desempea estos servicios de la manera especificada. Un estado errneo en un sistema es un estado en el cual podra conducir a un fallo en el sistema. Un fallo es una condicin fsica anormal, las causas de un fallo incluyen: errores de diseo (como errores en la especificacin del sistema o en la implementacin), problemas de fabricacin, deterioro por el uso u otros problemas externos (como condiciones ambientales adversas, interferencia electromagntica, entradas imprevistas o el mal uso del sistema). Un error es una parte del estado del sistema la cual difiere de los valores esperados. Un error del sistema puede ser visto como una manifestacin de mal funcionamiento del sistema, el cual podra conducir a un fallo del sistema. Es necesario entonces, que el sistema sea capaz de recuperarse de las fallas, necesitamos deshacernos del estado de error del sistema, en otras palabras, la recuperacin de un fallo, es un proceso que involucra la restauracin de un estado errneo a un estado libre de error.

You might also like