¿Qué es el Grid Computing?
Grid Computing consiste en conectar un grupo de ordenadores de manera descentralizada con el fin de formar un superordenador virtual. La potencia de cálculo distribuida de manera flexible permite realizar tareas complejas con varios recursos simultáneamente y optimizar el uso de la infraestructura.
Grid Computing: definición
El Grid Computing, o computación en malla, es un subgrupo de la computación distribuida, o distributed computing: un término genérico para infraestructuras digitales compuestas por ordenadores autónomos conectados entre sí en una red informática. La red informática no suele depender del hardware. De esta manera, es posible integrar en la red ordenadores con funciones y equipamiento distintos. Las aplicaciones y procesos distribuidos trabajan entre dispositivos con unidades informáticas en red, las cuales, a su vez, pueden comunicarse entre sí dentro de la red local y entre regiones y resolver problemas.
La frontera entre Distributed Computing y Grid Computing es difusa. La computación distribuida puede referirse a distintas formas de procesamiento de datos descentralizado en redes de ordenadores. Por su parte, Grid Computing, o la computación en malla, designa un superordenador virtual que surge a partir de la fusión de ordenadores independientes poco acoplados. Se utiliza para llevar a cabo procesos o tareas de alta intensidad computacional. Los servidores y ordenadores conectados ponen a disposición sus recursos y potencia para ofrecer una mejor escalabilidad del rendimiento informático necesario.
¿Cómo funciona el Grid Computing?
En Grid Computing, se utilizan los puntos fuertes de los clústeres de ordenadores de forma suprarregional y descentralizada creando redes. Mientras que los clústeres de ordenadores suelen estar formados por redes informáticas limitadas al plano local, el Grid Computing accede a las capacidades informáticas dentro de una red de ordenadores sobre una base suprarregional. No solo los ordenadores están conectados en red, sino también las bases de datos, el hardware y el software, así como las capacidades informáticas. En el grid, los proveedores conectan los recursos informáticos distribuidos global y localmente mediante interfaces (nodos) y middleware. A continuación, las asignan a organizaciones virtuales que, a su vez, determinan qué recursos pueden hacerse cargo de las tareas o cómo puede distribuirse la potencia de cálculo de forma óptima en el marco de una aplicación.
La computación en malla se utiliza tanto para fines comerciales como para analizar y procesar datos científicos y económicos. Si los procesos complejos superan la potencia de cálculo de un ordenador o de un clúster informático local, el Grid Computing puede ayudar a integrar, evaluar o visualizar grandes cantidades de datos. Para el Grid Computing no hace falta hardware especial. De hecho, el middleware (software para el intercambio de datos entre aplicaciones) de los ordenadores acoplados garantiza la disponibilidad de capacidades informáticas libres dentro de la organización virtual.
Ámbitos de uso del Grid Computing
El Grid Computing no está limitado a ningún ámbito de aplicación específico, ya que conectar clústeres de ordenadores puede tener distintas finalidades. Típicas áreas de uso de los superordenadores virtuales son los análisis científicos y económicos de Big Data con los que se pueden procesar grandes cantidades de datos y hacer simulaciones de alta intensidad de cálculo. Se aplican a la investigación en ciencias naturales y medicina, pero también en meteorología, industria o física de partículas. Un ejemplo son los experimentos a gran escala del Gran Colisionador de Hadrones del CERN.
Visión de conjunto de las clasificaciones de Grid Computing
Para definir y clasificar Grid Computing y distinguirla de otras tecnologías como el Cluster Computing o Peer‑to‑Peer Computing, existen tres pilares esenciales:
- Coordinación descentralizada tanto local como global de recursos como clústeres de ordenadores, análisis de datos, memorias de gran capacidad y bases de datos
- Interfaces (nodos) abiertas y middleware (protocolos o conjunto de protocolos) estandarizados que unen las unidades informáticas con la red principal y distribuyen las tareas
- Aprovisionamiento de una calidad de servicio no trivial para distribuir de manera óptima el flujo de datos y garantizar la escalabilidad constante y transmisión de datos fiable bajo altas demandas informáticos
Aparte de esto, podemos clasificar el Grid Computing en distintos subgrupos:
- Computing Grids (redes de computación): la forma más utilizada de Grid Computing, en la que los usuarios de la red aprovechan la potencia acoplada de un superordenador virtual a través de un proveedor red para distribuir o escalar procesos de computación altamente intensivos.
- Data Grids (redes de datos): las redes de datos ofrecen las capacidades informáticas de los ordenadores conectados para evaluar, representar, transferir, compartir o analizar grandes cantidades de datos mediante los nodos de la red.
- Knowledge Grids: esta estructura utiliza las capacidades de superordenador de la red para escanear, conectar, recoger, evaluar o estructurar grandes conjuntos de datos o bases de datos de conocimiento.
- Ressource Grids: estos sistemas definen las jerarquías acopladas de los proveedores de la red, sus usuarios y los proveedores de recursos. En este caso, un modelo de roles determina qué proveedores de recursos pueden proporcionar capacidades de almacenamiento y cálculo, conjuntos de datos, software y hardware, aplicaciones, sensores, dispositivos de medición y otros instrumentos mediante las interfaces.
- Service Grids: en los Service Grids, los proveedores de servicios de red proporcionan a los usuarios de la red los componentes acoplados y capacidades de proveedores de recursos como servicio completo. Así, el Grid Computing combina la orientación de servicios y los servicios informáticos.
¿Qué diferencia hay entre Grid Computing y Cloud Computing?
No debemos confundir Grid Computing con Cloud Computing. En el Grid Computing, se conectan múltiples recursos acoplando de manera descentralizada los ordenadores, creando así un superordenador virtual. En este caso, los proveedores de la red son los propietarios de las infraestructuras de ordenadores y aplicaciones en red. En el Cloud Computing, en cambio, los proveedores de la nube ofrecen servicios informáticos, capacidades de almacenamiento y servicios globales mediante el alojamiento en la nube, pero organizan la computación de manera centralizada en la nube.
Las ventajas del Cloud Computing son, entre otras, las infraestructuras informáticas externalizadas y escalables, las capacidades del almacenamiento en la nube y un menor esfuerzo informático. Tanto empresas como usuarios particulares pueden usar los servicios en la nube para distintas tareas de manera centralizada y a buen precio, sin tener que disponer de recursos propios. El Grid Computing, en cambio, presenta la ventaja de que puede procesar, ejecutar y acceder a enormes cantidades de datos y complejos procesos de manera económica mediante capacidades acopladas a la red sin tener centros de datos físicos propios.
Grid Computing: pros y contras
Pros
- Coordinación y gestión de procesos y tareas entre dispositivos
- Escalado económico de los procesos de la empresa mediante potencia de cálculo y capacidades de almacenamiento acopladas
- Procesamiento simultáneo/paralelo, análisis y presentación de grandes cantidades de datos a través de redes informáticas globales
- Las tareas complejas pueden resolverse con mayor rapidez y eficacia
- Utilización fiable y uso óptimo de la infraestructura informática mediante organizaciones virtuales y distribución flexible de tareas
- Baja susceptibilidad a los fallos, ya que las capacidades se distribuyen de forma flexible y modulan en la red
- No hace falta una gran inversión en infraestructura de servidores
Contras
- En algunos casos, administración compleja y componentes de sistema incompatibles
- La potencia de cálculo no aumenta linealmente con el número de ordenadores acoplados