Sistemas de Computación SISTEMAS de PROCESAMIENTO DISTRIBUIDO Si no existe multiplicidad de recursos asignados que suministren servicios, no podrá existir distribución. Referencias: - What is a “Distributed” data processing systems? Philip H. Enslow, Jr. en: revista IEEE Computer, Jan. 1978, pp 13-21 1. INTRODUCCIÓN Que es lo distribuido? - hardware o lógica de procesamiento datos el procesamiento mismo el control (Sistema Operativo) Se estima que, teniendo distribuido al menos uno de los componentes anteriores, estamos, entonces, frente a un SISTEMA DE PROCESAMIENTO DE DATOS DISTRIBUIDO. Nuevas definiciones indican la adopción de los siguientes 5 criterios: MULTIPLICIDAD de componentes de propósito general, incluyendo recursos lógicos y físicos, los que pueden ser asignados a tareas específicas sobre una base dinámica. No se requiere homogeneidad de los recursos. DISTRIBUCIÓN FÍSICA de los componentes físicos y lógicos del sistema, interactuando a través de una red. SISTEMA OPERATIVO DE ALTO NIVEL que unifique e integre el control de los componentes distribuidos. Cada procesador individual debe tener su propio S.O. local y éste debe ser único. TRANSPARENCIA DEL SISTEMA que permita servicios solicitados sólo por el nombre. El servidor no debería ser identificado. AUTONOMÍA COOPERATIVA caracterizando la operación e interacción de los recursos lógicos y físicos. Estas características operativas y propiedades se presentan en los sistemas en diferentes grados, proporcionando algún tipo de beneficio. Sin embargo, la combinación de todos los criterios definirán un SISTEMA DE PROCESAMIENTO DISTRIBUIDO. 2 MULTIPLICIDAD 1/2000 Es necesario que el sistema tenga la habilidad de reconfigurarse dinámicamente en lapsos de tiempo pequeños (Short-term). Esta reconfiguración o reasignación de recursos debe realizarse sin afectar la operación de aquellos recursos no comprometidos directamente. Para determinar que recursos son los que se deben multiplicar debe considerarse los propósitos del sistema. - propósito general propósito especial (función fija) control en línea proceso de transacciones donde, tal vez, algunos recursos estarán dedicados (no reasignables). Existirán muchas variaciones, desde el sistema con sólo 1 recurso de cada tipo (donde el criterio de multiplicidad no se puede aplicar) hasta el otro extremo, donde cada recurso cuenta con, al menos, una réplica. La disponibilidad de múltiples recursos y la capacidad de utilizarlos efectivamente son esenciales para alcanzar los objetivos típicos de: - alta disponibilidad - confiabilidad del sistema - degradación mínima 3 DISTRIBUCIÓN FÍSICA E INTERCOMUNICACIÓN Existen muchos aspectos a considerar para la definición de una red. El mas importante en nuestro caso es la. transferencia de mensajes. La transferencia de mensajes es un buen ejemplo de cooperación entre dos recursos físicos. En este caso, un protocolo dividido en dos componentes (uno en cada recurso físico) deben cooperar para tener éxito en la transferencia. La unidad de transmisión es un mensaje y no una señal, donde el receptor puede rechazar la aceptación de un mensaje (NOT READY, BUSY) en contraste con un sistema MASTER-SLAVE donde existe autoridad para forzar al satélite a recibir el mensaje. Se requiere un alto grado de autonomía para contar con una alta disponibilidad del sistema. pág.: 1 de 3 Sistemas de Computación La característica mas importante de un protocolo (cooperativo en 2 partes) es que permite que cualquier recurso (físico o lógico), pueda aceptar o rechazar la recepción de un mensaje (a ser transferido) dependiendo de su propio conocimiento acerca de su propio estado en ese momento. El grado de enlace (binding) permanente deberá ser minimizado y el sistema deberá evitar "caminos críticos" o "componentes críticos" como el "amarrar" en forma permanente la única copia de un recurso. Otras propiedades que caracterizan un S.O. de alto nivel son: - Soportar un "ancho de banda" efectivo para la transferencia entre procesadores, mayor que una simple comunicación entre computadores. - Habilidad de un procesador para continuar operando y utilizar efectivamente sus recursos locales cuando se desconecte de la red. La idea es integrar los componentes lógicos y físicos de un sistema de procesamiento de datos distribuidos en un todo funcional. - Facilidad de reconexión y reintegro al sistema (red) sin afectar las operaciones en curso. Para conseguir esa integración, se requiere la implementación de un sistema operativo de alto nivel. 5 TRANSPARENCIA DEL SISTEMA La definición de una red, entonces, se basa en la existencia de un protocolo de dos partes y no en otras características como ser la longitud de los enlaces. 4 UNIDAD DE OPERACIÓN DEL SISTEMA Los procesadores existentes tendrán su S.O. individual, pero se requiere un conjunto de políticas bien definidas para el gobierno de la operación del sistema integrado. El mecanismo deberá ser identificable desde cualquier S.O. individual o ser una extensión de las políticas locales. El criterio de operación autónoma no puede ser violado por lo que el control de los recursos no puede depender de la jerarquía. S.O. alto nivel ---- S.O. local Los S.O. locales no requieren ser homogéneos. --> variedad de interfaces --> complicación del diseño (implementación) Un sistema distribuido tiene muchas ubicaciones de control (punto o instrucción o dirección instantánea) como actividades de procesamiento. Esta multiplicidad, como los cambios dinámicos en la ubicación del control permiten alcanzar los 5 criterios de la definición. Además, el enlace (binding) de las ubicaciones de control o actividades de procesamiento, debe ser minimizado. El núcleo mínimo del S.O. de cada procesador deberá ser minimizado y la ubicación de control de todo el sistema deberá ser dinámica durante el runtime. 1/2000 Si un sistema proporciona las capacidades descritas anteriormente, la interfaz presentada al usuario debe ser la de UN SERVICIO al usuario y no lo contrario. El usuario debe ser interrogado para solicitar una acción especificando lo que se debe hacer y no requerido para especificar que componente lógico o físico debe proporcionar el servicio (o participar en el). Una característica importante debe ser la total transparencia al usuario, a menos que éste desee tener conocimiento o influir por alguna razón de eficiencia muy especial. Debería darse la posibilidad de desarrollar rutinas, programas y manejar bases de datos tal como si lo estuviera haciendo en un único equipo centralizado. La naturaleza de la interfaz de usuario en un S.O. dicta una de las características mas importantes: el servicio proporcionado por un sistema de procesamiento distribuido debería poder ser proporcionado por un sistema mono procesador si existiera el hardware necesario y que pudiera ser reconfigurado. Este sistema no podría entregar los otros beneficios de un sistema de procesamiento distribuido, como la confiabilidad, adaptabilidad y modularidad. 6 AUTONOMÍA COOPERATIVA La idea es que un Sistema de Procesamiento Distribuido sea de tal forma que cada uno de los com- pág.: 2 de 3 Sistemas de Computación ponentes o recursos lógicos y físicos tengan una gran autonomía. Al nivel físico su habilidad estará en utilizar un protocolo en que la transmisión de mensajes requiera acciones de cooperación entre el tx. y rx. Al nivel lógico, deberá existir el mismo grado de cooperación entre los procesos. Esto quiere decir que cualquier recurso puede desechar una solicitud de servicio, aunque posteriormente puede aceptarla. Esta solicitud puede ser rechazada aun después de haber aceptado el mensaje de solicitud (físico). Lo anterior no significa ANARQUÍA. Todos los componentes siguen un "plan maestro" el cual se refleja en la filosofía del S.O. de alto nivel. Por las características del modo de operación es que se habla de AUTONOMÍA COOPERATIVA o COOPERACIÓN con AUTONOMÍA en vez de AUTONOMÍA a secas. 7 ALGUNOS SISTEMAS "EXCLUIDOS" Distribución con una única máquina En algunos casos, estas máquinas incluyen canales independientes de E/S como “incorporando procesos distribuidos al tener procesadores separados para E/S, procesador de lógica aritmética y procesadores de diagnostico. --> enlace (binding) permanente de tareas/componentes en este tipo de organización Procesador Front-End, el cual controla comunicaciones para el main-frame. - tiene una función bien específica y no se puede asignar libremente Configuración en "cluster" o "master-slave". En estas, el receptor de la información (datos o señales de control) no tiene capacidad de decisión para aceptar o no la transferencia. 1/2000 pág.: 3 de 3