La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "1 Procesamiento distribuido, cliente/servidor y clusters Capítulo 14."— Transcripción de la presentación:

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

2 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 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 4 LAN o WAN Internet Estación de trabajo (cliente) Servidor Figura Entorno genérico cliente/servidor

5 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 6 Servicios de presentación Lógica de aplicación (parte de cliente) Software de comunicaciones Sistema operativo cliente Plataforma hardware Lógica de aplicación (parte de servidor) Software de comunicaciones Sistema operativo servidor Plataforma hardware Petición Respuesta Interacción del protocolo Estación trabajo cliente Servidor Figura Arquitectura genérica cliente/servidor

7 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 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 9 Servicios de presentación Lógica de aplicación Lógica de base de datos Software de comunicaciones Sistema operativo cliente Plataforma hardware Lógica de base de datos Software de comunicaciones Sistema gestor de base de datos Sistema operativo servidor Plataforma hardware Consulta Respuesta Interacción del protocolo Estación de trabajo cliente Servidor Figura Arquitectura cliente/servidor para aplicaciones de base de datos

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

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

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

13 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 Lógica de presentación Lógica de aplicación Lógica de base de datos DBMS (b) Procesamiento basado en el servidor ClienteServidor

14 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 Lógica de presentación Lógica de aplicación Lógica de base de datos DBMS Cliente Servidor (c) Procesamiento basado en el cliente

15 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 Lógica de presentación Lógica de aplicación Cliente Lógica de aplicación Lógica de base de datos DBMS Servidor (d) Procesamiento cooperativo

16 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 17 Cliente Servidor de la capa central (servidor de aplicación) Servidores en segundo plano (servidores de datos) Figura Arquitectura cliente/servidor de tres capas

18 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 19 Cache de cliente Cache de servidor (server cache) Cache de cliente Red Tráfico de ficheros Tráfico de servidor Tráfico de ficheros Disco de servidor Tráfico de disco Disco de servidorDisco de cliente Figura Cache de ficheros distribuida en Sprite

20 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 21 Servicios de presentación Lógica de aplicación Middleware Software de comunicaciones Sistema operativo cliente Plataforma hardware Middleware Software de comunicaciones Servicios de aplicación Sistema operativo servidor Plataforma hardware Interacción middleware Interacción del protocolo Estación de trabajo cliente Servidor Figura El papel del middleware en la arquitectura cliente/servidor

22 22 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 23 Mecanismos middleware Aplicación Middleware orientado a mensajes (con cola de mensajes) Transporte Red Aplicación Middleware orientado a mensajes (con cola de mensajes) Transporte Red ClienteServidor Mensajes específicos de aplicación (a) Middleware orientado a mensajes (con cola de mensajes)

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

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

26 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 27 Primitivas básicas de paso de mensajes Proceso emisor Proceso receptor Módulo de paso de mensajes IdProcesoMensaje Figura Primitivas básicas de paso de mensajes

28 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 29 Bloqueante vs. no bloqueante 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 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 31 Aplicación cliente Respuesta local Llamada a procedimiento local Aplicación local o sistema operativo Esqueleto local Mecanismo RPC Aplicación servidora remota Respuesta local Llamada a procedimiento local Esqueleto local Llamada a procedimiento remoto Mecanismo RPC Figura Mecanismo de llamadas a procedimiento remoto

32 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 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 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 (Microsofts Component Object Model, COM) Arquitectura Común de Mediador de Solicitud de Objeto (Common Object Request Broker Architecture, CORBA)

35 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 36 Método de ClusterDescripciónBeneficiosLimitaciones Pasivo en EsperaEn 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 ActivoEl servidor secundario también se utiliza para procesamiento de tareas. Coste reducido porque el servidor secundario puede ser utilizado para procesamiento. Creciente complejidad. Diferentes ServidoresCada 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 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 38 Configuraciones de los clusters E/S Enlace de mensajes de alta velocidad E/S MM (a) Servidor en espera sin disco compartido

39 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 40 Configuraciones de los clusters PPE/S M Enlace de mensajes de alta velocidad E/S PP M (b) Disco compartido

41 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 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 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 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 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 46 Arquitectura de un cluster Aplicaciones secuenciales Aplicaciones paralelas Entorno de programación paralela Middleware de cluster (Imagen del sistema e infraestructura de disponibilidad) PC/Estación de trabajo Sw comunicaciones Hw interfaz red Red de alta velocidad/conmutador Figura Arquitectura de computación cluster [BUYY99a]

47 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 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 49 Herramientas de gestión del cluster API DLL del cluster Gestor de base de datos Gestor actualizaciones globales Gestor de nodos Procesador de eventos Gestor de recursos Gestor de recuperación de fallos Gestor de comunicaciones DLL recursos aplicación Monitor de recursos DLL recursos aplicación DLL recursos aplicación DLL recursos aplicación App conscientes del cluster App no conscientes RPC Otros nodos Servicio de cluster Interfaz de gestión de recursos Figura Diagrama de bloques del Windows Cluster Server [SHOR97]

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

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

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

53 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 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 55 Almacenamiento compartido distribuido Estaciones de trabajo Linux Ethernet o Ethernets interconectados Figura Configuración genérica de Beowulf


Descargar ppt "1 Procesamiento distribuido, cliente/servidor y clusters Capítulo 14."

Presentaciones similares


Anuncios Google