universidad católica andrés bello dirección de formación continua prof. yudith cardinale...

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 Módulo II Módulo II Tecnologías Informáticas Tecnologías Informáticas Arquitecturas de Sistemas Arquitecturas de Sistemas Prof. Yudith Cardinale Universidad Simón Bolívar

Upload: tomas-hernandez-ortiz

Post on 23-Jan-2016

229 views

Category:

Documents


1 download

TRANSCRIPT

Módulo II
Tecnologías Informáticas
Contenido
Introducción
Distribuidos
Ejemplos
1. Introducción
Introducción
plataforma de hardware, una plataforma de software
y un conjunto de usuarios y aplicaciones
Universidad Católica Andrés Bello
Introducción
procesadores
memoria
Introducción
Procesadores
Elementos de hardware de un sistema de computación:
Universidad Católica Andrés Bello
Introducción
Genéricos:
Inalámbricos: microondas, satélite, laser.
(cont.):
Introducción
Bases de datos
Introducción
hardware y de información del sistema de computación,
para fines particulares.
Introducción
Concurrencia
Introducción
sistemas uniprocesadores?
2. Arquitecturas de Hardware
Arquitecturas de hardware
Arquitecturas centralizadas:
Computadores personales
SISD: Single Instruction, Single Data
Computadores de 1 CPU
Computadores vectoriales.
Computadores paralelos.
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
Universidad Católica Andrés Bello
MISD: Multiple Instruction, Single Data.
No hay computadores en esta clasificación.
MIMD: Multiple Instruction, Multiple Data.
Computadores paralelos (supercomputadores)
Universidad Católica Andrés Bello
Arquitecturas de hardware
Universidad Católica Andrés Bello
Alivia la sobrecarga del bus y aumenta el rendimiento
Arquitecturas de hardware
Problema con el cahe: Posibilidad de Memoria Incoherente
Solución:
Cache Monitor (snoopy cache)
N procesadores
N memorias
Crosspoint switch
Usando un conmutador de cruceta (crossbar switch)
Problema: El Nro. de puntos de cruce puede ser alto: N2
Solución: Red Omega
Conmutador 2x2
Problema: Retardo
Arquitecturas de hardware
Estaciones de Trabajo
Arquitecturas de hardware
interconectados a través de un
Sistema de Comunicaciones
Ahorro de dinero
Arquitecturas de hardware
WAN (< 1 Mbps, ilimitado)
Arquitecturas de hardware
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:
Alta disponibilidad y escalabilidad (replicación de
servicios: motores de búsqueda)
Universidad Católica Andrés Bello
Arquitecturas de hardware
Malla (Parsytec)
El último elemento en una fila está conectado al primero en la próxima.
Hipercubos (Ncube)
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.
Universidad Católica Andrés Bello
Arquitecturas de hardware
Raid nivel 1: discos espejos (Mirroring and Duplexing)
Aplicaciones recomendadas: Contabilidad, nómina, finanzas, aplicaciones que requieren alta disponibilidad.
Universidad Católica Andrés Bello
Arquitecturas de hardware
Raid nivel 2: fraccionamiento y sombras (Striping and Shadowing)
Excelente disponibilidad de datos y alto desempeño
Universidad Católica Andrés Bello
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)
Universidad Católica Andrés Bello
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.
Universidad Católica Andrés Bello
Arquitecturas de hardware
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.
Universidad Católica Andrés Bello
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.
Universidad Católica Andrés Bello
3. Arquitecturas de Software
Arquitecturas de software
y acceden los recursos físicos y de información
de un sistema de computación
REDES
INTERNET
INTRANETS
UNIX
LINUX
WINDOWS
Cliente/Servidor
Dirección de Formación Continua Prof. Yudith Cardinale
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
Dirección de Formación Continua Prof. Yudith Cardinale
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
Arquitecturas de software
Buscan obtener máxima velocidad en un problema determinado.
Software fuertemente acoplado.
Existe autonomía en cada estación
La localización de los objetos no es transparente
Software débilmente acoplado
Arquitecturas de software
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.
Arquitecturas de software
Un sistema distribuido
permite acceso transparente
a los recursos
cualquier sistema con posibilidades de cómputo remoto y
acceso a información repartida geográficamente
Universidad Católica Andrés Bello
Arquitecturas de software
Sistema de Operación
Aplicación de Servicios
Universidad Católica Andrés Bello
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
Multimedia para acceso a audio y video (música, videoconferencias, etc.)
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.
Arquitecturas de software
Arquitecturas de software
esquema
El medio de envío para la petición/respuesta es la red
Un servidor debe poder manejar varios usuarios
concurrentemente
Dirección de Formación Continua Prof. Yudith Cardinale
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.
Arquitecturas de software
Universidad Católica Andrés Bello
http://www.ldc.usb.ve/~yudith
Content-Length: 2003
<html><body>
Arquitecturas de software
Servicio HTTP: PROXIES
http://www.ldc.usb.ve/cgi-bin/hello.pl
GET /cgi-bin/hello.pl HTTP/1.0
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.
Universidad Católica Andrés Bello
https://webmail.cesma.usb.ve
en el servidor
Arquitecturas de software
Servicio HTTP: Problemas
Es un protocolo sin estado
Implementación de nuevos encabezados en HTTP/1.1
Problemas de caching
Implementación de HTTPS
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.
Arquitecturas de software
cliente
servidor
Servicio
cliente
servidor
servidor
Todos los procesos desempeñan tareas semejantes.
La sincronización y comunicación es responsabilidad de los procesos.
Arquitecturas de software
Aplic.
Dirección de Formación Continua Prof. Yudith Cardinale
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.
Arquitecturas de software
K-Mosix es el kernel
Universidad Católica Andrés Bello
Dirección de Formación Continua Prof. Yudith Cardinale
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)
Arquitecturas de software
Universidad Católica Andrés Bello
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
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.
Modelos de Objetos Distribuidos
Dirección de Formación Continua Prof. Yudith Cardinale
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.
Modelos de Objetos Distribuidos
Dirección de Formación Continua Prof. Yudith Cardinale
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.
Modelos de Objetos Distribuidos
Dirección de Formación Continua Prof. Yudith Cardinale
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.
Modelos de Objetos Distribuidos
4. Tendencias en el Desarrollo
de Sistemas Distribuidos
Prof. Yudith Cardinale
Universidad Simón Bolívar
Tendencias en el desarrollo
Objetos Distribuidos
Componentes Distribuidos
de recursos
Dirección de Formación Continua Prof. Yudith Cardinale
CORBA (Common Object Request Broker Architecture) es un estándar para construir objetos distribuidos.
Propuesto por el Object Management Group (OMG)
Tendencias en el desarrollo
Universidad Católica Andrés Bello
Dirección de Formación Continua Prof. Yudith Cardinale
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
Tendencias en el desarrollo
Tendencias en el desarrollo
y arquitectura de referencia para construir aplicaciones.
APP. Objects
Common Facilities
In args
IDL: Interface Definition Language
Es un lenguaje declarativo
Provee encapsulamiento en dos niveles: tipos de datos y objetos.
Sintaxis derivada de C++
Tendencias en el desarrollo
// Ejemplo de especificación de IDL: mybank.idl
Module BANK
interface BankAccount
exception incorrect_pin;
attribute account_kind what_kind_of_account;
raises (account_not_available, incorrect_pin);
raises (account_not_available);
raises (account_not_available);
Universidad Católica Andrés Bello
IDL Sk
Object Adapter
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)
Operaciones: create_request, invoke, send, get_response
Tendencias en el desarrollo
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
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 inter-operabilidad
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
MPP
NOWs
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
Tendencias en el desarrollo
Universidad Católica Andrés Bello
Tendencias en el desarrollo
Universidad Católica Andrés Bello
Tendencias en el desarrollo
Universidad Católica Andrés Bello
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.
Tendencias en el desarrollo
Distribuidos
7.bin
Tendencias en el desarrollo
Enterprise Java Beans: Arquitectura
Tendencias en el desarrollo
Enterprise Java Beans: Arquitectura
Tendencias en el desarrollo
Enterprise Java Beans: Clientes
Tendencias en el desarrollo
Enterprise Java Beans: Clientes
Tendencias en el desarrollo
J2EE: Java2 Enterprise Edition
Tendencias en el desarrollo
14.bin
Tendencias en el desarrollo
15.bin
(EIS: Enterprise Information System)
Tendencias en el desarrollo
16.bin
Dirección de Formación Continua Prof. Yudith Cardinale
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
Universidad Católica Andrés Bello
Dirección de Formación Continua Prof. Yudith Cardinale
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
Universidad Católica Andrés Bello
CAD/CAM
Ciencias de la vida
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
Computadoras para HPC
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
Universidad Católica Andrés Bello
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?
Una idea trivial
Tendencias en el desarrollo
Universidad Católica Andrés Bello
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.
Tendencias en el desarrollo
OJO, agregar de computacion ubicua
Universidad Católica Andrés Bello
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.
Tendencias en el desarrollo
Metasistemas, Metacomputación, Sistemas de Metacomputación
Universidad Católica Andrés Bello
Tendencias en el desarrollo
Universidad Católica Andrés Bello
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
Universidad Católica Andrés Bello
Aplicaciones:
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)
Tendencias en el desarrollo
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.
Tendencias en el desarrollo
Qué ofrecen:
Incremento de la capacidad de cómputo local.
Productividad mejorada a través de un ambiente de programación considerablemente más simple.
Computational Grids
Qué ofrecen: (cont.)
Espacio de objetos (Archivos) persistentes compartido.
Ejecución remota transparente.
Qué ofrecen: (cont.)
Seguridad
Grids : Se presupone que hay control sobre el acceso a los servidores
Tendencias en el desarrollo
Universidad Católica Andrés Bello
Grids de datos
Dirección de Formación Continua Prof. Yudith Cardinale
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
Tendencias en el desarrollo
Servicios de los Grids
Universidad Católica Andrés Bello
Dirección de Formación Continua Prof. Yudith Cardinale
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.
Tendencias en el desarrollo
Servicios de los Grids
Universidad Católica Andrés Bello
Sistemas y aplicaciones que emplean recursos distribuidos para realizar funciones críticas de manera descentralizada
Cómputo distribuido
Comunicación y colaboración
Universidad Católica Andrés Bello
Qué ofrecen:
participantes no tienen control sobre el acceso a los mismos
Universidad Católica Andrés Bello
Pueden comunicarse entre sí a través del servidor
Modelo Cliente/Servidor
Los clientes se comunican directamente
Pueden consultar previamente a un servidor con propósitos de localización
Modelo P2P (punto­a­punto)
Universidad Católica Andrés Bello
Variantes de P2P
Sistemas para cómputo distribuido:
Tendencias en el desarrollo
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.
Universidad Católica Andrés Bello
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
Tendencias en el desarrollo
groove
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)
Tendencias en el desarrollo
Universidad Católica Andrés Bello
5. Casos de Estudios: SUMA/G
Prof. Yudith Cardinale
Universidad Simón Bolívar
Computational Grid
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)
SUMA= (http://suma.ldc.usb.ve)
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
Universidad Católica Andrés Bello
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?
Componentes de SUMA
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
Universidad Católica Andrés Bello
Construído sobre tecnologías estándares, flexibles,
portables y bien conocidas.
Universidad Católica Andrés Bello
Universidad Católica Andrés Bello
Dirección de Formación Continua Prof. Yudith Cardinale
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.
Universidad Católica Andrés Bello
Universidad Católica Andrés Bello
Dirección de Formación Continua Prof. Yudith Cardinale
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:
Meteo Grid: predicción del tiempo
CAE Grid: aplicaciones de ingeniería asistida por computador
HPC Research Grid
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)
Ejemplos de sistemas P2P
Universidad Católica Andrés Bello
Dirección de Formación Continua Prof. Yudith Cardinale
Los usuarios instalan el salvapantallas de SETI@HOME o proveen un horario (Windows, Unix y Macintosh)
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
Universidad Católica Andrés Bello
Dirección de Formación Continua Prof. Yudith Cardinale
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
Universidad Católica Andrés Bello
Dirección de Formación Continua Prof. Yudith Cardinale
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
Universidad Católica Andrés Bello
Internet 2 en Venezuela
Universidad Católica Andrés Bello
Internet 2 en Venezuela
Universidad Católica Andrés Bello
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
Supercomputadores: Top 5