Home - vanech20/evaluacionfinal GitHub Wiki
Simulación de sistema distribuido y procesamiento de imágenes en paralelo 💻
Descripción del proyecto💡
El objetivo de este proyecto es desarrollar una solución de procesamiento de imágenes en paralelo, pensada para ejecutarse sobre un clúster de computadoras interconectadas mediante una red local. Para el procesamiento se emplean métodos de cómputo paralelo basados en MPI (Message Passing Interface) y OpenMP, esto con el objetivo de que la carga de trabajo se reparta tanto entre varios nodos (equipos) como entre los diferentes núcleos de cada CPU.
Objetivo 🎯
El objetivo de este proyecto es diseñar e implementar un sistema distribuido heterogéneo que, aprovechando la interconexión en red de varios equipos, permita procesar en paralelo 600 imágenes de gran formato mediante OpenMP. Cada imagen original deberá generar como salida versiones en escala de grises, reflejadas horizontal y verticalmente (tanto en color como en escala de grises), así como un efecto de desenfoque ajustable con un kernel de tamaño variable (entre 55 y 155).
Herramientas 🔦
- Ubuntu 25.04: Sistema operativo instalado en las máquinas virtuales.
- VMware: Entorno de virtualización utilizado para ejecutar la VM del maestro.
- VirtualBox: Entorno de virtualización utilizado para ejecutar las VMs de los esclavos.
- OpenMPI / MPICH: Bibliotecas que permiten distribuir procesos MPI entre diferentes equipos.
- OpenMP: Herramienta para paralelizar hilos de CPU dentro de cada nodo.
- C: Lenguaje empleados en la implementación del procesamiento de imágenes.
- Python y QtDesigner: Tecnologías usadas para diseñar la interfaz gráfica del sistema.
- PyQt5: Biblioteca para el desarrollo de la interfaz gráfica.
- NFS: Protocolo para compartir archivos a través de la red.
- SSH: Mecanismo de comunicación segura entre los distintos nodos.
- MIPS, Bytes/s: Métricas empleadas para cuantificar el rendimiento.