jueves, 26 de febrero de 2015

Grid Computing

La computación grid es una tecnología innovadora que permite utilizar de forma coordinada todo tipo de recursos (entre ellos cómputo, almacenamiento y aplicaciones específicas) que no están sujetos a un control centralizado. En este sentido es una nueva forma de computación distribuida, en la cual los recursos pueden ser heterogéneos (diferentes arquitecturas, supercomputadores, clusters...) y se encuentran conectados mediante redes de área extensa (por ejemplo Internet). 

El problema central en que se enfoca Grid es que se puedan compartir los recursos de forma coordinada y aportar una solución al problema en organizaciones virtuales multi institucionales. El sharing al que se refiere no es el mero intercambio de archivos de forma exclusiva sino que también importa el acceso directo a procesadores, programas, datos y otros recursos como sean requeridos en la solución a problemas y estrategias de resourcebrokering que emergen de la industria, la ciencia y la ingeniería. El sharing debe efectuarse a través de altos controles a proveedores de recursos y consumidores definiendo de forma clara y cuidadosa qué recursos compartieron, quién está habilitado a compartir y las condiciones bajo las cuales se efectuará. El conjunto de individuos y/o instituciones definidas por las reglas de sharing.
Organizaciones virtuales se componen de aquellas instituciones, individuos y organizaciones que comparten un objetivo común. Para lograr este objetivo recurren a compartir sus recursos lo cual significa el acceso directo a computadoras, programas, archivos, datos, sensores y redes. A esto denominamos sharing y el mismo debe estar controlado, ser seguro, flexible y a menudo limitado en un cierto tiempo 

Sharing

El sharing de los recursos es condicional: cada dueño de los recursos hace disponible el mismo sujeto a condiciones de cuándo, dónde, y qué es lo que puede realizarse. Los consumidores de recursos pueden colocar condiciones en propiedades de los recursos para los cuales ellos están preparados para trabajar. Las relaciones de sharing pueden variar dinámicamente sobre el tiempo en términos de recursos involucrados, la naturaleza de los accesos permitidos y los participantes que tienen accesos permitidos. Estas no son a menudo simplemente de tipo cliente-servidor, por peer to peer: los proveedores pueden ser clientes y las relaciones de sharing pueden existir sobre un subconjunto de participantes. Además pueden combinarse de forma coordinada sobre muchos recursos, cada uno perteneciente a diferentes organizaciones. La habilidad de delegar en vías controladas se torna importante en algunas situaciones como hacer mecanismos para coordinar operaciones a través de múltiples recursos. Un mismo recurso puede usarse de diversas formas dependiendo de las restricciones situadas en el lugar desde donde se comparten y sus objetivos. Por ejemplo una computadora puede usarse solamente para correr piezas de software específicas en un arreglo de sharing mientras que éste puede proveer ciclos genéricos de operación en otra. En el contexto de una red la interoperabilidad se refiere a protocolos comunes. Nuestra Arquitectura Grid es primeramente una arquitectura de protocolos que definen los mecanismos básicos para cada usuario de las Organizaciones virtuales  y la negociación de recursos, establecimiento, manejo y la utilización de las relaciones de sharing. La arquitectura basada en estándares facilita la extensibilidad, interoperabilidad, portabilidad y el sharing de código; los protocolos estándares hacen más fácil definir servicios estándares que provean capacidades. Se pueden construir interfaces de aplicaciones para programación y kits de desarrollo de software que provean abstracciones de programación requeridas para crear una Grid usable.

A través de la interoperabilidad se asegura que las relaciones de sharing puedan iniciarse en partes arbitrarias, acomodándose dinámicamente a nuevos participantes sobre diferentes plataformas, lenguajes y entornos de desarrollo. La definición de un protocolo especifica cómo los elementos distribuidos de sistemas interactúan en orden de devolver un comportamiento específico y la estructura del intercambio de información durante su interacción. Las Organizaciones virtuales  tienden a fluir y se notan ciertos cambios: los mecanismos usados localizan recursos y se establecen y reconocen identidades, por ello la determinación de autorizaciones e iniciación del sharing debe ser flexible y liviano de forma que el arreglo de sharing de recursos pueda establecerse y cambiarse fácilmente.


Características del Grid



Un Grid computacional es una infraestructura hardware y software que suministra al que lo utiliza:

1. Acceso seguro a todos los niveles: capacidad de cómputo, de integridad de datos, de seguridad de acceso, etc.

2. El servicio debe ser consistente, basado en estándares y de esta manera el acceso y las operaciones sobre el Grid estarán definidos por dichos estándares evitando la heterogeneidad.

3. La idea de penetración no es tanto la posibilidad de acceder a cualquier recurso del Grid sino que una vez conectado desde cualquier punto puede extraer de éste toda la potencia que requiera.

4. Por último el acceso y el uso del Grid debe tener un coste económico que le haga atractivo para que su utilización se universalice.


Campos de Aplicación

Los posibles campos de aplicación podrían ser:
Supercomputación Distribuída: Simulaciones, Herramientas de cálculo numérico, Procesos de análisis de datos, Extracción de conocimientos de almacenes de datos, etc.
Sistemas Distribuídos en Tiempo Real: Medicina (tratamiento de imagen para visión artificial)
Proceso Intensivo de Datos: Gestores de bases de datos distribuidos
Servicios Puntuales: Este tipo de aplicaciones son aquellas que permiten acceder a hardware específico para la realización de labores a distancia.
Entornos Virtuales de Colaboración: Teleinmersión


Arquitectura del Grid Computing  

La arquitectura propuesta es una arquitectura de protocolos que definen los mecanismos básicos que permiten a los usuarios y a los recursos negociar, establecer, gestionar y explotar la compartición de recursos. Es una arquitectura abierta basada en un estándar que facilita la extensibilidad, la interoperatividad, la portabilidad y la compartición de código.




En el nivel de infraestructura es donde se encuentran los recursos computacionales, como son los ordenadores, los clusters, los supercomputadores, los sistemas de almacenamiento en red, las bases de datos, etc. (suministra los componentes que serán compartidos).  

El nivel de conectividad incluye los protocolos de comunicación y seguridad que permiten a los recursos computacionales comunicarse. La seguridad es un punto muy importante de la computación en Grid por su propia naturaleza distribuida ya que se comparten recursos entre distintas organizaciones que pueden tener distintas políticas de seguridad. 

El nivel de recurso se centra en la gestión de un único recurso y permite tener información y control sobre el mismo. En este nivel se encuentran los protocolos que permiten obtener la información de un recurso: las características técnicas, la carga actual, el precio, etc. También se encuentran los protocolos que permiten el control del recurso: el acceso al mismo, el arranque de procesos, la gestión, la parada, la monitorización, la contabilidad de uso y la auditoria del recurso.
La capa de recursos engloba todos los servicios que permiten gestionar un conjunto de recursos. Se encuentran los servicios de directorio, que permiten localizar los recursos que son de nuestro interés; los schedulers distribuidos, que permiten asignar las tareas a cada recurso; la monitorización y diagnóstico de la ejecución de las distintas tareas en que se distribuyen la ejecución de una aplicación; la contabilidad, que permite calcular el coste de la utilización de varios recursos heterogéneos, el acceso a datos distribuidos, etc.  

El último nivel es el de aplicación donde se encuentran los protocolos que permiten a las aplicaciones el acceso a la infraestructura del Grid a través de las distintas capas. Según el tipo de aplicación será necesario conectarse a las distintas capas o acceder directamente a una de ellas e incluso a la de infraestructura.

Ventajas de la Grid
  • Gran poder de procesamiento. Al combinar el poder de varias computadoras se puede procesar más datos.
  • Aprovechamiento de recursos existentes. Se puede usar computadoras en los momentos en que no son utilizadas para que ayuden con el procesamiento de datos en la grid.
  • No hay límite por espacio físico. Los equipos que forman la grid pueden estar a gran distancia entre sí. Incluso pueden estar en diferentes continentes.
  • Brinda flexibilidad ante posibles fallos. Si una máquina que forma parte del grid falla, el sistema lo reconoce y envía los datos no procesados a otra máquina.
  • Ahorro en costos. Cuando se necesita una gran capacidad de procesamiento incurrir en gastos de equipos con ese poder no es una buena idea para medianas y pequeñas compañías por lo que una Grid es una opción viable y considerablemente más barata.


Desventajas de la Grid

  • Necesita de algunos servicios para poder funcionar: internet, conexión las 24 horas los 365 dias del año con banda ancha, seguridad informática.
  • Aun no existen muchas aplicaciones que hagan uso de la potencia de un Grid.
  • Comunicación lenta y no uniforme.
  • Dificultad para sincronizar los procesos de todos los equipos.
  • Su utilidad se limita para procesamiento en paralelo. Por ahora no es apto para bases de datos transaccionales ni para el procesamiento complejo en serie.
  • Algunos tipos de aplicación no pueden ser puestos en forma paralela. Aquí existe el dilema de que tipo de problema se puede resolver con el Grid y cual no.


Algunos Proyectos en desarrollo bajo el sistema Data Grid

Globus Project: es una iniciativa multi-institucional para la investigación y el desarrollo de tecnologías fundamentales para Grids

TeraGrid: Es un proyecto estadounidense, llevado adelante por la Fundación Nacional de Ciencias (NSF). Dedicado a la investigación científica abierta

CrossGrid: En este proyecto se han definido cuatro aplicaciones que utilizarán desarrollos Grid comunes, que son: 1) Simulación interactiva y visualización de un sistema biomédico; 2) Sistema de apoyo a un equipo de crisis por inundaciones; 3) Análisis de datos distribuidos en Física de Altas Energías y 4) Previsión meteorológica y modelización de la contaminación atmosférica.

OpenMolGRID: Desarrollado por ComGenex Inc., un proveedor de descubrimientos químicos avanzados, tiende a proporcionar información unificada y extensible del entorno para solucionar las cuestiones moleculares de diseño e ingeniería con relación a la química, la farmacia y la bioinformática.

UK e-Science: Los responsables de la iniciativa elaboraron un conjunto de procedimientos que permitirán que los científicos que utilicen Grid accedan a las bases de datos de los resultados de investigación procedentes de sistemas que se encuentren en cualquier parte del mundo. [E-SCIENCE]

EGEE: El proyecto utilizará la tecnología Grid para interconectar recursos computacionales de veintisiete países europeos, con el objeto primordial de unir los recursos de los equipos informáticos de las instituciones participantes y crear de este modo un supercomputador virtual, aprovechando la infraestructura de comunicación de banda ancha proporcionados por la Red Europea de Investigación Géant. [EGEE]

http://exa.unne.edu.ar/informatica/SO/Grid.pdf

http://cristophermoquillaza.blogspot.com/2009/09/sistema-informatica-grid-grid-computing.html

https://apuntescomputacion.wordpress.com/2008/08/16/%C2%BFque-es-y-como-funciona-un-grid/

http://www.unlu.edu.ar/~tyr/tyr/temporal/computaci%F3n_grid-luz-otros.pdf



No hay comentarios:

Publicar un comentario