Computación Grid y Arquitectura Cliente/Servidor

Other foreign languages9.33 KB

Summary

El texto aborda los conceptos esenciales de la computación grid y el paradigma cliente/servidor en entornos distribuidos. Describe las iniciativas comerciales, ventajas, desventajas y la división funcional entre el distribuidor y el planificador de tareas. Asimismo, clasifica las arquitecturas grid y detalla los modelos cliente/servidor organizados en dos, tres y múltiples niveles de procesamiento.

Key points

  • La computación grid optimiza el balanceo de carga y reduce costos reemplazando superservidores con granjas de recursos de bajo costo.
  • La planificación en sistemas distribuidos divide funciones: el distribuidor decide en qué nodo ejecutar y el planificador determina cuándo otorgar CPU.
  • Se identifican tres tipos de grid: de información, de recursos (requiere credenciales) y de servicios (provee funciones abstractas).
  • El modelo cliente/servidor desacopla procesos mediante el intercambio de mensajes y la encapsulación de servicios.
  • Las aplicaciones distribuidas se organizan en arquitecturas de 2 niveles, 3 niveles y n niveles mediante middlewares y tecnologías de componentes.

Test yourself

Soluciones Empresariales de Computación Grid

En cuanto a las empresas e instituciones, Microsoft, Sun Microsystems e IBM han desarrollado soluciones comerciales destacadas:

  • Enterprise Grid Alliance (EGA): Consorcio abierto fundado en California (2004) por un grupo de empresas líderes en tecnología con el objetivo de desarrollar y promover soluciones comerciales-empresariales de informática distribuida y mallas empresariales.
  • Sun Microsystems: Creadores del software Grid Engine, diseñado para agregar máquinas al grid y aprovechar automáticamente el incremento de capacidad, ahorrando tiempo y recursos mediante un despliegue rápido, eficiente y confiable.
  • Andago: Proveedor de tecnología grid orientada a entornos industriales y de negocio.
  • JPPF: Software basado en Java, escalable y dinámico, que permite ejecutar aplicaciones con altos requerimientos de procesamiento en múltiples computadoras con características heterogéneas mediante la distribución del trabajo en tareas (jobs).

Ventajas del Cómputo Grid en la e-Ciencia

  • Capacidad de balanceo de sistemas: No requiere sobredimensionar la capacidad en función de picos de trabajo; permite reasignar dinámicamente los recursos según la demanda.
  • Alta disponibilidad: Si un servidor falla, los servicios se redistribuyen de forma transparente entre los servidores restantes.
  • Reducción de costos: Los servicios son gestionados por granjas de recursos. Los costosos superservidores son reemplazados por conjuntos modulares de componentes de bajo costo configurados bajo un mismo patrón.

Desventajas de la Computación Grid

  • Necesidad de gestionar recursos heterogéneos de manera eficiente.
  • Complejidad en el descubrimiento, selección, reserva, asignación, gestión y monitorización de recursos controlados externamente.
  • Necesidad imperativa de desarrollar aplicaciones específicas adaptadas al entorno grid.
  • Comunicación lenta y no uniforme entre los nodos.
  • Exigencia de esquemas rigurosos de dominios de administración, modelos de explotación, costos asociados y políticas de seguridad.
  • Costos de implementación elevados.

Planificación en Sistemas Distribuidos

La planificación (scheduling) de tareas en un sistema distribuido de carga compartida involucra determinar tanto cuándo ejecutar un proceso como dónde ejecutarlo. Para ello, se articulan dos componentes principales:

  • El distribuidor: Aplica políticas de distribución y asume las decisiones de alto nivel relativas a asignar a qué nodo específico se enviará cada tarea.
  • El planificador: Aplica políticas de planificación local y dictamina cuándo una tarea recibe su porción correspondiente de CPU. Cada nodo del sistema cuenta habitualmente con su propio planificador local.

Tipos Fundamentales de Arquitectura Grid

a) Grid de Información

Infraestructura pública y accesible, similar al concepto de la Web desarrollado por Tim Berners-Lee y Robert Cailliau. Entrega información global conectando ordenadores a través de redes de telecomunicación comunes.

b) Grid de Recursos

Mecanismo orientado al uso compartido y coordinado de recursos computacionales, bases de datos, almacenamiento y aplicaciones científicas (laboratorios, campus). A diferencia del grid de información, los usuarios anónimos no pueden ingresar: se requiere autorización previa y credenciales expedidas por el propio sistema.

c) Grid de Servicios

Suministra servicios y aplicaciones abstractas con independencia de su ubicación geográfica, plataforma de hardware o implementación física subyacente. Dichos servicios se despliegan sobre los recursos provistos por el Grid de Recursos. Abarca motores de búsqueda, portales web, páginas de contenido dinámico y servicios de autenticación y correo electrónico (tales como Passport, GMX y Hotmail).

Organizaciones y Proyectos de Estandarización

  • Globus Project: Consorcio de investigación responsable del Globus Toolkit, un marco de arquitectura abierta compuesto por protocolos libres, servicios y herramientas destinadas a la computación grid distribuida y segura.
  • Global Grid Forum: Comunidad internacional de investigadores y usuarios orientada a la creación consensuada de estándares abiertos para tecnologías grid, colaborando con iniciativas como New Productivity Initiative y Peer-to-Peer Working Group.
  • Data Grid Project: Proyecto de la Unión Europea centrado en proveer soporte para la investigación científica a gran escala que demanda procesar y analizar volúmenes masivos de datos distribuidos geográficamente.

El Paradigma Cliente/Servidor

La metodología Cliente/Servidor organiza los componentes de una aplicación distribuida para trabajar cooperativamente. Brinda un marco flexible y desacoplado que facilita la ejecución en múltiples nodos y otorga acceso transparente a los datos en entornos multiplataforma.

  • Clientes: Elementos activos que inician las acciones y solicitan la ejecución de servicios enviando requerimientos específicos.
  • Servidores: Elementos pasivos especializados que atienden las solicitudes de los clientes y arbitran el uso compartido de recursos. Cada máquina en un sistema distribuido puede alternar roles según la tarea requerida.

Propiedades de la Arquitectura Cliente/Servidor

  • Servicios: Separación entre procesos proveedores (servidores) y consumidores (clientes).
  • Recursos compartidos: Atención concurrente de múltiples peticiones y arbitraje de accesos.
  • Protocolos asimétricos: El cliente conoce al servidor que invoca; el servidor no necesita conocer a priori la identidad de todos los clientes.
  • Independencia de ubicación: La posición del servidor resulta irrelevante gracias a capas de localización y middlewares.
  • Compatibilidad e interoperabilidad: Integración entre plataformas heterogéneas mediante capas intermedias comunes.
  • Comunicación por mensajes: Bajo acoplamiento operativo entre componentes.
  • Encapsulación de servicios: Las interfaces son públicas y estandarizadas, pero su implementación interna queda resguardada y aislada del cliente.
  • Escalabilidad: Crecimiento mediante adición de nodos o separación funcional de servicios.
  • Integridad: Gestión y mantenimiento centralizado y seguro de los datos.
  • Variantes de peso funcional: Distribución flexible de responsabilidades (clientes pesados con servidores ligeros o viceversa).

Distribución de Tareas por Capas

  • Presentación: Software enfocado en la interfaz con el usuario y la visualización adecuada de los datos (ventanas de escritorio, páginas web).
  • Aplicación: Software que procesa la lógica del negocio y resuelve requerimientos operativos (consultas, cálculos, reportes).
  • Administración de datos: Software encargado del almacenamiento y manipulación segura de la información en bases de datos.

Clasificación de Arquitecturas por Niveles

Arquitectura en Dos Niveles

El cliente interactúa directamente con el servidor para obtener los recursos sin intermediarios. Con la evolución del hardware, la capa de presentación se trasladó de manera prioritaria al equipo cliente.

Arquitectura en Tres Niveles

Incorpora un nivel intermedio entre el cliente y los datos, denominado servidor de aplicaciones:

  • Cliente: Gestiona la presentación a través de interfaces gráficas o navegadores web.
  • Servidor de aplicaciones (software intermedio): Centraliza la lógica de negocio, gestiona el acceso a recursos y recolecta resultados de los almacenes de información.
  • Servidor de datos: Gestiona el motor de base de datos y entrega la información requerida por el servidor de aplicaciones.

Arquitectura en N Niveles

Distribuye los procesos en múltiples capas físicas y lógicas sobre equipos y sistemas operativos dispares. Cada entorno se optimiza para su función específica dentro del ecosistema global. Esta estructura se fundamenta en marcos de componentes distribuidos como:

  • CORBA: Common Object Request Broker Architecture, promovido por el Object Management Group (OMG).
  • DNA: Distributed Network Applications de Microsoft (comprende COM/DCOM, COM+, MTS y MSMQ).
  • EJB: Enterprise JavaBeans, desarrollado originalmente por Sun Microsystems.
  • XML: Extensible Markup Language, estandarizado por el W3C.
  • .NET: Plataforma de Microsoft que incorpora entornos como Visual Basic .NET y C#.

Download

PDF Word HTML

FAQ

¿Cuál es la diferencia entre el distribuidor y el planificador en un sistema distribuido?

El distribuidor adopta políticas globales para decidir en qué nodo específico se ejecutará una tarea, mientras que el planificador local gestiona cuándo una tarea recibe tiempo de CPU dentro de su procesador asignado.

¿En qué se diferencian el Grid de Recursos y el Grid de Servicios?

El Grid de Recursos proporciona acceso regulado y con credenciales a hardware y bases de datos concretas en ubicaciones específicas, mientras que el Grid de Servicios ofrece funcionalidades abstractas y aplicaciones independientemente de la plataforma o ubicación geográfica.

¿Qué rol cumple el servidor de aplicaciones en una arquitectura de tres niveles?

Actúa como un nivel intermedio que alberga la lógica de negocio, simplifica las interfaces del cliente, coordina el acceso transparente a los servidores de datos subyacentes y reúne los resultados para presentarlos.

Test yourself

Flashcards

Click a card to see the answer.

Quiz

1. ¿Qué componente en un sistema distribuido decide en qué nodo se ejecutará una tarea?
2. ¿Qué caracteriza fundamentalmente al Grid de Recursos frente al de Información?
3. ¿Cuál de las siguientes es una desventaja atribuida a la computación grid?
4. ¿Qué función primordial desempeña la capa de presentación en las tareas distribuidas?
5. ¿Qué estándar de componentes distribuidos pertenece al Object Management Group (OMG)?

Questions generated by AI from the document: check the answers against the text.