"La CE y la Universidad pueden llegar a ser los mejores socios tecnológicos"
Juan Carlos Gómez, director técnico de Software Greenhouse, asociada al proyecto ESPRIT
En noviembre de 1997 Software Greenhouse, empresa creadora del data mart Hi-Spins, se embarcó en un ambicioso proyecto de desarrollo: introducir la tecnología de la computación paralela en su producto . El proyecto, denominado Bonanova, contó desde un primer momento con el apoyo del CEPBA ( Centro de Paralelismo de la Universidad Politécnica de Barcelona ) y de Bodegas Miguel Torres como usuario piloto . Bonanova terminó por asociarse al proyecto ESPRIT CEPBA-TTN de la Comunidad Europea, que aportó el 50% del capital necesario a fondo perdido, y cuyo fin es promover los procesos y redes de alto rendimiento en la industria, especialmente en la pyme . Con el proyecto ya concluido e instalado en Bodegas Torres, Juan Carlos Gómes, director técnico de Software Greenhouse, explica las fases de su desarrollo .
¿ Cómo surge la necesidad de introducir el paralelismo en Hi-Spins ?
- Hi-Spins era un producto que había vivido siete renovaciones desde su lanzamiento al mercado . Las mejoras en cada versión se habían realizado en puntos fundamentales como el tiempo de respuesta y la funcionalidad misma . Pero llega un momento en el que los productos cubren el 90 o 95% de los requerimientos y para mejorarlos tienes que dar un salto cualitativo muy grande . Empiezan a surgir otras necesidades para el usuario motivadas por varias razones .
¿ Qué tipo de razones ?
- Por ejemplo, el hecho de que se empiece a implantar productos como Hi-Spins en áreas de gestión, aumenta las exigencias que el usuario tiene de la solución . Se empieza a pedir más y más del producto y vuelve a ser importante el tiempo de respuesta . Ya no hay que acumular 100 . 000 ó 200 . 000 registros, sino que hay que tener capacidad suficiente para acumular y gestionar millones de registros y dar respuesta en 15 o 16 segundos . Realizar esto en una red local parecía imposible porque es necesario disponer de supermáquinas y superedes locales, cosa que no tienen nuestros usuarios, que por lo general disponen de una red Ethernet de 10 mbits .
Pensamos entonces en desarrollar una versión totalmente en cliente/servidor y en paralelo . Con el sistema cliente/servidor lo que pretendíamos es que el servidor cogiera la labor de lectura del disco y limitara la información que va por la red . La configuración cliente/servidor ofrece más rápidez porque el tráfico por la red es menor y la versión en paralelo permitiría que, a medida que fueramos poniendo más programas de servicio o más servidores a procesar, los resultados siempre iban a ser mejores .
¿ Cómo se inicia la cooperación con la Universidad Politécnica de Barcelona ?
- Cuando entramos en contacto con ellos nos dijeron que existía un centro de paralelismo y que ellos estarían interesados en trabajar con nosotros porque nunca habían entrado en el área de bases de datos . Siempre habían paralelizado algoritmos o simulaciones . Ellos fueron quienes nos advirtieron que la CE estaba financiando proyectos, algo muy interesante para una compañía como Software Greenhouse . Presentamos el proyecto, la comunidad lo consideró de interés tecnológico y lo financió . De esta forma, el proyecto Bonanova entró a formar parte del plan HPCN del proyecto ESPRIT . Las relaciones con la Comunidad Europea no han pidido ser mejores . De hecho, creo que la CE y el ámbito Universitario pueden llegar a ser los mejores socios tecnológicos .
¿ En qué han consistido, de forma concreta, las mejoras llevadas a cabo en Hi-Spins ?
- Cuando tú tienes un sistema del tipo de Hi-Spins, por lo general, los cuellos de botella los presentan los discos porque son los elementos más débiles o los más lentos . El esfuerzo, entonces, debíamos concentrarlo en reforzar y optimizar al máximo esos elementos más lentos . Nosotros no podemos hacer que un disco vaya más rápido, pero lo que sí podemos hacer es poner dos o tres discos a trabajar en paralelo . Intentamos definir todos los algoritmos de forma que se pudiesen explotar dos o tres discos simultáneamente . Este fue nuestro trabajo . La Universidad nos ayudó mucho, especialmente el Centro de Paralelismo de la Comunidad Europea, que reside en la Politécnica de Barcelona . Ellos tienen una serie de rutinas y de funciones que toman tiempos sobre eventos y colocando esas rutinas nosotros pudimos determinar cuáles eran los tiempos de los diferentes eventos: los tiempos de lectura, los tiempos de descarte, los tiempos de acumulación, etc, y, teniendo esas mediciones ya supimos exactamente donde concentrarnos y cuáles eran realmente los algoritmos que debíamos paralelizar . Lo volvimos cliente/servidor y lo para-lelizamos . Cliente/servidor y paralelismo es igual porque mientras el cliente está procesando, el servidor también está procesando . Hay un paralelismo implícito en la arquitectura cliente/servidor si ésta está bien realizada . También existe el paralelismo en cuanto que puede haber más de un servidor procesando .
¿ Cuántas personas han participado en la parte puramente técnica del proyecto ?
- En el capítulo de recursos humanos entramos yo mismo como jefe de proyecto, dos programadores dedicados al motor, uno centrado en la parte de mediciones y los demás han sido personas dedicadas a los aspectos de difusión del producto . Asimismo, también acudió un consultor de la Politécnica de Cataluña .
¿ Cuántos usuarios de Software Greenhouse disfrutan ya del proyecto Bonanova ?
- Lo tenemos implantado en tres usuarios, pero el proyecto piloto es el que tenemos instalado en las Bodegas Miguel Torres . Ellos nos han ayudado mucho y se han involucrado totalmente en el proyecto . Ahora los planes van en la línea de seguir ampliando su instalación a todos los usuarios que así lo deseen . De hecho, hace escasamente un mes celebramos una reunión de usuarios para presentar a nuestra comunidad de clientes los beneficios que les podía reportar un desarrollo como Bonanova .