El inicio lleva HPC al análisis de big data

Hola, ¿qué tal colega?. Te escribe Simón Sánchez y esta vez te voy a hablar sobre El inicio lleva HPC al análisis de big data

A pesar de todos los elogios que se escuchan sobre la ingeniería alemana, hay pocos proveedores de TI nativos de ese país. Sin embargo, recientemente tuvimos la oportunidad de hablar con una de esas empresas, ParStream, una startup con sede en Colonia que ha desarrollado una plataforma de análisis basada en CPU / GPU de vanguardia que combina computación de alto rendimiento con grandes fecha.

ParStream, cuyo nombre oficial es empulse GmbH, fue fundada hace cuatro años por Michael Hummel y Joerg Bienert, quienes comparten el cargo de director gerente. Los dos financiaron la empresa ellos mismos, pero luego pudieron atraer algunas inversiones externas. Esto fue suficiente para desarrollar los productos iniciales de software y dispositivos e incluso para capturar a un par de clientes de pago. En este momento están buscando capital de riesgo para llevar el negocio a la vía rápida.

ParStream se formó inicialmente en torno a la idea de consultoría de TI y desarrollo de aplicaciones, al igual que el trabajo que hicieron Hummel y Bienert en Accenture, donde se conocieron. Pero hace unos tres años, su incipiente empresa obtuvo un contrato de la industria turística alemana para construir un motor de búsqueda para una oferta de paquete de viaje. Querían que la aplicación pudiera buscar aproximadamente 6 mil millones de registros de datos frente a 20 parámetros en menos de 100 ms. Desafortunadamente, la mayor parte de la tecnología de bases de datos actual, basada en arquitecturas de software de décadas de antigüedad, no proporciona nada parecido al nivel de paralelismo necesario para digerir estas grandes bases de datos con limitaciones de tiempo tan estrictas. Así nació ParStream y su nueva misión: analizar big data con un toque HPC.

Hummel y Bienert han desarrollado su propio kernel de software de base de datos que puede manejar los problemas de investigación de la industria del turismo en hardware convencional, es decir, clústeres x86. Según Bienert, rápidamente se dieron cuenta de que la solución que habían encontrado podía generalizarse. «A continuación, analizamos otras industrias y descubrimos que este desafío de big data estaba en todas partes, por lo que decidimos hacer un producto con él», dijo a Calendae.

Hummel y Bienert pensaron que cualquier empresa que se ocupe de grandes conjuntos de datos y que necesite análisis interactivos podría utilizar esta tecnología. El principal desafío tecnológico es poder ejecutar muchas consultas simultáneas sobre los datos y entregar los resultados en tiempo real o casi en tiempo real. Esto incluye aplicaciones como análisis web, bioinformática, servicio de publicidad inteligente, comercio algorítmico, detección de fraude, investigación de mercado y medición de energía inteligente, entre muchas otras.

Como sugiere el nombre, el software ParStream transmite estructuras de datos paralelas. En este caso están enfocados a datos estructurados, pero de tal tamaño que pueden tener miles de columnas y millones, o incluso miles de millones, de filas. Según la compañía, su oferta funciona, en promedio, unas 35 veces más rápido que los productos de bases de datos tradicionales.

El secreto es paralelizar cada consulta para que pueda procesarse simultáneamente en muchos núcleos distribuidos en múltiples nodos. En un entorno agrupado, los datos se almacenan en servidores individuales en un entorno «no compartido». Dado que la comunicación entre procesos es pequeña, el rendimiento puede escalar linealmente con el tamaño del clúster; duplicar procesadores o nodos debería duplicar el rendimiento.

Todavía no han probado ParStream en un sistema del tamaño de un petabyte, pero según Bienert, no existe una limitación inherente en el software que impida que escale a ese nivel. Para ser justos, muchos otros motores de análisis también funcionan en paralelo, pero en muchos casos esto significa que se pueden ejecutar varias consultas al mismo tiempo, pero cada una requiere su propio procesador.

La tecnología más nueva como MapReduce de Google y su derivado de código abierto Hadoop son capaces de dividir la consulta en muchos fragmentos independientes, al igual que el software ParStream. Pero según Bienert, la tecnología MapReduce es más adecuada para el procesamiento por lotes que para el análisis en tiempo real. Tres de los clientes potenciales de ParStream habían probado el esquema MapReduce y encontraron tales limitaciones. De hecho, el año pasado Google abandonó MapReduce para la búsqueda de tipo de consulta en favor de una tecnología de mayor rendimiento llamada Dremel.

Sin embargo, no se trata solo de paralelizar consultas. El verdadero secreto de ParStream es su estructura de índice. Como muchas bases de datos relacionales tradicionales, el índice de mapa de bits está comprimido para ahorrar espacio en la memoria. Pero según Bienert, el índice ParStream se puede utilizar mientras está comprimido; no hay necesidad de un paso de descompresión intensivo en memoria y computación para operar en él. «Este es el corazón de ParStream y lo que lo hace extremadamente rápido», dice.

Esa misma tecnología lo hace extremadamente eficiente en hardware. Bienert dice que en un entorno de producción, donde otras soluciones de bases de datos requerirían alrededor de 400 servidores, ParStream solo requiere 20 y es mucho más rápido.

Inicialmente, escribieron su software para que se ejecutara en plataformas Linux genéricas de 64 bits basadas en x86: nodos únicos y clústeres. Más tarde descubrieron que su enfoque paralelo y estructura de mapa de bits se adaptaban bien a las GPU genéricas, que proporcionaban velocidades de 8 a 10 veces, en comparación con la versión de solo CPU.

Sin embargo, no cualquier GPU. El software ParStream requería memoria de código de corrección de errores (ECC), ya que era fundamental para mantener la integridad del índice de mapa de bits y otras estructuras de datos comprimidos en la memoria. Voltear los bits arbitrariamente no sería suficiente. Con la GPU Fermi de NVIDIA (serie Tesla 20), ParStream ha obtenido un soporte ECC crítico.

Para la versión acelerada por GPU, la compañía tiene que proporcionar una aplicación personalizada porque la configuración es un poco complicada para las necesidades del software. De hecho, cada implementación de GPU es un trabajo personalizado en este momento. La configuración específica (combinación de tarjetas Fermi, procesadores x86 y capacidad de memoria) se basa en los requisitos de la aplicación asociados con el rendimiento, el tamaño de la base de datos, etc. Un solo nodo puede contener hasta cuatro CPU y ocho tarjetas GPU.

En este punto, la empresa está construyendo puntos de prueba para su tecnología. Tienen dos clientes existentes en Europa en el sector del comercio electrónico y cinco clientes potenciales adicionales en múltiples sectores que realizan implementaciones de prueba de concepto.

Los primeros resultados parecen alentadores. Un cliente alemán con una aplicación de análisis web inicialmente tardó de tres a cinco minutos en un «gran clúster» para analizar miles de millones de registros utilizando su solución de base de datos tradicional. Después de cierta optimización del software ParStream, el cliente pudo realizar el mismo cálculo de consulta en 15 ms y en solo cuatro servidores x86. La parte más difícil fue convencer al cliente de que la solución estaba produciendo resultados válidos «instantáneamente». Actualmente, la compañía está en el proceso de migrar toda su infraestructura a ParStream, dice Bienert.

En otros dos casos en los que el análisis interactivo fue el enfoque principal, ParStream entregó resultados de rendimiento impresionantes. Una empresa de investigación de mercado con 20 millones de registros (1000 columnas cada uno) pudo ejecutar 5000 consultas en solo 5 segundos y un centro de investigación climática en Alemania pudo analizar 3000 millones de registros en 100 milisegundos (ms) como parte de un esfuerzo por identificar el riesgo de huracanes. Cada una de estas aplicaciones se ejecutó en un solo servidor utilizando la oferta ParStream.

Bienert cree que los análisis ParStream de alto rendimiento y baja latencia tienen una ventaja competitiva significativa en este momento. Otros proveedores emergentes de big data, como Vertica y EXASOL, también están promoviendo arquitecturas altamente paralelas, pero hasta la fecha Bienert cree que son los únicos que ofrecen aceleración basada en GPU y su esquema único de indexación de datos comprimidos. La compañía espera que sea suficiente para atraer a inversores inteligentes.

Mientras tanto, entrarán en el circuito ferial. Hummel presentó la tecnología en septiembre pasado en la Conferencia de Tecnología de GPU de NVIDIA, donde la compañía fue seleccionada como «One to Watch» por el fabricante de GPU. La primera exhibición de ParStream de sus ofertas será en la Conferencia Internacional de Supercomputación en Hamburgo, Alemania, la próxima semana, donde esperan impresionar a los fieles de HPC.

Deberías compartir en tus redes sociales para que tus amigos opinen

??? ? ? ???

Comparte