La computación en malla es un tipo de computación distribuida que reúne varios recursos informáticos ubicados en diferentes lugares para realizar una tarea común.
Ambos tipos de computación se basan en una infraestructura informática compartida, pero la computación en malla se centra más en resolver problemas científicos o de ingeniería a gran escala, mientras que la computación distribuida se centra en tareas más sencillas.
La computación en malla a menudo se asocia con un tipo de computación conocida como “gran desafío”, un problema informático fundamentado en la ciencia o la ingeniería que tiene amplias aplicaciones. Quizás el gran desafío más conocido que la computación en malla ha ayudado a impulsar es el gran Colisionador de Hadrones en el CERN, el acelerador de partículas más potente del mundo.
Además de abordar grandes desafíos, la computación en malla también se utiliza para una variedad de propósitos comerciales más prácticos, incluida la gestión de big data y analytics de datos de alta velocidad, generación de insights, investigación científica, simulaciones financieras y climáticas complejas y computación de alto rendimiento (HPC).
La computación en la nube, el acceso bajo demanda de recursos computacionales a través de Internet, es similar a la computación en malla, pero diferente en varios aspectos importantes. Aunque las infraestructuras de computación en la nube y computación en malla se consideran sistemas distribuidos, la computación en la nube se basa en un modelo cliente-servidor altamente flexible y gestionado centralmente y de fácil acceso para los usuarios. En la nube, las empresas acceden a los servicios a través de Internet utilizando protocolos estándar y solo pagan por los recursos informáticos que necesitan.
La computación en malla, por otro lado, se basa en una infraestructura gestionada de forma colaborativa donde los recursos son propiedad de una única organización y esta los gestiona. Esto lo hace óptimo para empresas que ejecutan cargas de trabajo constantes, pero dificulta el acceso y hace que sea menos escalable que las arquitecturas de computación en la nube. En lugar de utilizar protocolos informáticos estándar para acceder a un servicio concreto, por ejemplo, los usuarios de la malla deben utilizar middleware de malla, aplicaciones especializadas para arquitecturas informáticas en malla.
Un entorno de computación en malla se compone de diferentes nodos, que son computadoras, dispositivos y recursos programados para realizar una tarea específica. Este aspecto de la computación en malla la hace más diversa que la computación en clúster, otro tipo de computación en la que los recursos informáticos se comparten a través de una red. Mientras que los clústeres informáticos tienen hardware y tareas fijas, la computación en malla dispone de un entorno de intercambio de recursos mucho más flexible.
Normalmente, una red de computación en malla consta de dos tipos de componentes: nodos y middleware.
Las arquitecturas de computación en malla dependen de tres tipos de nodos en malla para completar una tarea de computación en malla:
En una infraestructura de computación en malla, el middleware se conoce como middleware de malla y funciona como una capa de software que permite a los distintos nodos comunicarse e intercambiar recursos. El middleware de malla es responsable de coordinar las solicitudes facilitadas por los nodos de usuario con los recursos disponibles mantenidos por los nodos de proveedor.
El middleware de malla es altamente especializado y capaz de gestionar solicitudes para una amplia gama de recursos, como potencia de procesamiento (CPU), memoria y almacenamiento. Es fundamental para la funcionalidad de la infraestructura de malla, ya que equilibra los recursos para evitar el uso indebido y garantiza que el sistema de computación en malla funcione de manera segura y eficiente.
Una arquitectura típica de computación en malla se compone de cuatro capas que constan de aplicaciones, middleware, recursos y una capa inferior que permite que cada nodo se conecte a una red:
La computación en malla se divide normalmente en cinco tipos fundamentales según el propósito.
Las mallas computacionales son el tipo más común de infraestructura de computación en malla, desplegadas para una amplia gama de tareas de computación de alto rendimiento (HPC). La computación en malla computacional requiere grandes recursos, ya que combina la potencia de cálculo de varias computadoras de alto rendimiento para realizar simulaciones complejas y resolver problemas y algoritmos matemáticos a gran escala.
Una malla computacional puede dividir una tarea compleja en subtareas más pequeñas y sencillas, y asignar cada una de ellas a un nodo. Este proceso, conocido como computación paralela o programación paralela, reduce drásticamente el tiempo y el costo de resolver problemas complejos que usan muchos recursos, y que son integrales a tecnologías de punta como inteligencia artificial (IA), machine learning (ML) y blockchain. Debido a su velocidad, la computación paralela es ideal para tecnologías avanzadas que requieren procesamiento en tiempo real, como automóviles autónomos, modelado meteorológico y aplicaciones de Internet de las cosas (IoT).
Una malla de scavenging, también conocida como malla de scavenging de CPU o ciclo de scavenging, tiene una disposición y propósito similares a una malla computacional, pero con una diferencia clave. En una malla de scavenging, los nodos y las computadoras solo aportan los recursos disponibles a la malla más grande. El término scavenging en este contexto se refiere al proceso de búsqueda de disponibilidad en una malla de recursos informáticos conectados.
En una malla de scavenging, algunos nodos realizan tareas relacionadas con el propósito mayor de la malla, mientras que otros se emplean para otros fines no relacionados. Si los usuarios de la red necesitan acceder a las computadoras para fines no relacionados con la malla, el software de la malla simplemente identifica los nodos libres y los recursos informáticos disponibles y los asigna.
Las mallas de datos son grandes redes de computación en malla que conectan computadoras para aumentar la capacidad de almacenamiento de datos. La computación en malla de datos descompone un gran conjunto de datos para que pueda almacenarse en varias computadoras conectadas a través de una red. Las computadoras en una malla de datos suelen intercambiar datos y recursos en una gran área geográfica, conectando a los usuarios en ubicaciones remotas.
Las mallas de datos son ideales para tareas de cálculo que pueden dividirse en subtareas más pequeñas y resolverse en paralelo. Se utilizan ampliamente en tecnologías de microservicios y como base para nubes privadas, donde los dispositivos se agrupan y una parte de sus recursos se asigna a un fin específico. Además, las máquinas virtuales (VM) suelen aparecer en una malla de datos, lo que permite una agrupación más eficiente de los recursos para tareas informáticas comunes, como procesamiento de datos y almacenamiento.
Las mallas colaborativas, o infraestructuras de computación en malla colaborativa, permiten que grupos de personas aprovechen una malla computacional para acceder más fácilmente al trabajo y los recursos compartidos.
Las mallas colaborativas permiten que equipos ampliamente dispersos compartan experiencia y contribuyan con trabajo en tiempo real mientras persiguen un objetivo común. Por ejemplo, las mallas colaborativas permiten el trabajo de muchos científicos y físicos del clima que trabajan para resolver problemas mediante datos compartidos y recursos de diferentes universidades e instituciones de todo el mundo.
Las mallas modulares se centran en separar los recursos informáticos dentro de un sistema específico en módulos independientes para aumentar el rendimiento de las aplicaciones. En una red modular, los recursos compartidos comúnmente, como las GPU, el almacenamiento y la memoria, se desglosan y recombinan para lograr una mayor eficiencia en la ejecución de aplicaciones y servicios específicos.
El enfoque modular permite a los equipos de TI ser más flexibles a la hora de personalizar un entorno informático para adaptarlo a sus necesidades. Por ejemplo, en una malla modular, la configuración se puede adaptar para satisfacer las necesidades específicas de recursos de una aplicación o servicio individual.
La computación en malla permite a las empresas procesar grandes volúmenes de datos de forma más rápida y eficiente que en una configuración más tradicional. Las empresas que aprovechan la computación en malla lograron mayor flexibilidad, escalabilidad y rentabilidad al utilizar recursos para diversos fines empresariales. Estos son algunos de los beneficios más comunes que las organizaciones han obtenido de la computación en malla.
La computación en malla permite a las grandes organizaciones gestionar tareas enormes y complejas de manera más eficiente, dividiéndolas en subtareas más pequeñas. Una vez divididas en problemas más pequeños e independientes, la computación en malla utiliza los recursos informáticos de los nodos conectados para resolver los problemas en paralelo, lo que ahorra tiempo y energía.
En un entorno de computación en malla, los recursos informáticos se pueden agregar o restar bajo demanda, lo que reduce el precio y optimiza los recursos informáticos. Esto es particularmente útil con cargas de trabajo donde las demandas fluctúan mucho y las empresas necesitan escalar dinámicamente, agregando y eliminando según sea necesario.
La computación en red ayuda a las organizaciones a ahorrar dinero al aprovechar al máximo su hardware existente. El marco de computación grid permite a las empresas reutilizar las computadoras existentes, optimizando Recursos como memoria, almacenamiento, GPU y más que de otro modo no se utilizarían.
Los entornos de computación en malla son muy flexibles, ya que funcionan a través de una red de nodos interconectados que no tienen que estar en la misma ubicación física. Científicos e investigadores de universidades de todo el mundo utilizan un entorno de computación en malla para abordar problemas complejos y ricos en datos, como el cambio climático y los patrones meteorológicos, utilizando los mismos recursos de supercomputación.
Las grandes empresas suelen tener recursos informáticos que permanecen inactivos o poco utilizados, pero que aún requieren mantenimiento y consumen energía. La computación en malla permite a estas empresas distribuir las cargas de trabajo entre los recursos infrautilizados, lo que aumenta la optimización de la infraestructura. Y a diferencia de otros tipos de entornos informáticos, las infraestructuras de computación en malla no requieren las herramientas más recientes y tecnológicamente avanzadas, pero pueden ejecutarse en el hardware existente.
La computación en malla es ampliamente utilizada por grandes organizaciones en una amplia variedad de industrias. Las universidades han desplegado mallas para resolver problemas grandes y complejos que involucran supercomputadoras y colaboración con colegas de todo el mundo. Las potentes supercomputadoras virtuales que dependen de una infraestructura de computación en malla han abordado tareas científicas y de ingeniería complejas relacionadas con el cambio climático, la astrofísica y más. Estos son algunos de los casos de uso más comunes de computación en malla.
La suite IBM Spectrum LSF es una plataforma de gestión de carga y programación de trabajos para computación distribuida de alto rendimiento (HPC).
Las soluciones HPC de nube híbrida de IBM ayudan a abordar desafíos a gran escala y de uso intensivo de cómputo y aceleran el tiempo de obtención de insights.
Encuentre una solución de infraestructura en la nube que sea adecuada para las necesidades de su negocio y escale los recursos bajo demanda.
1. Grid Computing Market Size, Future scope & Growth report by 2031, Straits Research, octubre de 2023