El proyecto Paralelismo en Clusters pretende servir como base para el estudio del procesamiento paralelo, a fin de completar y complementar la formación de los estudiantes de licenciatura y posgrado con la práctica, habilidades y experiencia para la resolución de problemas que requieren procesamiento de alto desempeño. Al mismo tiempo, el proyecto se plantea para apoyar y asesorar otros cursos curriculares y proyectos dentro del Departamento de Matemáticas de la Facultad de Ciencias que, por sus características, requieren procesamiento de alto desempeño.
Un sistema paralelo en cluster combina múltiples sistemas de cómputo, conectados mediante una red de alta velocidad y un esquema de programación específico para obtener un poder de cómputo semejante a una supercomputadora. Los sistemas de cómputo trabajan en conjunto para completar un procesamiento común, mediante la división de tal procesamiento entre ellos, y generando un resultado como si se tratara de un sistema de cómputo único. Normalmente, tal procesamiento se trata de una operación intensiva sobre datos o valores numéricos. El éxito de los clusters de computadoras se debe a su habilidad de combinar múltiples sistemas de cómputo, de tal manera que proveen de capacidades de procesamiento que una sola computadora no podría resolver.
El proyecto consiste en la instalación un sistema paralelo en cluster en el Departamento de Matemáticas, y su utilización en el desarrollo y la enseñanza de las bases teóricas y prácticas para su aplicación a la resolución de problemas. Es un hecho la utilización cada vez más notoria de los clusters en instituciones académicas, empresas e industria. Sin embargo, a diferencia de muchos otros proyectos (que proponen solo el uso de un cluster de computadoras como plataforma de alto rendimiento), este proyecto se propone directamente para el estudio, el análisis y la enseñanza de técnicas y experiencias de la programación paralela. Algunos puntos críticos para llevar esto a cabo incluyen el desarrollo de las bases metodológicas para el diseño e implementación de programas paralelos, la conversión de programas y algoritmos secuenciales a una forma paralela, la traslación de las técnicas y experiencias a otros sistemas, y la reutilización de los componentes de un programa paralelo para construir nuevas aplicaciones.
En particular, la instalación de un sistema paralelo en cluster tiene la intención de beneficiar no solo las actividades de enseñanza dentro del Departamento de Matemáticas, sino también a las actividades de investigación. A últimas fechas, se ha hecho manifiesto el interés de algunos miembros del personal académico por aplicar el paralelismo para la resolución de problemas cuya solución requiere de cómputo intensivo. En general, los problemas que se abordan son de cómputo científico, análisis numérico, procesamiento de datos e imágenes, programación de algoritmos, y otros. Con el presente proyecto se intenta que el beneficio sea mutuo: estos problemas, por un lado, constituyen un conjunto de casos que puede ser aprovechado para el estudio y el análisis de la programación paralela, y a la vez, la programación paralela puede servir para proveer de soluciones más adecuadas a esos problemas.