Sei sulla pagina 1di 24

UNIVERSIDAD POLITÉCNICA SALESIANA

Carrera de Ingeniería de Sistemas


Sistemas Distribuidos

SISTEMAS DISTRIBUIDOS
INTRODUCCIÓN
Introducción

 Existe una tendencia inevitable al desarrollo de aplicaciones


distribuidas.
 El procesamiento distribuido permite dispersar los procesadores, datos y
otros elementos de una aplicación.
 La dispersión ofrece un sistema mas sensible a las necesidades de los
usuarios, capaz de ofrecer tiempos de respuesta mejores y minimizar los
costes de comunicación.

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Definición

 Un sistema distribuido consiste de un gran número de CPUs


conectados por medio de una red.
• Un sistema distribuido se encarga del procesamiento
cooperativo de solicitudes mediante una colección de
computadoras independientes que aparecen ante los
usuarios del sistema como una única computadora.
• Un sistema distribuido es una colección de computadoras
independientes que dan al usuario la impresión de constituir un único
sistema coherente.

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Definición
• Sistemas cuyos componentes hardware y software, que están
en ordenadores conectados en red, se comunican y coordinan
sus acciones mediante el paso de mensajes, para el logro de un
objetivo. Se establece la comunicación mediante un protocolo
prefijado por un esquema cliente-servidor.
• Un sistema de computación distribuido consta de múltiples
procesadores autónomos que no comparten memoria
principal, sino que cooperan a través de una red de
comunicaciones que los interconecta.
• Colección de elementos de cómputo autónomo que se
encuentran físicamente separados y no comparten una
memoria común, se comunican entre sí a través del
intercambio de mensajes utilizando un medio de comunicación.

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Definición
• Con el objeto de dar soporte a computadoras y redes
heterogéneas mientras se ofrece la vista de un sistema único,
los sistemas distribuidos se organizan a menudo en términos de
una capa de software, esto es, vienen colocados de manera
lógica entre una capa de alto nivel que consta de usuarios y
aplicaciones, y una capa subyacente constituida por sistemas
operativos y recursos básicos de comunicación

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Objetivos

• Un sistema distribuido:
• debe hacer que los recursos sean
fácilmente accesibles
• debe ocultar de manera razonable el hecho
de que los recursos están distribuidos por
toda la red
• debe ser abierto
• debe ser escalable

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Cómo hacer accesibles los recursos
• El principal objetivo de un sistema distribuido es facilitar a los usuarios (y a las
aplicaciones) el acceso a los recursos remotos(impresoras, computadoras,
dispositivos de almacenamiento, datos, archivos, páginas web, redes, etc.) y
compartirlos de manera controlada y eficiente
• Beneficios: facilita la colaboración y el intercambio de información
• Desventajas: mientras la conectividad y el intercambio aumentan, la seguridad se
vuelve cada vez más importante:
• Claves y otra información sensible se envían como texto sin codificar (es decir, sin encriptar) a través
de la red
• rastrear comunicaciones para construir un perfil de preferencias para un usuario específico viola de
manera explícita la privacidad, especialmente cuando se hace sin notificarle al usuario
• comunicación no deseada, tal como el correo basura, con frecuencia llamado spam

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Transparencia en la
distribución
• Un objetivo importante de un sistema distribuido
es ocultar el hecho de que sus procesos y recursos
están físicamente distribuidos a través de múltiples
computadoras
• TIPOS DE TRANSPARENCIA:

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Grado de apertura

• Un sistema distribuido abierto es un sistema que ofrece servicios de


acuerdo con las reglas estándar que describen la sintaxis y la
semántica de dichos servicios.
• En los sistemas distribuidos, los servicios se especifican a través de
interfaces, las cuales a menudo se definen como lenguaje de
definición de interfaz (IDL)
• las definiciones de las interfaces deben ser completas y neutrales para
lograr la interoperabilidad y portabilidad

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Grado de apertura
• La interoperabilidad define la extensión mediante la
cual dos implementaciones de sistemas o
componentes de fabricantes distintos pueden coexistir
y trabajar juntos si únicamente se apoyan en sus
servicios mutuos tal como se especifica mediante un
estándar común.
• La portabilidad define la extensión mediante la cual
una aplicación desarrollada para un sistema
distribuido A se pueda ejecutar, sin modificación, en
un sistema distribuido B que comparte la misma
interfaz que A.
• Un sistema distribuido abierto debe ser también
extensible, en un sistema extensible, debiera ser
relativamente fácil agregar nuevos componentes o
reemplazar los existentes sin afectar a los existentes,
dicha flexibilidad es más fácil de decir que de alcanzar

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Escalabilidad

• La escalabilidad de un sistema se puede medir de acuerdo con al


menos tres dimensiones (Neuman, 1994).
1. Un sistema puede ser escalable con respecto a su tamaño, lo cual significa
que podemos agregarle fácilmente usuarios y recursos.
2. Un sistema escalable geográficamente es aquel en el cual usuarios y
recursos pueden radicar muy lejos unos de los otros.
3. Un sistema puede ser escalable administrativamente; esto es, puede ser
fácil de manejar incluso si involucra muchas organizaciones
administrativas diferentes.
Desafortunadamente, con frecuencia un sistema escalable en una o
más de estas dimensiones exhibe alguna pérdida de rendimiento al
escalarlo

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Problemas de escalabilidad

• Escalabilidad relativa al tamaño: servicios, datos, y algoritmos


centralizados
• Escalabilidad geográfica: comunicación síncrona, comunicación
inherentemente no fiable, soluciones centralizadas
• Escalar un sistema a través de múltiples dominios
administrativamente independientes

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Técnicas de escalamiento

• Ocultar las latencias de:


1. Comunicación: intentar evitar lo más posible la espera por respuestas de
peticiones remotas (y potencialmente distantes) de servicios:
a) comunicación asíncrona
b) uso de hilos
c) reducir el volumen general de la comunicación
2. Distribución: significa tomar un componente, dividirlo en partes más pequeñas, y
en consecuencia dispersar dichas partes a lo largo del sistema
• Replicación: no solamente incrementa la disponibilidad, sino que además
ayuda a balancear la carga entre los componentes para obtener un mejor
rendimiento. Ej. Uso de caché, el caché y la replicación provocan problemas
de consistencia (incoherencia en la información).

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Trampas

• Peter Deutsch, en aquel entonces de Sun Microsystems, formuló estos


errores como las siguientes falsas suposiciones que todos hacemos al
desarrollar por primera vez un sistema distribuido:
1. La red es confiable.
2. La red es segura.
3. La red es homogénea.
4. La topología no cambia.
5. La latencia es igual a cero.
6. El ancho de banda es infinito.
7. El costo de transporte es igual a cero.
8. Existe un administrador.

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
TIPOS DE SISTEMAS DISTRIBUIDOS

• SISTEMAS DISTRIBUIDOS DE CÓMPUTO


• SISTEMAS DISTRIBUIDOS DE INFORMACIÓN
• SISTEMAS DISTRIBUIDOS EMBEBIDOS.

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Sistemas distribuidos de cómputo
• Utilizada para realizar tareas de cómputo de alto rendimiento.
• Sistemas de cómputo en cluster: la computación en cluster se utiliza para la
programación en paralelo donde un solo programa (de cálculo intensivo) corre
paralelamente en múltiples máquinas. Son homogeneas

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Sistemas distribuidos de cómputo
• Sistemas de cómputo en grid: tienen un alto grado de heterogeneidad. Una
cuestión clave en un sistema de cómputo en grid es reunir los recursos de
diferentes organizaciones para permitir la colaboración de un grupo de personas o
instituciones. Tal colaboración se realiza en la forma de una organización virtual
• la mayor parte del software para elaborar un sistema de cómputo en grid
evoluciona alrededor del otorgamiento de privilegios a los recursos desde
diferentes dominios administrativos. Con frecuencia la atención está puesta en
asuntos de arquitectura

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Sistemas distribuidos de cómputo
• La capa más baja, de fabricación, proporciona interfaces para recursos locales
ubicados en un sitio específico. Por lo general, proporcionan funciones para
consultar el estado y las capacidades de un recurso, junto con funciones para la
administración real de un recurso
• La capa de conectividad consiste en protocolos de comunicación para dar soporte
a las transacciones del grid que abarcan el uso de múltiples recursos. Además,
contiene protocolos de seguridad para autentificar a usuarios y recursos
• La capa de recursos es responsable de la administración de un solo recurso. Utiliza
las funciones proporcionadas por la capa de conectividad y llama de manera
directa a las interfaces puestas a disposición mediante la capa de fabricación
• La capa colectiva se encarga de manipular el acceso a múltiples recursos y, por lo
general, consta de servicios para descubrir recursos, ubicación y calendarización de
tareas dentro de múltiples recursos, replicación de datos. La capa colectiva pudiera
consistir en muchos protocolos diferentes para muchos propósitos diferentes
• La capa de aplicaciones consta de aplicaciones que operan dentro de una
organización virtual y hacen uso del ambiente de cómputo en grid.

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Sistemas distribuidos de información

• Esta clase de sistemas distribuidos se encuentran en organizaciones


que fueron confrontadas con aplicaciones de red saludables
• programas remotos, llamados clientes
• Peticiones, posiblemente para distintos servidores, dentro de una sola
petición más grande y ejecutarla como una transacción distribuida
• Esto ha derivado en una gran industria que se concentra en la integración de
aplicaciones empresariales

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Sistemas distribuidos de información:
Sistemas de procesamiento de transacciones
• BEGIN_TRANSACTION y END_TRANSACTION se utilizan para delimitar
el alcance de una transacción. Las operaciones entre estas primitivas
forman el cuerpo de la transacción
• La característica clásica de una transacción es que, o se ejecutan
todas sus operaciones, o no se ejecuta ninguna operación. Las
operaciones pueden ser llamadas del sistema, procedimientos de
biblioteca, o instrucciones de un lenguaje encerradas entre
paréntesis, según la implementación

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Sistemas distribuidos de información:
Sistemas de procesamiento de transacciones
• De manera más específica, las transacciones son:
• 1. Atómicas: para el mundo exterior, la transacción es indivisible.
• 2. Consistentes: la transacción no viola sistemas invariantes.
• 3. Aisladas: las transacciones concurrentes no interfieren entre sí.
• 4. Durables: una vez que se confirma una transacción, los cambios son
permanentes

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Sistemas distribuidos de información:
Integración de aplicaciones empresariales
• La idea principal fue que aplicaciones existentes pudieran
intercambiar información de manera directa

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Sistemas distribuidos de información:
Integración de aplicaciones empresariales
• Existen diversos tipos de comunicación middleware
• llamadas a procedimientos remotos (RPC)
• invocaciones a métodos remotos (RMI)
• middleware orientado a mensajes, o MOM
• sistemas de publicación- suscripción

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Sistemas distribuidos masivos

• Con frecuencia los dispositivos se caracterizan por ser pequeños, de


baterías, portátiles, y tienen sólo una conexión inalámbrica, aunque
no todas estas características son aplicables a todos los dispositivos.
• Una característica importante es su carencia general de control
administrativo humano
• Sistemas caseros
• Sistemas electrónicos para el cuidado de la salud
• Redes de monitoreo

Ing. Vanessa Jurado Vite Mg. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas

Potrebbero piacerti anche