Sd contecsi

48
Sistemas Distribuidos: Presente y Futuro M.C. Juan Carlos Olivares Rojas CONTECSI 2007 León, Guanajuato, México, 27 de Septiembre de 2007

Transcript of Sd contecsi

Page 1: Sd contecsi

Sistemas Distribuidos: Presente y Futuro

M.C. Juan Carlos Olivares Rojas

CONTECSI 2007

León, Guanajuato, México, 27 de Septiembre de 2007

Page 2: Sd contecsi

Agenda

Introducción Definiciones básicas

Tendencias ConclusionesInvestigación ITM

Page 3: Sd contecsi

Estado Actual de Cómputo

Page 4: Sd contecsi

ENIAC

Page 5: Sd contecsi

Supercomputadora

Page 6: Sd contecsi

Evolución de la Computación• 50’s-70’s: “Una computadora múltiples usuarios”

• 80’s-90’s: “Una computadora un usuario”

• 2000’s: “Un usuario múltiples computadoras”

• Actualmente la información es totalmente distribuida, aunque los datos centralizados se siguen utilizando.

Page 7: Sd contecsi

Agenda

Introducción Definiciones básicas

Tendencias ConclusionesInvestigación ITM

Page 8: Sd contecsi

¿Qué es un Sistema Distribuido?• “Es una colección de computadoras independientes

que aparecen ante los usuarios del sistema como una única computadora” (Principio de transparencia)

• ¿Qué es un sistema?– Componentes de Hardware (Procesadores, mecanismos

de interconexión)– Componentes Software (programación de sistemas y

aplicaciones)

Page 9: Sd contecsi

Arquitecturas de cómputo• Taxonomía de Flynn:

– SISD (Single Instruction Single Data) Procesador único.– SIMD (Single Instruction Multiple Data). Procesadores

vectoriales (multimedia)– MISD (Multipe Instruction Single Data). No

implementada

– MIMD (Multiple Instruction Multiple Data). Cómputo distribuido

Page 10: Sd contecsi

Cómputo Distribuido• La distribución del cómputo puede realizarse de

diversas formas de acuerdo a su grado de acoplamiento en:

• Fuertemente acopladas: Multiprocesadores (memoria compartida). UMA (Uniform Memory Acces)

• Débilmente acopladas: Multicomputadoras (memoria privada). NUMA (Non Uniform Memory Access)

Page 11: Sd contecsi

Tarjeta madre

Tarjeta madre

Sistemas multiprocesadores

CPU 1 CPU nCPU 2

Memoria

Modelo de n procesadores

CPU

N1 Nn

Memoria

Modelo de n núcleos

Page 12: Sd contecsi

Cómputo de Alto Desempeño

http://www.top500.org/ Blue Gene

Page 13: Sd contecsi

Sistemas multicomputadoras• Están basados en el modelo cliente/servidor

• Este modelo se basa en un protocolo solicitud – respuesta. El cliente envía una solicitud de cierto servicio al servidor, el servidor realiza el trabajo y regresa el resultado de la operación.

• La principal ventaja de este protocolo es su sencillez, únicamente se necesita la ubicación del servidor.

Page 14: Sd contecsi

Sistemas Distribuidos

Cliente Servidor

Solicitud

Respuesta

Modelo Cliente/Servidor Tradicional

Cliente 1

Servidor

Modelo Cliente/Servidor Concurrente

ClienteProxy en el lado cliente

Modelo Cliente/Servidor de n capas

ClienteProxy en el lado

servidor

Cliente n

.

.

Page 15: Sd contecsi

Sistemas Distribuidos• P2P (Peer to Peer) los procesos son totalmente

descentralizados, funcionan como clientes y servidores a la vez, existen diversas arquitecturas.

• Cluster es una agrupación de computadoras intercomunicadas entre sí a través de un nodo central y cuyo objetivo es realizar una tarea específica.

• Grid computing es muy parecido a P2P y al cluster.

Page 16: Sd contecsi

Sistemas Distribuidos• Grid computing se parece al cluster en que

consisten en una asociación de computadoras con la única diferencia de que no existe un nodo centralizador. Está característica lo asemeja a P2P.

• La idea del grid es que el poder de cómputo siempre esté presente a semejanza de la red eléctrica.

• Esto a dado pie al software bajo demanda.

Page 17: Sd contecsi

Sistemas Distribuidos

C1

C2

CnP2P

Simétrico

C0Coordinador

C1

C2

Cn…

Cluster

Asimétrico

Planificador

CPUMemoria

DiscoC1

Planificador

CPUMemoriaDISCO

C2

Planificador

CPUMEMORIA

DiscoCn

.

.

.

Grid computing

Page 18: Sd contecsi

Evolución de Sistemas Distribuidos

Esquema básico de Arpanet en 1969 Amoeba

Page 19: Sd contecsi

Cómputo paralelo• ¿Es el cómputo paralelo un sistema distribuido?

• Sí y No. Depende de la implementación.

• Los objetivos de la programación en paralelo son:

• Reducir el tiempo de procesamiento utilizado por un algoritmo convencional

• Reducir la complejidad del algoritmo

Page 20: Sd contecsi

Paralelismo

A B C D

A

B

C

D

P1

P2

P3

P4

Homoparalelismo

A B C D

A

B

C

D

P1

P2

P3

P4

Hetereoparalelismo

Page 21: Sd contecsi

Paralelismo• El problema del paralelismo radica en que muchos

algoritmos no pueden paralelizarse (son seriales o secuenciales).

• Existen dos tecnologías principales para realizar paralelismo:

• PVM (Parallel Virtual Machine)

• MPI (Message Passing Interface)

Page 22: Sd contecsi

Sistema de Red vs. Distribuido• Un Sistema de Red es totalmente autónomo en su

administración (local) mientras que las decisiones en un Sistema Distribuido son globales.

• La mejor forma de tener una aplicación distribuida es a través del sistema operativo.

• Ejemplos de SOD: Amoeba, Mach, Chorus, Sprite, Plan9

Page 23: Sd contecsi

Plan 9

Page 24: Sd contecsi

Áreas de los SD• Redes de computadoras (Internet e intranet).

• Sistemas operativos distribuidos.

• Sistemas multimedia distribuidos.

• Cómputo paralelo.

• Bases de datos distribuidas.

Page 25: Sd contecsi

Áreas de los SD• Sistemas de tiempo real distribuidos.

• Cómputo Móvil y ubicuo.

• Comercio Electrónico.

• Sistemas Distribuidos Inteligentes.

Page 26: Sd contecsi

Ventajas de los SD• Compartir información y otros recursos.

• Economizar el rendimiento (procesamiento y almacenamiento).

• Crecimiento incremental.

• Alta disponibilidad

• Confiabilidad (tolerancia a fallos)

Page 27: Sd contecsi

Desventajas de los SD• Administración más compleja (requerimientos de

mayores controles de procesamiento y acceso).

• Costos.

• Interconexión de componentes.

• Fallas de propagación.

Page 28: Sd contecsi

Fallas en Sistemas Distribuidos

Page 29: Sd contecsi

Desventajas de los SD• Localización, recuperación y coordinación de

recursos (sistema de nombre: DNS, JNDI).

• No se tiene disponibilidad de una memoria global y un reloj global.

• Seriabilización (Marshalling).

• Se requiere de sincronización para actualizar el estado del sistema.

Page 30: Sd contecsi

D i f e r e n c i a s d e r e l o j e s i n t e r n o s e n u n a r e d

8 : 0 6

8 : 0 5 8 : 1 3

8 : 1 2

Sincronización

Page 31: Sd contecsi

Desventaja de los SD• Concurrencia.

• Seguridad.

• Tiempo de respuesta limitado debido a las

comunicaciones (ancho de banda).

• Se requiere más capacidad y mejores formas de almacenamiento (NFS, Coda, GFS).

Page 32: Sd contecsi

Técnicas de Especificación Formal

Red de Petri que representa la cena de 5 filósofos comensales

Page 33: Sd contecsi

Tecnologías Distribuidas• Sockets (API Berkeley, WinSocks) C, Java, C#, etc.

• RPC (Remote Procedure Call) C

• RMI (Remote Method Invocation) Java

• DCOM (Distributed Component Object Model) Propietario de Microsoft

Page 34: Sd contecsi

Tecnologías Distribuidas• CORBA (Common Object Request Broker

Architecture): C, C++, Java, etc,

• .NET Remoting C#, C++, J#, etc.

• Servicios Web (SOA), XML (SOAP, WSDL, UDDI)

• Agentes móviles (JADE)

• Código Móvil (Applets, ActiveX)

Page 35: Sd contecsi

Agenda

Introducción Definiciones básicas

Tendencias ConclusionesInvestigación ITM

Page 36: Sd contecsi

Investigación

Page 37: Sd contecsi

Investigación

Page 38: Sd contecsi

Investigación

Page 39: Sd contecsi

Investigación

Page 40: Sd contecsi

Investigación

Page 41: Sd contecsi

Investigación

Page 42: Sd contecsi

Agenda

Introducción Definiciones básicas

Tendencias ConclusionesInvestigación ITM

Page 43: Sd contecsi

Pronóstico IDC 2007

1. Virtualización2. Grid Computing3. Arquitectura orientada a servicios (SOA)4. Enterprise Information Management (EIM)5. Código abierto6. Acceso a la información7. Ajax8. Mashup Composite Model9. Computación Distribuida en el Ambiente (del inglés,

Pervasive Computing)10. Recolección inteligente de datos.

Page 44: Sd contecsi

Pronóstico Gartner 2007

1. Código abierto2. Virtualización 3. Registro de servicios y repositorios4. Suites para la gestión de procesos de negocios5. Enterprise Information Management6. Cómputo ubicuo7. Acceso a la información 8. Web 2.0 – AJAX Rich Clients 9. Web 2.0 - Mashup Composite Model10. Inteligencia colectiva y comunidades

Page 45: Sd contecsi

Otras Tendencias• Web Semántica (¿Web 3.0?)

• WOA (Web Oriented Architectures).

• Hardware: buses y redes de alta velocidad (infiniband), ahorro energético.

• Domótica.

Page 46: Sd contecsi

Web semántica

Page 47: Sd contecsi

Conclusiones

¿Área de mayor crecimiento?

Sistemas Distribuidos

¿Área de mayor demanda?

Sistemas Distribuidos

¿Área que ofrece mayores expectativas?

Sistemas Distribuidos

¿Área que hay que estudiar?

Sistemas Distribuidos