Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porTomás Hernández Ortíz Modificado hace 10 años
1
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Módulo II Tecnologías Informáticas Arquitecturas de Sistemas Prof. Yudith Cardinale Universidad Simón Bolívar
2
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de SistemasContenido Introducción Arquitecturas de Hardware Arquitecturas de Software Tendencias en el Desarrollo de Sistemas Distribuidos Ejemplos
3
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas 1. Introducción Prof. Yudith Cardinale Universidad Simón Bolívar
4
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Introducción Un sistema de computación está formado por una plataforma de hardware, una plataforma de software y un conjunto de usuarios y aplicaciones
5
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Introducción procesadores memoria medios de almacenamiento dispositivos de E/Smedios de interconexión sistema de operación sistemas de archivos librerías de comunicación servicios especializados aplicaciones datos/información
6
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Introducción Procesadores Sólo 1 Muchos Tradicionales o segmentados (pipelines) Memoria Ram (compartida o distribuida) Cachés de instrucciones y de datos Elementos de hardware de un sistema de computación:
7
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Introducción Dispositivos de E/S: Discos De respaldo Impresoras, scanners y otros Medios de interconexión: Especializado (buses de alta velocidad y conmutadores) Genéricos: Cableados: par trenzado, fibra óptico, coaxial. Inalámbricos: microondas, satélite, laser. Elementos de hardware de un sistema de computación (cont.):
8
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Introducción Sistema de operación: Monousuarios Multiusuarios, multitareas Paralelos Distribuidos Servicios especilizados: Sistemas de archivos Soporte de transacciones Multimedios (voz y vídeo) Elementos de software de un sistema de computación: Bases de datos Seguridad Acceso remoto
9
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Introducción Los usuarios y las aplicaciones utilizan los recursos de hardware y de información del sistema de computación, para fines particulares. secuenciales paralelas distribuidas concurrentes orientadas por objetos aplicaciones:
10
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Introducción ¿ Concurrencia: ¿Qué es? Ejecución simultánea de varias tareas o procesos Concurrencia ¿ ¿Cómo se logra? ParalelismoDistribución Sistemas uniprocesadores Sistemas de operación Multiusuarios/multitareas Sistemas multiprocesadores Sistemas de operación paralelos Sistemas de redes Sistemas de operación distribuidos
11
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Introducción ¿ Concurrencia: ¿cómo se logra en sistemas uniprocesadores? Hardware Niveles IntraprocesoInterproceso Replicando componentes Arquitectura pipeline Procedores especializados A nivel de instrucciones A nivel de ciclos Hilos (threads) Pipes, puertos Librerías de mensajes
12
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas 2. Arquitecturas de Hardware Prof. Yudith Cardinale Universidad Simón Bolívar
13
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware Hardware: Recursos físicos que componen el sistema de computación. Arquitecturas centralizadas: Computadores personales Estaciones de trabajo Mainframes Arquitecturas paralelas: Computadores vectoriales Computadores paralelos Supercomputadores Arquitecturas distribuidas: Clusters Redes Computational Grids (Metasistemas)
14
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware Clasificación general (según Flynn, 1972): Basada en el nro. de flujos de instrucciones y el nro. de flujos de datos SISD: Single Instruction, Single Data Computadores de 1 CPU Mainframes SIMD: Single Instruction, Multiple Data Computadores vectoriales. Computadores paralelos.
15
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware Clasificación general (según Flynn, 1972): cont. MISD: Multiple Instruction, Single Data. No hay computadores en esta clasificación. MIMD: Multiple Instruction, Multiple Data. Computadores paralelos (supercomputadores) Sistemas Distribuidos.
16
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware Clasificación según Tanenbaum para los sistemas MIMD
17
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware MIMD: Multiprocesadores basados en buses Alivia la sobrecarga del bus y aumenta el rendimiento Problema con el cahe: Posibilidad de Memoria Incoherente Solución: – Cache de escritura (write-through cache) – Cache Monitor (snoopy cache) – Software de consistencia
18
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware MIMD: Multiprocesadores basados en conmutadores Usando un conmutador de cruceta (crossbar switch) N procesadores N memorias Crosspoint switch – Problema: El Nro. de puntos de cruce puede ser alto: N 2 – Solución: Red Omega
19
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware Usando una red Omega Conmutador 2x2 – Nro. de etapas: log 2 N – Nro. de conmutadores por etapa: N/2 – Nro. Total de conmutadores: N/2 * log 2 N – Problema: Retardo
20
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware MIMD: Multicomputadores basados en buses Estaciones de Trabajo
21
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware Una red es una colección de computadores autónomos interconectados a través de un Sistema de Comunicaciones Ventajas: Compartir recursos Disponibilidad por duplicación de recursos Ahorro de dinero Poderoso medio de comunicación Inconvenientes: Seguridad Personal especializado
22
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware Una red puede clasificarse: Según la tecnología: LAN (Varios Mbps, 2.5 Km) MAN (> 1 Mbps, 100 Km) WAN (< 1 Mbps, ilimitado) Según la propiedad: Públicas (Frame Relay, ATM) Privadas (Petroleras)
23
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware Un cluster es un conjunto de computadores convencionales interconectados a través de una red de comunicaciones de alta velocidad Se construyen con componentes commodity PCs, estaciones de trabajo, tarjetas de procesadores Cada nodo puede ser mono o multi procesador Usos: Capacidad de cómputo para clientes ligeros ( throughput) Alta disponibilidad y escalabilidad (replicación de servicios: motores de búsqueda) Como plataforma paralela (alto desempeño)
24
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware MIMD: Multicomputadores con conmutadores Malla (Parsytec) El último elemento en una fila está conectado al primero en la próxima. Hipercubos (Ncube)
25
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware RAID: Redundant Array of Inexpensive Disk Drives Raid nivel 0: fraccionamiento de datos sin tolerancia a fallas ( Data Striping without fault tolerance ) Aplicaciones recomendadas: Producción y edición de videos, edición de imágenes, aplicaciones que requieren alto ancho de banda.
26
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware RAID: Redundant Array of Inexpensive Disk Drives Raid nivel 1: discos espejos ( Mirroring and Duplexing ) Aplicaciones recomendadas: Contabilidad, nómina, finanzas, aplicaciones que requieren alta disponibilidad.
27
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware RAID: Redundant Array of Inexpensive Disk Drives Raid nivel 2: fraccionamiento y sombras ( Striping and Shadowing ) Excelente disponibilidad de datos y alto desempeño
28
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware RAID: Redundant Array of Inexpensive Disk Drives Raid nivel 3: transferencia paralela con paridad ( Data Striping with Parity Checking ) Aplicaciones recomendadas: Producción y edición de videos, edición de imágenes, aplicaciones que requieran alto rendimiento ( througput)
29
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware RAID: Redundant Array of Inexpensive Disk Drives Raid nivel 4: fraccionamiento con paridad ( Block interleaved data striping with parity checking ) Buena disponibilidad de datos, alto desempeño para operaciones de lectura, sólo se requiere un disco extra para paridad.
30
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware RAID: Redundant Array of Inexpensive Disk Drives Raid nivel 5: fraccionamiento con paridad distribuida ( Block interleaved data striping with distributed parity checking ) Aplicaciones recomendadas: servidores de aplicaciones y de rchivos, servidores de base de datos, servidores de noticias, correos y web, servidores Intranets. El nivel más versátil.
31
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de hardware RAID: Redundant Array of Inexpensive Disk Drives Raid nivel 6: nivel 5 con doble paridad. La solución perfecta para aplicaciones de misión crítica. Raid nivel 7: fraccionamiento independiente y discos de paridad. Raid nivel 10: niveles 1 y 0 combinados. Favorable para servidores de bases de datos que requieren alto desempeño y tolerancia a fallas. Raid nivel 53: niveles 0 y 3. Requiere un mínimo de 5 discos para implementarse.
32
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas 3. Arquitecturas de Software Prof. Yudith Cardinale Universidad Simón Bolívar
33
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Software: Conjunto de componentes que administran y acceden los recursos físicos y de información de un sistema de computación REDES INTERNET INTRANET S UNIX LINUX WINDOWS Cliente/Servidor Sistemas de Operación Distribuidos WEB Software abierto Middleware
34
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Sistemas Distribuidos Sistemas de Cómputo compuestos por un gran número de CPUs, conectados mediante una red de alta velocidad Colección de computadores independientes que aparecen ante el usuario como una sola máquina virtual TRANSPARENCIA ( ¿ OPACIDAD?) RENDIMIENTO FIABILIDAD SEGURIDAD ESCALABILIDAD
35
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Sistemas de Operación Distribuidos Colección de componentes de software que simplifican las tareas de programación y soporta un alto rango de aplicaciones. Son modulares y extensibles, lo que implica que se pueden adicionar nuevos componentes en respuesta a nuevas necesidades. Poseen mecanismos de comunicación y esquemas de protección globales. Software fuertemente acoplado
36
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Sistemas Paralelos Buscan obtener máxima velocidad en un problema determinado. Software fuertemente acoplado. Conjunto de computadores conectados por una red. Existe autonomía en cada estación La localización de los objetos no es transparente Software débilmente acoplado Sistemas de Redes
37
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Un sistema distribuido permite acceso transparente a los recursos Un sistema de red requiere explícitamente la localización del recurso En los sistemas distribuidos tradicionales, los nodos no tienen dueños. En los sistemas de red, cada nodo tiene su propietario. En los sistemas distribuidos tradicionales, cada nodo tiene instalado el mismo kernel. En los sistemas de red, los nodos pueden tener diferentes sistemas de operación. Actualmente el concepto de sistemas distribuidos considera cualquier sistema con posibilidades de cómputo remoto y acceso a información repartida geográficamente
38
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Arquitectura de los Sistemas Distribuidos Computadores y red de interconexión Sistema de OperaciónAplicación de Servicios Middleware Enmascara la heterogeneidad Proporciona un modelo de programación
39
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Internet: Vasta colección de redes de computadores de diferentes tipos interconectados. Existe un medio común de comunicación (TCP/IP, SNA, BitNet) basado en pase de mensajes. Permite acceso a servicios remotos: World Wide Web Correo electrónico Transferencias de archivos Multimedia para acceso a audio y video (música, videoconferencias, etc.) Ejemplos de Sistemas Distribuidos:
40
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Intranets: Porción de Internet administrada separadamente y con un acceso limitado según políticas de seguridad local Puede estar compuesta de varias redes locales (LANs) La configuración de la red es responsabilidad de la organización que la administra Por lo general se mantiene un conjunto de páginas web con acceso restringido desde el exterior Se puede acceder a los servicios de una Intranet desde el exterior, siempre que se tenga el código de acceso. Ejemplos de Sistemas Distribuidos:
41
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Modelo Cliente/Servidor: Máquina localMáquina remota Cliente Servidor Petición del servicio Respuesta Todos los servicios sobre Internet funcionan bajo este esquema El medio de envío para la petición/respuesta es la red Un servidor debe poder manejar varios usuarios concurrentemente
42
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Servicio HTTP: ejemplo del modelo Cliente/Servidor Los navegadores se comunican con los servidores Web por medio del protocolo HTTP (Hyper Text Transfer Protocol, RFC 2616). HTTP es un protocolo suficientemente ligero y rápido para ser utilizado en un sistema colaborativo de información de medios distribuidos. Es un protocolo genérico orientado a objetos, por lo cual se puede utilizar para diversos tipos de aplicaciones. HTTP fue creado en 1992 por Tim Berners-Lee, reemplazando en gran medida los sistemas Gopher.
43
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software ¿ Servicio HTTP: ¿ Cómo funciona? http://www.ldc.usb.ve/~yudith GET /~yudith HTTP/1.0 Accept: text/plain Accept: text/html User-Agent: Netscape Communicator 4.76 HTTP/1.0 200 OK Server: Apache/2.0.16 Content-type: text/html Last-Modified: Thu Jul 7 00:25:33 2001 Content-Length: 2003...
44
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software PROXIES Servicio HTTP: PROXIES
45
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software CGI o ASP o Servlets Servicio HTTP: CGI o ASP o Servlets http://www.ldc.usb.ve/cgi-bin/hello.pl GET /cgi-bin/hello.pl HTTP/1.0 Accept: text/plain Accept: text/html User-Agent: Netscape Communicator 4.76 El servidor crea un nuevo proceso y coloca los valores apropiados en las variables de ambiente. Se pasan los parámetros por stdin o por argumentos según el método del POST Se ejecuta la aplicación CGI, los resultados se toman de stdout.
46
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Contenido dinámico usando módulos Servicio HTTP: Contenido dinámico usando módulos en el servidor https://webmail.cesma.usb.ve Conexión segura
47
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Problemas Servicio HTTP: Problemas Uso de conexiones persistentes Causa gran congestión Uso de cookies, manejo de sesiones Es un protocolo sin estado Implementación de nuevos encabezados en HTTP/1.1 Problemas de caching Implementación de HTTPSEs inseguro SoluciónProblema
48
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Servicios proporcionados por múltiples servidores cliente servidor Servicio Por distribución o por réplicas Web: cada servidor web administra sus propios recursos. Con un navegador un usuario accede a cualquier servicio. NIS ( Network Information Service) en una LAN. Posee réplicas del archivo de contraseñas. cliente servidor
49
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Procesos de igual a igual Todos los procesos desempeñan tareas semejantes. La sincronización y comunicación es responsabilidad de los procesos. Aplic. Código de coordin Aplic. Código de coordin Aplic. Código de coordin
50
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Un sistema de operación para clusters Transforma un cluster de PCs (estaciones de trabajo y servidores) en un SMP. Distribuye transparentemente los procesos entre los nodos, para alcanzar mejor desempeño. Realiza actividades de monitoreo, migración y balance de carga. K-Mosix es el kernel compatible con linux U-Mosix es un despachador sobre plataformas Unix (FreeBSD y Solaris) y K-Mosix
51
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Arquitecturas de software Plataforma de desarrollo y prueba 55 nodos (quad, dual, single) P-III 1GHz – 550 MHz conectados con Fas Ethernet. Unos nodos son stand-alone y la mayoría usan NFS. Aplicaciones: Procesos paralelos CPU-bound, procesos paralelos I/O- bound, procesos sencillos, servidores Web escalables (requieren análisis estadísticos de información histórica)
52
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Llamadas a procedimientos remotos (RPC) Invocación a un método remoto (RMI) Modelo de programación basado en eventos Modelos de Programación para Aplicaciones Distribuidas Arquitecturas de software
53
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Modelos de Objetos Distribuidos Arquitecturas de software Interfaces en los sistemas distribuidos Interfaces de servicio Interfaces remotas Los lenguajes de definición de interfaces (IDL) están diseñados para permitir que los objetos implementados en lenguajes diferentes se invoquen unos a otros. Ejem: CORBA IDL, Sun XDR.
54
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Modelos de Objetos Distribuidos Arquitecturas de software Un programa OO consta de un conjunto de objetos que interactúan entre ellos. Cada objeto se compone de un conjunto de datos y un conjunto de métodos. Un objeto se comunica con otro objeto invocando sus métodos, generalmente pasándole argumentos y recibiendo resultados Se puede acceder a los objetos mediante referencias a objetos.
55
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Modelos de Objetos Distribuidos Arquitecturas de software En el modelo C/S, los objetos son administrados por servidores y sus clientes invocan sus métodos utilizando una invocación de métodos remota (RMI) Los sistemas de objetos distribuidos pueden adoptar cualquiera de los modelos arquitectónicos conocidos. Cuando el cliente invoca un método de un objeto remoto, se envía un mensaje al servidor que lo administra.
56
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Modelos de Objetos Distribuidos Arquitecturas de software A C BD E Invocación Remota Invocación Remota Invocaciones locales Objeto Remoto Cada proceso contiene un conjunto de objetos, algunos de los cuales pueden recibir tanto invocaciones locales como remotas. Otros objetos sólo pueden recibir invocaciones locales.
57
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas 4. Tendencias en el Desarrollo de Sistemas Distribuidos Prof. Yudith Cardinale Universidad Simón Bolívar
58
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo CORBA y DCOM: Modelo de Objetos Distribuidos Enterprise Java Beans : Modelo de Componentes Distribuidos Grids computacionales: Un mundo infinito de recursos Peer-to-Peer computing: Cómputo intensivo descentralizado
59
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo CORBA: Modelo de Objetos Distribuidos CORBA ( Common Object Request Broker Architecture ) es un estándar para construir objetos distribuidos. Propuesto por el Object Management Group (OMG)
60
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo OMG (1989) Es un consorcio internacional que promueve el desarrollo de software orientado por objetos El objetivo del OMG es proveer un marco de arquitectura común para permitir la interacción de objetos en plataformas heterogéneas y distribuidas. Inicialmente estuvo conformado por 8 compañías: 3Com Corpotation, American Airlines, Canon Inc., Data General, Hewlett-Packard, Philips Telecommunications N.V., Sun Microsystems y Unisys Corporation. Actualmente hay más de 500 miembros
61
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo OMA: Object Management Architecture. Modelo conceptual y arquitectura de referencia para construir aplicaciones. APP. Objects Common Facilities Object Request Broquer (ORB) Object Services
62
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Enfoque CORBA INTERFACE REPOSITORY IDL COMPILER IMPLEMENTATION REPOSITORY In args ORB CORE OBJECT ADAPTER CLIENTOBJECTS OPERATION() DII IDL STUBS ORB INTERFACE IDL SKELETON GIOP/IIOP out args + return value DSI
63
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas IDL: Interface Definition Language Es un lenguaje declarativo Define tipos de objetos especificando sus interfaces estáticas Provee encapsulamiento en dos niveles: tipos de datos y objetos. Sintaxis derivada de C++ Tendencias en el desarrollo Enfoque CORBA
64
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas // Ejemplo de especificación de IDL: mybank.idl Module BANK interface BankAccount enum account_kind checking,saving ; //types exception account_not_available string reason ; //exceptions exception incorrect_pin ; readonly attribute float balance; //atributes attribute account_kind what_kind_of_account; //operations void access (in string account, in string pin) raises (account_not_available, incorrect_pin); void deposit (in float f, out float new_balance) raises (account_not_available); void withdraw (in float f, out float new_balance) raises (account_not_available); Tendencias en el desarrollo: CORBA
65
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Object Implementation ORB Interfa ce ORB Core IDL Sk Object Adapter DSI Client ORB Core DII IDL Stub REQUEST Tendencias en el desarrollo Enfoque CORBA
66
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas IDL Stubs: Funciones generadas desde la interfaz IDL para “enlazarlas” a los clientes Provee una interfaz de invocación estática Dynamic Invocation Interface (DII) Permite especificar y construir requerimientos en tiempo de corrida. Operaciones: create_request, invoke, send, get_response Tendencias en el desarrollo Enfoque CORBA
67
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas IDL Skeleton: Funciones generadas desde la interfaz IDL para “enlazarlas” a las implementaciones de objetos. Dynamic Skeleton Interface (DSI) Análogo al DII del lado de la implementación de objetos Puede recibir invocaciones estáticas o dinámicas desde los clientes Tendencias en el desarrollo Enfoque CORBA
68
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas ORB Interface: Provee funciones para acceder directamente al ORB core desde los clientes y desde las implementaciones de objetos Su interfaz no depende de la interfaz de los clientes ni de las interfaces de las implementaciones de objetos Object Adapter: Provee funciones para instanciar objetos, pasar requerimientos y manipular referencias de objetos Provee inter-operabilidad Tendencias en el desarrollo Enfoque CORBA
69
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Repositorio de Interfaces ( Interface Repository) : Provee persistencia de objetos Su información permite que un programa encuentre un objeto cuya interfaz no conoce en tiempo de compilación Repositorio de Implementaciones ( Implementation Repository) : Contiene información que permite al ORB core localizar y activar implementaciones de objetos Tendencias en el desarrollo Enfoque CORBA
70
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Enfoque CORBA HTTP ORB MPP NOWs Oracle Illustra mSQL CORBA BUS ORB
71
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Qué es: Protocolo que permite a componentes de software comunicarse directamente sobre una red de una manera eficiente, confiable y segura. Es el CORBA para el mundo Microsoft DCOM: Distributed Component Object Model
72
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo DCOM: Distributed Component Object Model
73
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo DCOM: Distributed Component Object Model
74
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Qué es: Modelo de componentes que simplifica el desarrollo de midlewares proveyendo soporte automático de servicios como transacciones, seguridad, conectividad a base de datos y otros. Provee facilidades para desarrollar servicios Web. Ideal para desarrollar soluciones para ambientes con Sistemas de Operación y hardware heterogéneos. Enterprise Java Beans : Modelo de Componentes Distribuidos
75
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Enterprise Java Beans : Arquitectura
76
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Enterprise Java Beans : Arquitectura
77
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Enterprise Java Beans : Clientes
78
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Enterprise Java Beans : Clientes
79
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo J2EE: Java2 Enterprise Edition
80
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo J2EE: Java2 Enterprise Edition: Client Tier
81
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo J2EE: Java2 Enterprise Edition: Web Tier
82
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo J2EE: Java2 Enterprise Edition: Business y EIS Tiers (EIS: Enterprise Information System)
83
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Computación Ubicua : Grids computacionales -- Peer-to-Peer computing Dónde se aplica el concepto de ubicuidad: Se ofrece la misma imagen desde cualquiera de los lugares de trabajo (la misma interfaz está en todas partes) Los procesos se ejecutan en alguna plataforma elegida por el sistema (el hardware está en todas partes) No necesariamente disjuntas Sistemas conformados por sistemas
84
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Hay aplicaciones que requieren TODO (¡o casi!) el poder de cómputo que puedan darle Este tipo de aplicación se conoce como aplicaciones de alto rendimiento (HPC, High Performance Computing) Aplicaciones de alta demanda de cómputo Tendencias en el desarrollo
85
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Aplicaciones HPC: modelación, simulación y análisis Ciencias de la vida CAD/CAM Aeroespacio Aplicaciones Militares Internet & e-commerce Tendencias en el desarrollo
86
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Computadoras para HPC La solución utilizada típicamente era construir máquinas paralelas o super-computadoras (de hasta 30M$) ubicadas en centros especializados Más recientemente, los centros especializados construyeron clusters Para agregar más poder de cómputo Unir las computadoras de estos centros (redes locales de alta velocidad) Unir estos centros con redes de alta velocidad (¿Internet 2?) ¿Unir a todo el que quiera/pueda aportar recursos? Tendencias en el desarrollo
87
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Una idea trivial Internet conecta recursos distribuidos por todo el mundo Estos recursos incluyen millones de computadoras, con un gran poder de cómputo agregado La gran mayoría de estos recursos utilizan sólo una pequeña parte de su potencial ¿Se podrán aprovechar? Tendencias en el desarrollo
88
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Evolución de la Tecnología: Clusters, Grids y P2P
89
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Grids computacionales: Un mundo infinito de recursos Qué es: Infraestructura de hardware y software que provee alto desempeño y alta disponibilidad Colección de recursos (personas, computadores, instrumentos y bases de datos) conectados por una red de alta velocidad. Mecanismo para que los usuarios puedan usar recursos distribuidos geográficamente de forma transparente, creando la ilusión de un sistema de computación integrado.
90
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Grids computacionales: Otros términos usados son Metasistemas, Metacomputación, Sistemas de Metacomputación Qué es: (cont.) Distinguible de una simple colección de computadores por un nivel de software: el middleware, el cual transforma una colección de recursos independientes en una única y coherente máquina virtual. El middleware es el software que se conoce como software de metasistemas: está por encima de los recursos físicos y por debajo de las aplicaciones.
91
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo - Unificación de recursos distribuidos geográficamente
92
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Término usado para designar la red de energía eléctrica Un aparato eléctrico se enchufa a la red sin mayor protocolo y se espera que funcione ¿Es posible sacar de la red el poder de cómputo requerido para una aplicación? GRID = Red de energía eléctrica Tendencias en el desarrollo
93
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Grids computacionales Aplicaciones: Supercomputación distribuida: simulación interactiva distribuida (entrenamiento y planificación), simulación de procesos físicos complejos (cosmología, modelamiento del clima,...) High-Throughput computing : despacho de gran número de tareas acopladas o independientes aprovechando CPUs ociosos (Condor) Computación por demanda: satisfacen requerimientos de recursos a corto plazo (NEOS y NetSolve)
94
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Grids computacionales Aplicaciones: (cont.) Computación con datos intensivos: sintetizan información a partir de datos en repositorios distribuidos, librerías digitales y bases de datos Computación colaborativa: permite interacción hombre- hombre, generalmente las aplicaciones están estructuradas en términos de un espacio virtual compartido.
95
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Computational Grids Qué ofrecen: Colaboración más efectiva, agrupando co-investigadores en el mismo espacio virtual. Incremento de la capacidad de cómputo local. Productividad mejorada a través de un ambiente de programación considerablemente más simple. Tendencias en el desarrollo
96
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Computational Grids Qué ofrecen: (cont.) Ahorro, los recursos en cuestión pueden ser muy costosos. Espacio de objetos (Archivos) persistentes compartido. Ejecución remota transparente. Tendencias en el desarrollo
97
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Grids : Se presupone que hay control sobre el acceso a los servidores Qué ofrecen: (cont.) Rendimiento Transparencia Tolerancia a fallas Seguridad Tendencias en el desarrollo
98
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Acceso compartido a sistemas de computación de alto rendimiento Grids de cómputo Acceso compartido a bases de datos y sistemas de archivos Grids de datos Acceso compartido a software y otros recursos computacionales Grids de servicio Tendencias en el desarrollo
99
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Servicios de Cómputo : Se trata de ofrecer servicios seguros para ejecutar las tareas de una aplicación en recursos computacionales distribuidos. Los Grids de este tipo, se llaman comunmente Grids computacionales. Algunos ejemplos son: NASA IPG, el World Wide Grid y el NSF TeraGrid. Servicios de Datos : La principal función de estos Grids es la de proveer acceso seguro a un conjunto de datos almacenados en forma distribuida, así como facilidades para su administración. Un ejemplo de aplicaciones que necesitan servicios para administrar, compartir y procesar grandes volúmenes de datos son la física de alta energía y el acceso a bases de datos distribuidas para el diseño de drogas Servicios de los Grids
100
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Servicios de Aplicación : Este tipo de Grids se encarga de la gestión de aplicaciones y de proveer el acceso a librerías y software remoto en forma transparente. Servicios de Información : El rol principal de este tipo de Grid es la extracción y presentación de datos con cierto significado, usando los servicios provistos por los tres tipos de Grids anteriores. Servicios de los Grids
101
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Sistemas y aplicaciones que emplean recursos distribuidos para realizar funciones críticas de manera descentralizada Cómputo distribuido Almacenamiento y compartimiento de datos Comunicación y colaboración Servicios en plataformas heterogéneas Peer-to-Peer computing: Cómputo intensivo descentralizado
102
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Qué ofrecen: Cooperación Independencia de localidad Rodeo de controles Anonimato Peer-to-Peer computing: Se presupone que los nodos participantes no tienen control sobre el acceso a los mismos
103
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Los clientes se comunican con el servidor Pueden comunicarse entre sí a través del servidor Modelo Cliente/Servidor
104
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Los clientes se comunican directamente Pueden consultar previamente a un servidor con propósitos de localización Modelo P2P (puntoapunto)
105
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Control central (ej. Napster) Distribuido (ej. Gnutella) Variantes de P2P
106
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Peer-to-Peer computing: Ejemplos de sistemas Sistemas para cómputo distribuido: MAGI Proyecto académico para búsqueda de señales provenientes de otros mundos Producto para aplicaciones de negocios colaborativos (comercio basado en p2p) e incorpora múltiples tipos de dispositivos entre peers (PDAs, celulares, chips especializados, comunicación basada en eventos) Proyecto de software abierto que provee servicios para p2p: encontrar peers, compartir archivos, encontrar contenido en sitios remotos, crear un grupo de peers, monitorear actividades y comunicación segura.
107
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Peer-to-Peer computing: Ejemplos de sistemas Sistemas para comunicación: Provee espacios virtuales compartidos para la interacción de pequeños grupos. Los usuarios que comparten un espacio pueden “chatear”, comunicarse por voz, enviar mensajes instantáneos, actualizar un calendario o plan de eventos, compartir un archivo, etc. Sistemas para compartir información: Intercambio de música mp3. Creció considerablemente al punto de que fueron demandados por compañías editoras de discos... y perdieron. Servidor centralizado para mantenimiento de información de ubicación El intercambio de información se hace directamente entre clientes groov e
108
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Tendencias en el desarrollo Peer-to-Peer computing: Ejemplos de sistemas Sistemas para compartir información: (cont.) Intercambio de archivos, principalmente mp3. Incluyeron secretamente un módulo de cómputo, hecho por Brilliant Digital para hacer cómputo distribuido. Compartimiento, búsqueda y copiado de archivos entre usuarios en Internet en forma descentralizada Los clientes son servidores al mismo tiempo. Aprende sobre los nodos conectados al vecino Descubrimiento de la red (ping y pong)
109
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas 5. Casos de Estudios: SUMA/G Prof. Yudith Cardinale Universidad Simón Bolívar MPI CORBA + + Globus +
110
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Computational Grid Application GRID Network NOW
111
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas SUMA= (http://suma.ldc.usb.ve) Proyecto de grid computacional desarrollado en la USB Middleware para ejecución de aplicaciones en bytecode Java Transparentemente ejecuta procesos remotamente con la misma sintaxis del comando “java” pero usando “suma” Puede ejecutar programas paralelos, con mpi_java (un envoltorio de MPI)
112
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Otras características resaltantes ejecución de programas interactivamente o fuera de línea (batch) manejo de E/S por demanda, no hay que copiar la totalidad de los archivos de entrada al servidor generación de perfiles de rendimiento (profiles) tanto para programas secuenciales como paralelos tolerancia a fallas basada en puntos de recuperación (checkpoints) usando un algoritmo distribuido de identificación de estados estables
113
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Portabilidad: resuelve principal problema de ejecución en máquinas heterogéneas Sociales: generaciones enteras de programadores bien entrenados y motivados El Java Virtual Machine puede ser usado como soporte para otros lenguajes ¿Eficiencia? ¿Por qué Java?
114
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Componentes de SUMA Clientes Comandos de shell o clientes de ventana Pueden generar múltiples procesos (p.e. rendering) Sistema de transporte encuentra un servidor de aplicaciones adecuado para la ejecución de cada petición, monitoreando el estado de los servidores y garantizando la ejecución de las aplicaciones Agentes de ejecución, secuenciales o paralelos
115
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Constru í do sobre tecnolog í as estándares, flexibles, portables y bien conocidas.
116
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas
117
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Actualmente compuesto por 8 sitios activos: clusters de PCs (quad y duales), clusters de IBMs y plataforma linux Escalas de Teras (Terascale): Tera-Hz de poder de cómputo y Tera-Bytes de capacidad de almacenamiento Velocidad de red entre 10 y 40 Gb/s Usan principalmente Globus y otros productos de software Aplicaciones: Dinámica molecular, procesamiento de imágenes astronómicas, visualización, etc.
118
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas
119
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Lo componen alrededor de 10 sitios: SGI, Cray, clusters de linux, IBM y clusters de COMPAQs. Usan Unicore como middleware, mpi, Corba y Java Aplicaciones: Bio Grid: aplicaciones químicas y biológicas Meteo Grid: predicción del tiempo CAE Grid: aplicaciones de ingeniería asistida por computador HPC Research Grid
120
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Ejemplos de sistemas P2P Sistemas para cómputo distribuido: Un radiotelescopio (Arecibo) capta señales electromagnéticas Se desea analizar las señales, lo cual requiere mucho poder de cómputo, para determinar la existencia de patrones fuera de lo común El fin es determinar señales enviadas por extraterrestres Las señales captadas son descargadas en la base de datos principal cada cierto tiempo (en el orden de decenas de GBytes)
121
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Los usuarios instalan el salvapantallas de SETI@HOME o proveen un horario (Windows, Unix y Macintosh)SETI@HOME Se divide la información en bloques cada vez que es actualizada en la base de datos del servidor SETI Cada vez que se activa el salvapantallas se conecta al servidor de SETI y descarga un bloque de datos, los procesa y envía el resultado de regreso. Este modelo tiene una característica esencial de P2P: los servidores son máquinas “comunes”, usualmente empleadas como clientes
122
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Soportan el proyecto del genoma humano: cuál es la relación entre la secuencia y la estructura del ADN, describir la secuencia y mapa de los genes, diseño de la secuencia de proteínas,... Se instala un cliente y éste verifica el estado del cpu (usará los ciclos de cpu cuando el % de uso esté relativamente bajo) Tienen clientes windows y linux
123
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Primera red distribuida para jugar contra un humano (30 Enero 2004) Explora computación distribuida Corre sólo sobre linux El record actual es 2070 máquinas en todo el mundo trabajando conjuntamente en un juego
124
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Internet 2 en Venezuela
125
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Internet 2 en Venezuela
126
Universidad Católica Andrés Bello Dirección de Formación Continua Prof. Yudith Cardinale Estudios Avanzados en Gestión de las Comunicaciones y Tecnologías de la Información Módulo II Arquitecturas de Sistemas Supercomputadores: Top 5 1. IBM/BlueGene/L, 131072 procesadores (280600 GFlops), DOE,NNSA/LLNL, USA 2. IBM/BGW, 40960 procesadores (91290 GFlops), IBM Research Center, USA 3. IBM/ASC Purple, 12208 procesadores (75760GFlops), DOE,NNSA/LLNL, USA 4. Columbia, SGI, 10160 procesadores. (51870 GFlops), NASA 5. Tera 10- NovaScale Itanium2, cluster de 8704 procesadores (42900 Gflops), Commissariat a l'Energia Atomique, Francia
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.