Los conceptos básicos de la computación de alto rendimiento (HPC) son bastante conocidos por aquellos que están familiarizados incluso con una cantidad modesta de informática. En lugar de depender de una sola máquina para los cálculos, los enfoques de HPC involucran varias máquinas, lo que produce dos efectos notables que benefician directamente a los análisis.
En primer lugar, el rendimiento es mucho más prodigioso, más rápido y equitativo a los marcos de tiempo para resolver problemas comerciales con datos hoy en día, incluso en análisis fugaces de conjuntos de datos en tiempo real. Además, debido a que hay varias máquinas involucradas, las limitaciones en torno a la memoria, el cómputo y el almacenamiento que pueden ralentizar la preparación de datos para el análisis (por no hablar de la ejecución del análisis) con los métodos informáticos tradicionales están casi erradicadas.
Aún así, los detalles de cómo los clústeres de HPC pueden funcionar al unísono para un solo trabajo, y cuáles son las repercusiones de larga data para la inteligencia artificial, el análisis, las consultas y la extracción de datos, suelen ser enigmáticos para los usuarios comerciales.
Según el ingeniero principal de Katana Graph, Bo Wu, la base arquitectónica de los métodos de HPC que involucran un motor de gráficos de conocimiento escalable incluye «un particionador, un tiempo de ejecución [scheduler]y un motor de comunicación”. Estos tres elementos trabajan juntos no solo para hacer realidad la HPC, sino también para dominar los cálculos para que la IA o cualquier otra carga computacional sea fácil.
el particionador
La función de un particionador en un motor gráfico escalable que emplea arquitectura HPC es fragmentar las cargas de trabajo, en este caso el gráfico real, en diferentes máquinas. Sharding es una técnica para distribuir diferentes piezas (o fragmentos) de un proceso computacional en varias computadoras para aprovechar las ganancias de rendimiento que admite HPC. La fragmentación es crucial para dividir conjuntos de datos que, de lo contrario, ralentizarán las actividades en una sola máquina. “Si desea calcular un gráfico grande en varias máquinas, necesita dividir su gráfico en diferentes máquinas para que cada máquina obtenga una pequeña porción del gráfico general, porque el gráfico general es demasiado grande para caber en la memoria de un una sola máquina”, señaló Keshav Pingali, CEO de Katana Graph.
Por ejemplo, si las organizaciones han ensamblado un gráfico grande para detectar instancias de fraude en tiempo real, dividir ese gráfico en lo que puede incluir potencialmente cientos de máquinas aumenta drásticamente el rendimiento de esta aplicación. Sin métodos de HPC para este y otros casos de uso, las empresas se enfrentan a enormes costos iniciales por la compra de máquinas que tienen enormes capacidades de almacenamiento. “Están restringidos a una sola máquina, así que… los usuarios tienen que comprar estas máquinas enormemente caras con dos y tres terabytes, e incluso eso no es suficiente”, dijo Pingali.
El Programador de tiempo de ejecución
Las capacidades de tiempo de ejecución descritas por Wu son responsables de orquestar los esfuerzos de las diferentes máquinas para que funcionen uniformemente en el mismo trabajo. Para un motor de consulta escalable de gráficos de conocimiento, ese trabajo puede incluir cualquier aspecto de la IA de gráficos, desde redes neuronales de gráficos hasta agrupamiento, así como varios algoritmos para minería, análisis y consultas. Una vez que se ha particionado un conjunto de datos (como un gráfico), “para calcular en cada máquina en el gráfico que se ha cargado en él, hay un sistema de tiempo de ejecución y un conjunto de estructuras de datos que se han optimizado para el uso de gráficos. computación”, explicó Pingali.
El sistema de tiempo de ejecución es responsable de orquestar varias facetas de los cálculos, que podrían pertenecer a técnicas de incorporación, por ejemplo, en un gráfico de conocimiento médico para determinar qué compuestos específicos pueden impulsar el desarrollo de un nuevo fármaco. “El tiempo de ejecución programa operaciones en las máquinas locales y puede [optimize] todos los recursos de computación para maximizar el rendimiento”, indicó Wu.
El motor de la comunicación
El motor de comunicación juega un papel fundamental en los métodos de HPC al permitir que diferentes máquinas se expresen entre sí qué partes de un solo trabajo están haciendo, han hecho o requieren que otra máquina termine. Para consultar gráficos grandes para determinar la optimización y el enrutamiento de la cadena de suministro, por ejemplo, las máquinas individuales en un clúster HPC deben transmitirse entre sí «esta es la cantidad del subgráfico que he emparejado hasta ahora, o el resto de este sub -graph está en otro host, o necesito comunicarme y hacer coincidir lo que tengo hasta ahora con el otro host y dejar que ese otro host continúe donde lo dejó el anterior para que coincida con el gráfico de patrones”, comentó el CTO de Katana Graph, Chris Rossbach.
Las empresas de HPC más creíbles se basan en los estándares de interfaz de paso de mensajes (MPI) para comunicarse. “Estos admiten patrones de comunicación idiomáticos que la mayoría de las aplicaciones HPC necesitan usar pero, debido a que son implementados por expertos a nivel de biblioteca y optimizados en diferentes implementaciones de biblioteca, pueden ser súper rápidos”, mencionó Rossbach.
Análisis imbatible
El particionador mencionado anteriormente, las capacidades de tiempo de ejecución y el motor de comunicación son elementos integrales para usar la arquitectura HPC para cálculos rápidos en un motor gráfico escalable. A su vez, HPC es el modelo para el análisis más rápido disponible para la empresa, ya sea que involucre IA o no. Esta arquitectura es necesaria para los cálculos de mayor rendimiento, a escala empresarial, que las organizaciones pueden obtener para acelerar sus proyectos basados en datos, así como para aumentar sus respectivos resultados finales.
Sobre el Autor
Jelani Harper es una consultora editorial que presta servicios al mercado de la tecnología de la información. Se especializa en aplicaciones basadas en datos centradas en tecnologías semánticas, gobierno de datos y análisis.
Regístrese para recibir el boletín gratuito insideBIGDATA.
Únase a nosotros en Twitter: @InsideBigData1 – https://twitter.com/InsideBigData1