La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Procesamiento distribuido, cliente/servidor y clusters

Presentaciones similares


Presentación del tema: "Procesamiento distribuido, cliente/servidor y clusters"— Transcripción de la presentación:

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

2 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

3 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

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

5 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

6 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 Arquitectura genérica cliente/servidor

7 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

8 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

9 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 Arquitectura cliente/servidor para aplicaciones de base de datos

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

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

12 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

13 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

14 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

15 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

16 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)

17 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 Arquitectura cliente/servidor de tres capas

18 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

19 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 Cache de ficheros distribuida en Sprite

20 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

21 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 El papel del middleware en la arquitectura cliente/servidor

22 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 Visión lógica del middleware

23 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)

24 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

25 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 Mecanismos middleware

26 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

27 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 Primitivas básicas de paso de mensajes

28 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

29 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

30 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

31 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 Mecanismo de llamadas a procedimiento remoto

32 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

33 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

34 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)

35 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

36 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.

37 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

38 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

39 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ó

40 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

41 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

42 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

43 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

44 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

45 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

46 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 Arquitectura de computación cluster [BUYY99a]

47 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

48 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

49 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 Diagrama de bloques del Windows Cluster Server [SHOR97]

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

51 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 Estructura de Sun Cluster

52 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 Extensiones del sistema de ficheros de sun Cluster

53 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

54 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

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


Descargar ppt "Procesamiento distribuido, cliente/servidor y clusters"

Presentaciones similares


Anuncios Google