1.1 concepto
de sistema distribuido
Un sistema
distribuido es una colección de computadoras independientes; es decir
autónomas, que aparecen ante los usuarios del sistema como una única
computadora.
Algunos
ejemplos de sistemas distribuidos son:
·
Una
red de estaciones de trabajo en un departamento de una universidad o compañía,
donde además de cada estación personal, podría existir una pila de procesadores
en el cuarto de máquinas, que no estén asignados a usuarios específicos sino
que se utilicen de manera dinámica cuando sea necesario.
·
Una
fábrica de robots, donde los robots actúan como dispositivos periféricos unidos
a la misma computadora central.
·
Un
banco con muchas sucursales por el mundo, cada oficina tiene una computadora
maestra para guardar las cuentas locales y el manejo de las transacciones
locales, la cuál se puede comunicar con cualquier computadora de la red. Las
transacciones hechas se realizan sin importar dónde se encuentre la cuenta o el
cliente.
1.2 caracteristicas de un sistema
distribuido
-Cada elemento de computo tiene su propia memoria y su propio Sistema Operativo.
-Control de recursos locales y remotos.
-Sistemas Abiertos (Facilidades de cambio y crecimiento).
-Plataforma no standard ( Unix, NT, Intel, RISC, Etc.).
-Medios de comunicación ( Redes, Protocolos, Dispositivos, Etc.).
-Capacidad de Procesamiento en paralelo.
-Dispersión y parcialidad.
1.3 clasificacion de los
sistemas distribuidos
clasificacion
de los sistemas distribuidos
En
términos de funcionalidad, las mallas se clasifican en computacionales
(incluyendo mallas de barrido de la CPU) y en mallas de datos. y en los estados
son:
Globus
La
herramienta Globus ha emergido como el estándar de facto para la capa
intermedia (middleware) de la malla. Globus tiene recursos para manejar:
La
gestión de recursos(Protocolo de Gestión de Recursos en Malla o Grid Resource
Management Protocol)
Servicios
de Información (Servicio de Descubrimiento y Monitorización o Monitoring and
Discovery Service)
Gestión
y Movimiento de Datos (Acceso Global al Almacenamiento Secundario, Global
Access to secondary Storage y FTP en malla, GridFTP)
La
mayoría de mallas que se expanden sobre las comunidades académicas y de
investigación de Globus Toolkit como núcleo de la capa intermedia.
XML
Los
servicios web basados en XML ofrecen una forma de acceder a diversos
servicios/aplicaciones en un entorno distribuido. Recientemente, el mundo de la
informática en malla y los servicios web caminan juntos para ofrecer la malla
como un servicio web. La arquitectura está definida por la Open Grid Services
Architecture (OGSA). La versión 3.0 de Globus Toolkit, que actualmente se
encuentra en fase alfa, será una implementación de referencia acorde con el
estándar OGSA.
Las
mallas ofrecen una forma de resolver grandes retos, como el plegamiento de las
proteínas y descubrimiento de medicamentos, modelización financiera, simulación
de terremotos, inundaciones y otras catástrofes naturales, modelización del
clima/tiempo, etc. Ofrecen un camino para utilizar los recursos de las
tecnologías de la información de forma óptima en una organización.
Computación
de ciclos redundantes
El
modelo de computación de ciclos redundantes, también conocido como computación
zombi, es el empleado por aplicaciones como Seti@Home, consistente en que un
servidor o grupo de servidores distribuyen trabajo de procesamiento a un grupo
de computadoras voluntarias a ceder capacidad de procesamiento no utilizada.
Básicamente, cuando dejamos nuestro ordenador encendido, pero sin utilizarlo,
la capacidad de procesamiento se desperdicia por lo general en algún protector
de pantalla, este tipo de procesamiento distribuido utiliza nuestra computadora
cuando nosotros no la necesitamos, aprovechando al máximo la capacidad de
procesamiento.
Clustering
Otro
método para crear sistemas de supercomputadoras es el clustering. Un cluster o
racimo de computadoras consiste en un grupo de computadoras de relativo bajo
costo conectadas entre sí mediante un sistema de red de alta velocidad (gigabit
de fibra óptica por lo general) y un software que realiza la distribución de la
carga de trabajo entre los equipos. Por lo general, este tipo de sistemas
cuentan con un centro de almacenamiento de datos único. Los clusters tienen la
ventaja de ser sistemas redundantes,al estar fuera de servicio el procesador
principal el segundo se dispara y actúa como un Fail Over.
Grid
La
computación en grid o en malla es un nuevo paradigma de computación distribuida
en el cual todos los recursos de un número indeterminado de
computadorassuperordenador de manera transparente. son englobados para ser
tratados como un único
Estas
computadoras englobadas no están conectadas o enlazadas firmemente, es decir no
tienen por qué estar en el mismo lugar geográfico. Se puede tomar como ejemplo
el proyecto SETI@Home, en el cual trabajan computadoras alrededor de todo el
planeta para buscar vida extraterrestre.
1.3.1sistemas
distribuidos tolerante a fallos
la promesa de los sistemas
distribuidos sólo se puede cumplir cuando a la base hardware adecuada se le
añaden políticas y mecanismos tolerantes a fallas. El objetivo del diseño y
construcción de sistemas tolerantes a fallas consiste en garantizar que el
sistema continúe funcionando de manera correcta como un todo, incluso en
presencia de fallas.
Se dice que un sistema falla
cuando no cumple su especificación. En algunos casos, como en un sistema de
ordenamiento distribuido de productos en un supermercado, una falla podría
provocar la falta de algunos productos en la tienda. En otros casos, como en un
sistema distribuido para el control de tráfico aéreo, una falla podría ser catastrófica.
Como las computadoras y los sistemas distribuidos se utilizan cada vez más en
misiones donde la seguridad es crítica, la necesidad de soportar las fallas
cada vez es mayor.
Un sistema consiste de un
conjunto de componentes de hardware y software y son diseñados para proveer un
servicio específico. Los componentes de un sistema pueden estar
interrelacionados entre ellos. Un desperfecto de un sistema ocurre cuando el
sistema no desempeña estos servicios de la manera especificada. Un estado erróneo
en un sistema es un estado en el cual podría conducir a un fallo en el sistema.
Un fallo es una condición física anormal, las causas de un fallo incluyen:
errores de diseño (como errores en la especificación del sistema o en la
implementación), problemas de fabricación, deterioro por el uso u otros
problemas externos (como condiciones ambientales adversas, interferencia
electromagnética, 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 manifestación de mal funcionamiento del sistema, el cual podría 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 recuperación de un fallo, es un proceso que involucra la restauración de un estado erróneo a un estado libre de error.
1.3.2
sistema heterogéneo
Un sistema
heterogéneo es aquel que se encuentra compuesto por hardware con
características físicas distintas entre sí, y software con características
operativas distintas entre sí, pero que se pueden comunicar utilizando medios
comunes.
1.3.3
sistema cooperativo
Es una
arquitectura donde dos o más computadoras comparten el procesamiento de un
programa. Esta arquitectura debe contar con recursos distribuidos: programas,
archivos, base de datos, etc.
El
procesamiento cooperativo debe proveer: acceso transparente al sistema,
evitando de esta manera que el usuario se preocupe si el recurso a acceder es
local o remoto.
1.3.4
sistema de tiempo real
Básicamente
los sistemas de tiempo real se definen como sistemas informáticos que tienen la
capacidad de interactuar rápidamente con su entorno físico, el cual puede
realizar funciones de supervisión o control para su mismo beneficio.
Todos
los sistemas de tiempo real tienen la facultad de ejecutar actividades o tareas
en de intervalos de tiempo bien definidos.
Todas
las tareas son ejecutadas inmediatamente en una forma concurrente, esto es para
sincronizar el funcionamiento del sistema con la simultaneidad de acciones que
se presentan en el mundo físico.
En
los sistemas de tiempo real los intervalos de tiempo en que se ejecutan las
tareas se definen por un esquema de activación y por un plazo de ejecución. En
lo que respecta al esquema de activación puede ser periódico, es decir en
intervalos regulares, o también puede ser aperiódico, es decir, en respuesta a
sucesos externos que ocurren de forma irregular.
La
mayoría de los STR son utilizados cuando existen requerimientos de tiempo muy
rígidos en las operaciones o en el flujo de datos, generalmente son requeridos
como sistemas de control en una aplicación dedicada.
La
eficiencia de los STR no solo depende de la exactitud de los resultados de
cómputo, sino también del momento en que los entrega. La predictibilidad es su
característica principal de este tipo de sistemas.
Este tipo
de sistemas se caracterizan por tener que producir una salida, como respuesta a
una entrada, en un tiempo determinado. El intervalo de tiempo que se presenta
entre la entrada y la salida debe ser muy pequeño para que la respuesta
temporal del sistema sea aceptable.
1.4 objetivos de los sistemas distribuidos
El
objetivo esencial de un sistema distribuido es proporcionar al usuario y a las
aplicaciones una visión de los recursos del sistema como gestionados por una
sola máquina virtual. La distribución física de los recursos es transparente.
1.5 ventajas y desventajas de los sistemas
distribuidos
Ventajas:
Procesadores
más poderosos y a menos costos
Desarrollo
de Estaciones con más capacidades
Las
estaciones satisfacen las necesidades de los usuarios.
Uso
de nuevas interfaces.
Avances
en la Tecnología de Comunicaciones.
Disponibilidad
de elementos de Comunicación.
Desarrollo
de nuevas técnicas.
Compartición
de Recursos.
Dispositivos
(Hardware).
Programas
(Software).
Eficiencia
y Flexibilidad.
Respuesta
Rápida.
Ejecución
Concurrente de procesos (En varias computadoras).
Empleo
de técnicas de procesamiento distribuido.
Disponibilidad
y Confiabilidad.
Sistema
poco propenso a fallas (Si un componente no afecta a la disponibilidad del
sistema).
Mayores
servicios que elevan la funcionalidad ( Monitoreo, Telecontrol, Correo
Eléctrico, Etc.).
Crecimiento
Modular.
Es
inherente al crecimiento.
Inclusión
rápida de nuevos recursos.
Los
recursos actuales no afectan.
Desventajas:
Requerimientos
de mayores controles de procesamiento.
Velocidad
de propagación de información ( Muy lenta a veces).
Servicios
de replicación de datos y servicios con posibilidades de fallas.
Mayores
controles de acceso y proceso ( Commit ).
Administración
más compleja.
Costos.
No hay comentarios:
Publicar un comentario