Procesamiento distribuido, cliente/servidor y clusters

Slides:



Advertisements
Presentaciones similares
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
Advertisements

Capitulo 7: Procesamiento batch y el Job Entry Subsystem (JES)
Arquitectura de una red MAN
Intranets P. Reyes / Octubre 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
Internet y tecnologías web
TEMA 2 MÚLTIPLOS Y DIVISORES
En primer lugar presentarme…
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Respuestas Buscando a Nemo.
Essential Skills for Digital Literacy
Sistema operativo Componentes de un sistema operativo
Introducción a servidores
1 Reporte Componente Impacto Por Orden Territorial Por Departamento No Disponible ND *Los indicadores para el año 2008 no fueron calculados.
Base de Datos Distribuidas Bases de Datos II Universidad Argentina J. F. Kennedy - Año 2008 Maletin Yahoo => briefcase.yahoo.com Usuario => bd2_jfk Pssw.
Phone2Wave-Server Manual de Operación.
Universidad Nacional Autónoma de Honduras
Carlos Rojas Kramer Universidad Cristóbal Colón
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Common Object Request Broker Architecture
INTRODUCCIÓN A JAVA.
Término que se le da al conjunto de equipos de cómputo que se encuentran conectados entre si por medio de dispositivos físicos que envían y reciben -
EL OSO APRENDIZ Y SUS AMIGOS
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
50 principios 1. Los clientes asumen el mando.
Ecuaciones Cuadráticas
Compartir Informacion Compartir Hardware y Software
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
Base de Datos Distribuidas
S.O. Multiusuario, red. Servicio: Cliente/Servidor, p2p
Ingeniería del Software
BASES DE DATOS DISTRIBUIDAS
Es un Sistema operativo de red. Es una de las plataformas de servicio más fiable para ofrecer acceso seguro y continuado a la red y los recursos de.
APENDICE TEMA 4. MÉTRICA DE LOS PUNTOS DE FUNCIÓN
Introducción a los Conceptos de Bases de Datos Docente: Ing. Marleny Soria Medina.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
FUNDAMENTOS DE CALIDAD EN LA GESTIÓN PÚBLICA
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
Desarrollo de aplicaciones para ambientes distribuidos
Introducción a los Sistemas Operativos
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
Servidores Conceptos Generales.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Introducción a los SOs.
Escuela Normal “Profr. Darío Rodríguez Cruz”
Supongamos que un usuario desea escribir un informe e imprimirlo en una impresora conectada. Para realizar esta tarea, se precisa una aplicación de procesamiento.
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. Si no se dispone.
MARIANA PRECIADO VILLA TELECOMUNICACIONES 11º3
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
BASE DE DATOS DISTRIBUIDAS
Arquitectura Cliente Servidor
Elementos y tipos de sistemas operativos
SISTEMAS OPERTIVOS DE RED Los usuarios están conectados a la red y que pueden compartir recursos. Cada equipo ejecuta con sus propios recursos su propio.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Conociendo el modelo Cliente-Servidor
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
BASES DE DATOS DISTRIBUIDAS M.C.C. María Guadalupe Villanueva Carrasco INGENIERIA EN SISTEMAS COMPUTACIONALES.
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
#REDES.. ¿Qué es una red? Conjunto de computadores, equipos de comunicaciones y otros dispositivos que se pueden comunicar entre sí, a través de un medio.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

Procesamiento distribuido, cliente/servidor y clusters Capítulo 14

Computación cliente/servido Las máquinas cliente son normalmente simples PCs o estaciones de trabajo que proporcionan una interfaz gráfica de fácil manejo al usuario final Cada servidor proporciona un conjunto de servicios compartidos a los clientes El servidor permite a los clientes compartir el acceso a una misma base de datos y permite el uso de sistemas de computación de alto rendimiento para gestionar la base de datos

Terminología cliente/servidor Interfaz de programación de aplicaciones (Applications Programming Interface, API) Un conjunto de funciones y programas que permiten a los clientes y servidores intercomunicarse Cliente Un elemento de la red que solicita información, normalmente un PC o estación de trabajo. Puede interrogar a una base de datos o solicitar información de un servidor Middleware Un conjunto de controladores, API, y software adicional que mejoran la conectividad entre una aplicación cliente y servidor Base de datos relacional Una base de datos en la que el acceso a la información está restringido por la selección de filas que satisfacen todos los criterios de búsqueda Servidor Un computador, normalmente una estación de trabajo de gran potencia, un minicomputador, o un mainframe, que almacena la información para los clientes de la red Lenguaje Estructurado de Consultas (Structured Query Language, SQL) Lenguaje desarrollado por IBM y estandarizado por ANSI que permite acceder, crear, actualizar e interrogar bases de datos relacionales

Figura 14.1. Entorno genérico cliente/servidor LAN o WAN Internet Servidor Estación de trabajo (cliente) Figura 14.1. Entorno genérico cliente/servidor

Aplicaciones cliente/servidor El software básico es un sistema operativo que ejecuta sobre el hardware de la plataforma La plataforma y el sistema operativo del cliente y del servidor pueden ser diferentes Estas diferencias de bajo nivel no son relevantes siempre que el cliente y el servidor compartan los mismos protocolos de comunicación y soporten las mismas aplicaciones

Figura 14.2. Arquitectura genérica cliente/servidor Estación trabajo cliente Servicios de presentación Lógica de aplicación (parte de cliente) Software de comunicaciones Sistema operativo cliente Plataforma hardware Servidor Petición Lógica de aplicación (parte de servidor) Software de comunicaciones Sistema operativo servidor Plataforma hardware Respuesta Interacción del protocolo Figura 14.2. Arquitectura genérica cliente/servidor

Aplicaciones cliente/servidor La mayor parte del software de aplicación ejecuta en el servidor La lógica de la aplicación está situada en el cliente Servicios de presentación en la parte del cliente

Aplicaciones de base de datos El servidor es un servidor de base de datos La interacción entre el cliente y el servidor se realiza a través de transacciones El cliente realiza una petición a la base de datos y recibe una respuesta El servidor es responsable del mantenimiento de la base de datos

Estación de trabajo cliente Servicios de presentación Lógica de aplicación Lógica de base de datos Software de comunicaciones Sistema operativo cliente Plataforma hardware Servidor Consulta Lógica de base de datos Software de comunicaciones Sistema gestor de base de datos Sistema operativo servidor Plataforma hardware Respuesta Interacción del protocolo Figura 14.3. Arquitectura cliente/servidor para aplicaciones de base de datos

Uso de una base de datos en un entorno cliente/servidor Consulta inicial Servidor 100.000 posibles registros Cliente Siguiente consulta 1.000 registros posibles Consulta final Un registro devuelto Base de datos con 1.000.000 de registros (a) Uso deseable cliente/servidor

Uso de una base datos en un entorno cliente/servidor Consulta Cliente 300.000 registros devueltos Base de datos con 1.000.000 de registros (b) Uso incorrecto cliente/servidor Figura 14.4. Uso de una base de datos en un entorno cliente/servidor

Clases de aplicaciones cliente/servidor Procesamiento basado en el host No es una verdadera computación cliente/servidor Entornos mainframe tradicionales Cliente Servidor Lógica de presentación Lógica de aplicación Lógica de bases de datos DBMS (a) Procesamiento basado en el host

Clases de aplicaciones cliente/servidor Procesamiento basado en el servidor El servidor realiza todo el procesamiento El cliente proporciona la interfaz gráfica de usuario Cliente Servidor Lógica de presentación Lógica de aplicación Lógica de base de datos DBMS (b) Procesamiento basado en el servidor

Clases de aplicaciones cliente/servidor Procesamiento basado en el cliente Todo el procesamiento se puede realizar en el cliente Las rutinas de validación de datos y otras funciones de la lógica de la base de datos se realizan en el servidor Cliente Lógica de presentación Lógica de aplicación Lógica de base de datos Servidor Lógica de base de datos DBMS (c) Procesamiento basado en el cliente

Clases de aplicaciones cliente/servidor Procesamiento cooperativo El procesamiento de aplicación se realiza de forma óptima Es más compleja de configurar y de mantener Cliente Lógica de presentación Lógica de aplicación Servidor Lógica de aplicación Lógica de base de datos DBMS (d) Procesamiento cooperativo

Arquitectura cliente/servidor de tres capas El software de la aplicación se distribuye entre tres tipos de máquinas Máquina de usuario Cliente ligero Servidor en la capa central Pasarela Convertir protocolos Mezclar/integrar los resultados de diferentes fuentes de datos Servidor en segundo plano (backend)

Figura 14.6. Arquitectura cliente/servidor de tres capas Servidor de la capa central (servidor de aplicación) Servidores en segundo plano (servidores de datos) Figura 14.6. Arquitectura cliente/servidor de tres capas

Consistencia de la cache de ficheros La cache de ficheros almacena los registros de los ficheros para almacenar los registros de los ficheros a los que se ha accedido recientemente La cache es consistente cuando contiene copias exactas de los datos remotos El bloqueo de ficheros evita accesos simultáneos a un fichero

Figura 14.7. Cache de ficheros distribuida en Sprite Red Tráfico de ficheros Tráfico de servidor Disco de servidor Tráfico de ficheros Cache de cliente Cache de servidor (server cache) Cache de cliente Tráfico de disco Tráfico de disco Disco de servidor Disco de cliente Figura 14.7. Cache de ficheros distribuida en Sprite

Middleware Conjunto de herramientas que proporciona una manera y estilo de acceso uniforme a los recursos del sistema a través de todas las plataformas Permite a los programadores construir aplicaciones que parezcan iguales Permite que los programadores utilicen el mismo método para acceder a los datos

Estación de trabajo cliente Servicios de presentación Lógica de aplicación Middleware Software de comunicaciones Sistema operativo cliente Plataforma hardware Servidor Interacción middleware Middleware Software de comunicaciones Servicios de aplicación Sistema operativo servidor Plataforma hardware Interacción del protocolo Figura 14.8. El papel del middleware en la arquitectura cliente/servidor

Figura 14.9. Visión lógica del middleware Aplicación Aplicación Middleware (servicios del sistema distribuido) Interfaces de la plataforma Plataforma: SO y Hardware Plataforma: SO y Hardware Figura 14.9. Visión lógica del middleware

Mecanismos middleware Cliente Servidor Aplicación Middleware orientado a mensajes (con cola de mensajes) Transporte Red Aplicación Middleware orientado a mensajes (con cola de mensajes) Transporte Red Mensajes específicos de aplicación (a) Middleware orientado a mensajes (con cola de mensajes)

Mecanismos middleware Cliente Servidor Aplicación Programa esqueleto RPC Transporte Red Programa esqueleto RPC Aplicación Transporte Red Innovaciones y respuestas de procedimientos específicos de aplicación (b) Llamada a procedimiento remoto

Mecanismos middleware Servidor Cliente Aplicación Programa esqueleto RPC Transporte Red Mediador de solicitud de objeto Transporte Red Servidor de objetos Transporte Red Solicitud de objetos y respuestas Solicitud de objetos y respuestas (c) Mediador de solicitud de objeto Figura 14.10. Mecanismos middleware

Paso de mensajes distribuido Paso de mensajes que se utiliza para la comunicación entre procesos Envía (Send) y recibe (Receive) mensajes tal y como se utilizan en un único sistema Llamadas a procedimiento remoto

Primitivas básicas de paso de mensajes Proceso emisor Proceso receptor Módulo de paso de mensajes Módulo de paso de mensajes IdProceso Mensaje Figura 14.11. Primitivas básicas de paso de mensajes

Fiable vs. no fiable Un servicio fiable de paso de mensajes garantiza la entrega si es posible No es necesario informar al proceso emisor de que el mensaje ha sido enviado El servicio de paso de mensajes no fiable envía el mensaje por la red pero no se le indica ni el éxito ni el fracaso Reduce enormemente la complejidad y la sobrecarga

Bloqueante vs. no bloqueante No se suspende a un proceso como resultado de realizar un Send o Receive Eficiente y flexible Difícil de depurar programas que utilicen estas primitivas Bloqueante Una primitiva Send no devuelve el control al proceso emisor hasta que el mensaje ha sido transmitido Send no devuelve el control al proceso hasta que se haya recibido el acuse de recibo Receive no devuelve el control hasta que el mensaje ha sido situado en su correspondiente buffer

Llamadas a procedimiento remoto Permite a los programas en diferentes máquinas interactuar a través del uso de llamadas a procedimiento Ampliamente aceptadas Estandarizadas Los módulos cliente y servidor se pueden mover fácilmente entre computadoras y sistemas operativos

Figura 14.12. Mecanismo de llamadas a procedimiento remoto Aplicación servidora remota Aplicación cliente Respuesta local Respuesta local Llamada a procedimiento local Llamada a procedimiento local Respuesta local Aplicación local o sistema operativo Esqueleto local Esqueleto local Llamada a procedimiento remoto Mecanismo RPC Mecanismo RPC Llamada a procedimiento remoto Figura 14.12. Mecanismo de llamadas a procedimiento remoto

Enlace cliente/servidor El enlace especifica la relación entre un procedimiento remoto y el programa llamante Enlace no permanente Se establece la conexión lógica entre los dos procesos en el momento de la llamada a procedimiento remoto Enlaces persistentes Se establece una conexión después de la finalización del procedimiento

Síncronos vs. asíncronos RPC síncrono Se comporta como una llamada a subrutina RPC asíncrono No bloquean al llamante Permite al cliente ejecutar en paralelo con el servidor

Mecanismos orientados a objetos Clientes y servidores mandan mensajes entre objetos Un cliente manda una petición a un mediador de solicitud de objeto El mediador llama al objeto apropiado y le transfiere todos los datos relevantes Modelo de Componentes de Objeto de Microsoft (Microsoft’s Component Object Model, COM) Arquitectura Común de Mediador de Solicitud de Objeto (Common Object Request Broker Architecture, CORBA)

Clusters Alternativa al Multiprocesamiento Simétrico (Symmetric Multiprocessing, SMP) Grupo de computadoras completas e interconectadas, que trabajan juntas como un recurso de computación unificado Pueden crear la ilusión de ser una única máquina El sistema puede ejecutar por sí mismo

Método de Cluster Descripción Beneficios Limitaciones Pasivo en Espera En caso de fallo en el servidor primario, un servidor secundario toma control.. Fácil de implementar. Alto coste debido a que el servidor secundario no está disponible para procesar otras tareas. Secundario Activo El servidor secundario también se utiliza para procesamiento de tareas. Coste reducido porque el servidor secundario puede ser utilizado para procesamiento. Creciente complejidad. Diferentes Servidores Cada servidor tiene sus propios discos. Los datos se copian continuamente del servidor primario al secundario. Alta disponibilidad. Alta sobrecarga de red y de servidor debido a las operaciones de copia. Servidores Conectados a Discos Los servidores están unidos a los mismos discos, pero cada servidor posee sus propios discos, Si un servidor falla el otro servidor toma control de sus discos. Sobrecarga de red y de servidores reducida debido a la eliminación de las operaciones de copia Normalmente requiere tecnologías de replicación de discos o RAID para compensar el riesgo de fallo de disco. Servidores Comparten Discos Varios servidores comparten acceso a disco de forma simultánea. Baja sobrecarga de red y de servidores. Reducido riesgo de periodos de inactividad causados por fallos de disco. Requiere software de gestión de cerrojos. Normalmente se utiliza con tecnologías de replicación de discos o RAID.

Clusters Servidor diferente Cada computadora es un servidor diferente No hay discos compartidos Se necesita algún tipo de software de gestión o de planificación Se debe copiar constantemente la información entre los sistemas, de forma que cada sistema tenga acceso a los datos actualizados de otros sistemas

Configuraciones de los clusters Enlace de mensajes de alta velocidad M E/S E/S E/S E/S M (a) Servidor en espera sin disco compartido

Clusters Nada compartido (Shared Nothing) Reduce la sobrecarga de las comunicaciones Los discos comunes se particionan en volúmenes Cada volumen pertenece a una computadora Si falla una computadora, el cluster se debe reconfigurar para que otra computadora tome posesión del volumen de la computadora que falló

Configuraciones de los clusters Enlace de mensajes de alta velocidad E/S P P P P E/S M E/S E/S E/S E/S M (b) Disco compartido

Clusters Disco compartido Múltiples computadoras comparten los mismos discos al mismo tiempo Cada computadora tiene acceso a todos los volúmenes de todos los discos

Aspectos de diseño de sistemas operativos Gestión de fallos Un cluster de alta disponibilidad ofrece alta posibilidad de que todos los servicios estén en servicio No garantiza el estado de las transacciones parcialmente realizadas si ocurre algún fallo Un cluster tolerante a fallos asegura que todos los recursos están siempre disponibles

Aspectos de diseño de sistemas operativos Equilibrado de carga Cuando se añade una nueva computadora al cluster, el servicio de equilibrado de carga debe incluir automáticamente la nueva computadora en la planificación de las aplicaciones Computación paralela Compilación paralela Aplicaciones paralelas Computación paramétrica

Arquitectura de un cluster Servicios y funciones del middleware de cluster Un único punto de entrada Una única jerarquía de ficheros Un único punto de control Una única red virtual Un único espacio de memoria Un único sistema de control de trabajos

Arquitectura de un cluster Servicios y funciones del middleware de cluster Un único interfaz de usuario Un único espacio de E/S Un único espacio de procesos Puntos de control Migración de procesos

Arquitectura de un cluster Aplicaciones paralelas Aplicaciones secuenciales Entorno de programación paralela Middleware de cluster (Imagen del sistema e infraestructura de disponibilidad) PC/Estación de trabajo PC/Estación de trabajo PC/Estación de trabajo PC/Estación de trabajo PC/Estación de trabajo Sw comunicaciones Sw comunicaciones Sw comunicaciones Sw comunicaciones Sw comunicaciones Hw interfaz red Hw interfaz red Hw interfaz red Hw interfaz red Hw interfaz red Red de alta velocidad/conmutador Figura 14.14. Arquitectura de computación cluster [BUYY99a]

Cluster frente a SMP SMP es más fácil de gestionar y configurar SMP ocupa menos espacio físico y gasta menos energía Los productos SMP están bien establecidos y son muy estables Los clusters son superiores que SMP en relación a la escalabilidad incremental y absoluta Los clusters son superiores en términos de disponibilidad

Servidor cluster de Windows Servicio Cluster La colección de software de cada nodo que gestiona toda la actividad específica del cluster Recurso Un elemento gestionado por el servicio cluster En línea (online) Se dice que un recurso está en línea en un nodo cuando está proporcionando servicio en ese nodo específico Grupo Una colección de recursos gestionada como una unidad

Figura 14.15. Diagrama de bloques del Windows Cluster Server [SHOR97] Herramientas de gestión del cluster API DLL del cluster RPC Gestor actualizaciones globales Servicio de cluster Gestor de base de datos Procesador de eventos Gestor de nodos DLL recursos aplicación Gestor de recursos Gestor de recuperación de fallos Gestor de comunicaciones Otros nodos Monitor de recursos Interfaz de gestión de recursos DLL recursos aplicación DLL recursos aplicación DLL recursos aplicación App no conscientes App conscientes del cluster Figura 14.15. Diagrama de bloques del Windows Cluster Server [SHOR97]

Sun Cluster Principales componentes Soporte de objetos y comunicaciones Gestión de procesos Redes Sistema de ficheros distribuido global

Figura 14.16. Estructura de Sun Cluster Aplicaciones Interfaz de llamadas al sistema Otros nodos Red Sun cluster Sistema de ficheros Procesos Invocación de objetos C++ Estructura de objetos Núcleo Solaris existente Figura 14.16. Estructura de Sun Cluster

Figura 14.17. Extensiones del sistema de ficheros de sun Cluster Núcleo Interfaz nodo-v/VFS Cache Capa proxy Invocación al objeto Núcleo Interfaz nodo-v/VFS Implementación del objeto Cache Interfaz nodo-v/VFS Sistema de ficheros Sistema de ficheros Sistema de ficheros Sistema de ficheros (a) Solaris estándar (b) Sun cluster Figura 14.17. Extensiones del sistema de ficheros de sun Cluster

Clusters Beowulf y Linux Principales características Componentes genéricos disponibles en el mercado Procesadores dedicados (mejor que ciclos disponibles de estaciones de trabajo ociosas) Una red privada y dedicada (LAN o WAN o una combinación de redes) Ningún componente propio Fácilmente replicable para múltiples vendedores

Clusters Beowulf y Linux Principales características E/S escalable Basado en software gratuito disponible Utiliza herramientas de computación gratuitas con mínimos cambios Retorno del diseño y de las mejoras a la comunidad

Figura 14.18. Configuración genérica de Beowulf Almacenamiento compartido distribuido Estaciones de trabajo Linux Ethernet o Ethernets interconectados Figura 14.18. Configuración genérica de Beowulf