https://github.com/paulapoley/computacion-paralela-con-mpi-en-linux-analisis-y-medicion-del-rendimiento
Este repositorio contiene un proyecto de la asignatura Arquitectura de Sistemas y Software de Base, que explora la computación paralela con MPI en Linux. Incluye la modificación de programas para medir tiempos, ejecutar procesos en paralelo y analizar el rendimiento en diversas configuraciones.
https://github.com/paulapoley/computacion-paralela-con-mpi-en-linux-analisis-y-medicion-del-rendimiento
c gnuplot linux mpi openmpi
Last synced: 2 months ago
JSON representation
Este repositorio contiene un proyecto de la asignatura Arquitectura de Sistemas y Software de Base, que explora la computación paralela con MPI en Linux. Incluye la modificación de programas para medir tiempos, ejecutar procesos en paralelo y analizar el rendimiento en diversas configuraciones.
- Host: GitHub
- URL: https://github.com/paulapoley/computacion-paralela-con-mpi-en-linux-analisis-y-medicion-del-rendimiento
- Owner: paulapoley
- License: apache-2.0
- Created: 2024-08-28T11:32:29.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-08-28T12:18:00.000Z (9 months ago)
- Last Synced: 2025-01-12T12:46:19.298Z (4 months ago)
- Topics: c, gnuplot, linux, mpi, openmpi
- Language: C
- Homepage:
- Size: 3.21 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Título: Computacion-Paralela-con-MPI-en-Linux-Analisis-y-Medicion-del-Rendimiento
Este repositorio contiene un proyecto de la asignatura Arquitectura de Sistemas y Software de Base, que explora la computación paralela con MPI en Linux. Incluye la modificación de programas para medir tiempos, ejecutar procesos en paralelo y analizar el rendimiento en diversas configuraciones.
## 1. Descripción
El objetivo de esta práctica es explorar y aplicar técnicas de computación paralela con MPI en sistemas de memoria distribuida. Se modificaron y optimizaron programas para medir tiempos de ejecución, realizar estimaciones numéricas y analizar el rendimiento en diferentes configuraciones de procesos. La práctica incluye ejercicios que abarcan desde la modificación básica de programas hasta la ejecución paralela en múltiples PCs.## 2. Contenidos del Repositorio
El repositorio está organizado en varias carpetas y archivos que contienen el código fuente, scripts, documentación y resultados del análisis.### 2.1. Código Fuente (src)
La carpeta /src contiene los programas en C y los scripts asociados:- [hola_mundo_avanzado.c](src/hola_mundo_avanzado.c): Programa modificado para incluir el nombre del procesador.
- [prod_escalar_mpi.c](src/prod_escalar_mpi.c): Programa que realiza el producto escalar y mide el tiempo de ejecución.
- [integracion_trapecios_pi_esqueleto.c](src/integracion_trapecios_pi_esqueleto.c): Programa paralelo para estimar el valor de π utilizando el método de los trapecios.
- [integracion_trapecios_pi_esqueleto_modif.c](src/integracion_trapecios_pi_esqueleto_modif.c): Versión modificada del programa para estimación de π con mejoras en la medición de tiempos y optimización.- [slots.conf](src/slots.conf): Configuración para el número de procesos en el sistema.
### 2.2. Documentos (docs)
La carpeta /docs incluye documentos y gráficos generados durante la práctica:- [Computacion-paralela-MPI-PPC.pdf](docs/Computacion-paralela-MPI-PPC.pdf): Documento que ofrece una explicación general del proyecto y sus componentes.
## 3. Características Principales
-**Lenguaje y Entorno:** C y Linux.-**Tecnologías Utilizadas:**
- MPI (Message Passing Interface)
- GNUplot para la visualización de datos
-**Ejercicios:**
- Modificación y mejora de programas de ejemplo.
- Medición del tiempo de ejecución usando MPI_Wtime.
- Estimación de π y análisis de rendimiento.
- Ejecución en un clúster de PCs.## 4. Resultados y Observaciones
- Medición del Tiempo: Los tiempos de ejecución se recopilaron variando el número de procesos, y se observó que la aceleración no siempre sigue una tendencia lineal.
- Estudio de Rendimiento: Se realizaron gráficos de tiempo y aceleración para analizar el comportamiento del programa en diferentes configuraciones.