Proyecto Bonanova: Paralelismo en Hi-Spins
En 1999 se inició el proyecto conjunto de Software Greenhouse, CEPBA-TTN y Miguel Torres, cuyo objetivo fue introducir la tecnología de la computación paralela en el producto Data Mart Hi-Spins. El uso del paralelismo proporcionó a Miguel Torres, así como a otros usuarios del producto, mayores velocidades de acceso a la información almacenada en su base de datos multi-dimensional, y por tanto permitió extender su uso e implantar nuevas aplicaciones con mucho mayor volumen de información.
Los enfoques de la paralelización
Hi-Spins es una aplicación de la tecnología Data Warehouse a la problemática de las medianas empresas, (entre las cuales podemos contar muchas de las subsidiarias españolas de las empresas multinacionales).
El objetivo del proyecto es una reducción substancial de los tiempos de respuesta, mediante la introducción de técnicas de procesos paralelos en el motor de la base de datos de Hi-Spins. Dicho motor, que podrá trabajar sobre múltiples procesadores, se beneficiará de la opción de distribuir los datos en múltiples discos y tratarlos con procesos paralelos.
En principio se consideraron dos alternativas para lograr el objetivo. La primera opción consistía en dividir el Data Warehouse en segmentos que se distribuirían entre varias unidades de disco en uno o varios ordenadores. Entonces, los distintos segmentos del Data Warehouse serían tratados por múltiples procesos paralelos de lectura y acumulación. Dichos procesos podrían ser ejecutados en uno o múltiples procesadores, en un ordenador o múltiples ordenadores.
La segunda opción se basaba en la técnica de replicación, teniendo varias copias del Data Warehouse en diferentes unidades de disco. En este caso, cada uno de los procesos paralelos de lectura y acumulación, tendría asignado un segmento distinto del Data Warehouse.
La segunda opción permitía aumentar la redundancia pero a la vez introducía la opción de alta disponibilidad. En caso de un fallo de alguna de las unidades, Hi-Spins seguiría entregando las consultas solicitadas, con un aumento proporcional del tiempo de respuesta. La opción usada en cada instalación sería un parámetro de configuración del producto. El enfoque tecnológico del motor de base de datos de Hi-Spins se presta especialmente a la introducción del paralelismo. Su estrategia, en vez de la utilización de muy altos niveles de redundancia (la utilizada por la mayoría de los Data Warehouse), consiste en leer y procesar a grandes velocidades muy grandes cantidades de registros, almacenados en forma altamente comprimida. Esta estrategia tiene como consecuencia un bajo requerimiento de espacio en discos, pero sobre todo una puesta en marcha mucho más sencilla (debido a un menor nivel de redundancias) y también tiempos más cortos de mantenimiento del Data Warehouse.
Como contrapartida tiene ciertas limitaciones del tamaño del Data Warehouse, ofreciendo sin embargo excelentes prestaciones a los más típicos usuarios de este tipo de software en España, como son por ejemplo los departamentos de marketing de las empresas que generan de 1 a 5 millones de líneas de pedidos al año. Con la introducción del paralelismo, un esfuerzo de desarrollo relativamente pequeño permitió aumentar las posibilidades del producto.
Los Integrantes del Proyecto
Software Greenhouse es una empresa fundada en el año 1992, con una clara orientación a la utilización de las avanzadas tecnologías informáticas, para obtener productos de alto rendimiento. Aparte del producto propio Hi-Spins, es distribuidor de una amplia gama de productos para object mirroring y alta disponibilidad de sistemas de la empresa Vision Solutions y realiza proyectos de consultoría especializada para grandes empresas.
Las Empresas Miguel Torres son un conocido grupo empresarial perteneciente a la familia Torres, dedicado a la producción de vinos. Aparte de la alta calidad de sus productos, se destaca por su afán de excelencia en el área de Gestión y de los Sistemas de Información.
Para el Director de Sistemas de Información de las empresas Miguel Torres, la implantación del producto Hi-Spins como herramienta para el análisis de ventas, significó un salto cualitativo en este área. Hi-Spins permite a los usuarios finales, sin la ayuda de los informáticos, formular una gran cantidad de consultas diferentes y obtener los resultados con unos tiempos de respuesta incomparables con las herramientas usadas anteriormente.
La función de las Empresas Miguel Torres en el proyecto fue la de concretar las áreas de requerimientos de mejoras más importantes, colaborar con las definiciones de las pruebas a realizar y en las mediciones de tiempos de respuesta antes y después del proyecto, ser el primer usuario de la versión paralelizada de Hi-Spins y realizar demostraciones para otros usuarios actuales, así como para posibles futuros usuarios de Hi-Spins.
Los Beneficios
Todos los usuarios de las aplicaciones implantadas se beneficiaron con el proyecto: Consideremos por ejemplo una instalación con 20 usuarios de los cuales cada uno efectúa diariamente un promedio de 75 consultas con los tiempos de respuesta entre 10 y 120 segundos. Esto representa aproximadamente 75 minutos diarios por usuario y en un mes da un total de 500 horas con un coste promedio de 36 Euros / hora. El coste mensual por tanto sería de 18.000 Euros logrando reducir los tiempos de respuesta a la mitad, se obtiene un ahorro mensual de 9.000 Euros.
Pero aparte de este ahorro existe un factor aún más importante: Como ya se ha comprobado en la mejora de los tiempos de respuesta estimulan al usuario para profundizar en el análisis de la información, lo cual redunda en unos beneficios indirectos difícilmente calculables, pero seguramente mayores que los calculados mediante una simple valoración del tiempo dedicado por los usuarios.
El beneficio que perseguía Software Greenhouse con el proyecto, aparte de la mayor satisfacción de sus usuarios, la cual a su vez redunda en un mayor prestigio de su producto, es hacer su producto más competitivo y a la vez más conocido en el mercado, mediante el éxito de un proyecto patrocinado por la UE.
Las Fases del Proyecto Bonanova
El proyecto se dividió en cuatro fases importantes. La primera comienzó por un análisis detallado de la implementación actual, en la cual se utilizó una serie de herramientas que disponía el CEPBA para este propósito y que proporcionaron unas mediciones exactas de los distintos elementos de los procesos. Se definieron los conjuntos de datos de pruebas y los distintos tipos de procesos característicos para el producto, cuyos parámetros fueron medidos en distintos entornos antes y después del proyecto.
Esta fase incluyó también el propio diseño detallado de la paralelización de los procesos de Hi-Spins. Se realizó el análisis del impacto de uso de múltiples discos, de las estrategias de distribución o replicación del Data Warehouse, la estructura de los futuros procesos paralelos y el soporte de alta disponibilidad del sistema. Se evaluó la utilización de “multithreading” y de I/O asíncrono. Para la predicción de rendimientos se utilizó una herramienta denominada “DIMEMAS”, desarrollada con anterioridad en la UPC.
La segunda fase consistió en la implantación del paralelismo en el producto Hi-Spins con las características decididas en la fase anterior y la evaluación preliminar de los resultados por los propios desarrolladores.
En la tercera fase, en la cual tuvieron un papel muy importante los usuarios finales y el departamento de Sistemas de Información de Miguel Torres, se implantó la versión piloto del producto con los procesos paralelos en dicha instalación. Una vez realizadas las mediciones en un entorno real se analizaron las observaciones y sugerencias de los usuarios y se procedió a la optimización del código. Se verificó en especial el cumplimiento de todas aquellas sugerencias que Miguel Torres aportó al iniciarse el proyecto.
Una vez cumplidos los propósitos de la fase 3, comenzó la última fase, en la cual se implantó la nueva versión del producto en otras dos instalaciones, que no habian participado en el proyecto. Se evaluaron los incrementos de velocidades en las consultas típicas de éstas instalaciones y los resultados de las mediciones obtenidas fueron utilizados para determinar las posibilidades de existencia de otras reservas y oportunidades para futuras optimizaciones.