Clúster de alto rendimiento

Un clúster de alto rendimiento es un conjunto de ordenadores que está diseñado para dar altas prestaciones en cuanto a capacidad de cálculo. 

También son conocidos como clúster computacionales o computación de red. Su objetivo de un clúster de alto rendimiento es compartir el recurso más valioso de una computadora, es decir, la capacidad de procesamiento. Los clúster de alto rendimiento utilizan los nodos para ejecutar cálculos simultáneos. 

Este tipo de clúster permite que las aplicaciones trabajen de forma paralela, mejorando así el rendimiento de éstas. 

Los motivos para utilizar un clúster de alto rendimiento son:
 El tamaño del problema por resolver.
 El precio de la máquina necesaria para resolverlo.

Por medio de un clúster se pueden conseguir capacidades de cálculo superiores a las de un ordenador más caro que el costo conjunto de los ordenadores del clúster.

Ejemplo de clústeres baratísimos son los que se están realizando en algunas universidades con computadoras personales desechados por "anticuados" que consiguen competir en capacidad de cálculo con superordenadores carísimos.

Para garantizar esta capacidad de cálculo, los problemas necesitan ser paralelizables, ya que el método con el que los clústeres agilizan el procesamiento es dividir el problema en problemas más pequeños y calcularlos en los nodos, por lo tanto, si el problema no cumple con esta característica, no puede utilizarse el clúster para su cálculo.

Para que un problema sea paralelizable se debe hacer uso de bibliotecas especiales como lo es PVM (Parallel Virtual Machine) o MPI (Message Passage Interface), donde la primera es usada especialmente en clústeres con nodos heterogéneos (arquitectura del procesador, sistemas operativos, entre otros), y pertenecientes a diferentes dominios de red, y la segunda biblioteca usada para clústeres homogéneos

Un tipo de software para realizar cluster high performace es OSCAR (Open Source Cluster Application Resources) distribuido bajo licencia GPL. 
Este software trabaja sobre el sistema operativo Linux. En Windows se podría utilizar WCC 2003 (Windows Computer Cluster).

Existen diferentes clasificaciones o configuraciones de estos entornos de alta disponibilidad, pero los más comunes son los siguientes:

Activo/Activo: En una configuración activo/activo, todos los servidores del clúster pueden ejecutar los mismos recursos simultáneamente. Es decir, los servidores poseen los mismos recursos y pueden acceder a estos independientemente de los otros servidores del cluster. Si un nodo del sistema falla y deja de estar disponible, sus recursos siguen estando accesibles a través de los otros servidores del clúster. En la siguiente figura se muestra como ambos servidores están activos, proporcionando un mismo servicio a los diferentes usuarios. Los clientes acceden al servicio o recursos deforma transparente y no tienen conocimiento de la existencia de varios servidores formando un clúster.

Activo/Pasivo: Un clúster de alta disponibilidad, en una configuración activo/pasivo, consiste en un servidor que posee los recursos del clúster y otros servidores que son capaces de acceder a esos recursos, pero no los activan hasta que el propietario de los recursos ya no esté disponible. Las ventajas de la configuración activo/pasivo son que no hay degradación de servicio y que los servicios solo se reinician cuando el servidor activo deja de responder. Sin embargo, una desventaja de esta configuración es que los servidores pasivos no proporcionan ningún tipo de recurso mientras están en espera, haciendo que la solución sea menos eficiente que el clúster de tipo activo/activo. 

Implementadas on-premises, edge o la nube, las soluciones HPC se utilizan para distintos fines en múltiples sectores. Entre los ejemplos se incluyen: 

Labortatorios de investigación: HPC se utiliza para ayudar a los científicos a encontrar fuentes de energía renovable, comprender la evolución de nuestro universo, predecir y rastrear tormentas y crear nuevos materiales. 

Otros usos 

Medios y entretenimiento: HPC se utiliza para editar largometrajes, producir efectos especiales alucinantes y transmitir eventos en directo en todo el mundo.  

Petróleo y gas: HPC se utiliza para identificar con mayor precisión dónde se perforan nuevos pozos y para ayudr a impulsar la producción de pozos existentes.

Enlaces externos 
 Conceptos sobre supercomputación y software libre
 Arquitectura clúster de alto rendimiento utilizando herramientas de software libre
 Cluster de alto rendimiento, para programación paralela y cálculos complejos
 Sistemas distribuidos de alto rendimiento a bajo costo (clustering) en sistemas operativos de libre distribución
 What is HPC?
 Intro to HPC: what’s a cluster?

Redes informáticas