TEL-420 Sistemas Paralelos Plantilla informe ieee · TEL-420
ABP Proyecto ABP Integrador
Descargar .md

Plantilla Oficial — Informe Técnico de Ingeniería (Paper Formato IEEE)

Asignatura: TEL-420 · Sistemas Paralelos Docente: Ing. Elias Cassal Baldiviezo Carrera: Ingeniería Informática — Facultad de Ciencias Integradas de Yacuiba / F.I.R.N.T. Universidad: Universidad Autónoma "Juan Misael Saracho" (UAJMS)


Instrucciones para el equipo: 1. Longitud máxima: 10 páginas, formato a dos columnas estilo IEEE (interlineado simple, tipografía Times New Roman o equivalente 10 pt). 2. Se entrega compilado en formato PDF dentro de la carpeta docs/ del repositorio oficial de GitHub del equipo. 3. El informe debe reflejar con rigor ingenieril el problema real abordado, la arquitectura de hardware empleada (estaciones Dell OptiPlex 7010 con 32 GB RAM), el modelo matemático, la paralelización y las mediciones de aceleración.


========================================================================================
[TÍTULO DEL PROYECTO: CONCISO, TÉCNICO Y CONTEXTUALIZADO AL PROBLEMA REGIONAL]
========================================================================================
Primer Autor (Estudiante 1)       Segundo Autor (Estudiante 2)       Tercer Autor (Estudiante 3)
Carrera de Ingeniería Informática   Carrera de Ingeniería Informática   Carrera de Ingeniería Informática
UAJMS — Yacuiba, Bolivia           UAJMS — Yacuiba, Bolivia           UAJMS — Yacuiba, Bolivia
correo.est1@uajms.edu.bo          correo.est2@uajms.edu.bo          correo.est3@uajms.edu.bo

Resumen

*El resumen debe sintetizar en un único párrafo de entre 150 y 250 palabras: (1) el problema regional específico analizado en Yacuiba/Gran Chaco/Tarija, (2) el modelo computacional y matemático implementado, (3) el paradigma paralelo adoptado (memoria compartida con OpenMP, memoria distribuida con OpenMPI o solución híbrida/acelerada), (4) la infraestructura física y virtual utilizada (Dell OptiPlex 7010, Docker/Slurm), y (5) los resultados cuantitativos clave alcanzados (tiempo secuencial T_1, tiempo paralelo T_p, Speedup S_p y Eficiencia E_p).*

Palabras clave: Computación Paralela, Sistemas Distribuidos, OpenMP, OpenMPI, Speedup, Ley de Amdahl, Gran Chaco, Docker.

Abstract

English translation of the abstract. Concise, professional, and mathematically precise summary covering the regional problem, algorithm, parallel implementation, benchmarking platform, and speedup achievements.

Keywords: Parallel Computing, Distributed Systems, OpenMP, OpenMPI, Speedup, Amdahl's Law, Benchmarking, HPC.


1. Introducción y Contextualización Regional

1.1 Contexto y Relevancia Territorial

  • Describa la problemática territorial o productiva seleccionada en Yacuiba, el departamento de Tarija o la cuenca del Chaco boliviano:
  • Línea 1: Monitoreo y dispersión hidrológica/ambiental en la cuenca del Río Pilcomayo.
  • Línea 2: Análisis geoespacial de focos de calor e incendios forestales mediante teledetección (Sentinel/Landsat).
  • Línea 3: Logística y optimización de redes de transporte transfronterizo (Yacuiba-Pocitos-Salvador Mazza).
  • Línea 4: Simulación agroclimática estocástica (Monte Carlo) de estrés hídrico en cultivos de la región.
  • Línea 5: Visión por computador distribuida para sanidad vegetal y fitopatología agrícola.
  • Justifique cuantitativamente la demanda computacional: demuestre por qué una solución secuencial convencional resulta insuficiente o inviable temporalmente para las dimensiones de datos o resolución requeridas.

1.2 Objetivos de Ingeniería

  • Objetivo General: Diseñar, implementar, desplegar y evaluar una solución paralela de alto rendimiento para el problema formulado.
  • Objetivos Específicos:
  • Formalizar el algoritmo de referencia y verificar su corrección matemática de forma secuencial (T_1).
  • Implementar la descomposición de datos y balanceo de carga bajo OpenMP / MPI / esquema híbrido.
  • Contenerizar la infraestructura del clúster (Docker/Compose o Slurm) en las PCs Dell OptiPlex 7010 (Core i7, 32 GB RAM).
  • Realizar un estudio de escalabilidad fuerte y débil validando las leyes de Amdahl y Gustafson.

2. Marco Teórico y Estado del Arte

2.1 Taxonomía de Flynn y Modelo Computacional

  • Clasificación de la arquitectura bajo la Taxonomía de Flynn (SISD, SIMD, MIMD, MISD).
  • Modelo de memoria implementado:
  • Memoria Compartida (UMA / NUMA): Coherencia de caché, espacio de direccionamiento común, sincronización mediante hilos.
  • Memoria Distribuida (NORMA): Nodos autónomos, comunicación por paso de mensajes (Message Passing), ausencia de memoria global.
  • Arquitectura Híbrida: Procesos MPI entre nodos y paralelismo de hilos OpenMP dentro de cada nodo.

2.2 Redes de Interconexión y Modelo LogP

  • Topología de red: características del enlace Ethernet Gigabit o interconexión de laboratorio.
  • Formalización del tiempo de comunicación: $$T_{comm} = \alpha + \beta \cdot m$$ donde \alpha es la latencia de inicio (startup latency), \beta = 1/B es el tiempo de transferencia por byte y m es el tamaño del mensaje.
  • Impacto de la contención y patrones de comunicación (punto a punto vs. colectivas broadcast/reduction/scatter).

3. Diseño de la Arquitectura e Infraestructura

3.1 Especificación del Hardware de Laboratorio

  • Equipo Anfitrión: Dell OptiPlex 7010 / Torre de laboratorio.
  • Procesador: Intel Core i7 (especificar modelo exacto, número de núcleos físicos y núcleos lógicos / hyperthreading).
  • Memoria RAM: 32 GB DDR4/DDR5.
  • Sistema Operativo: Ubuntu Server 22.04 LTS / Ubuntu Desktop / WSL2 (Kernel Linux).

3.2 Topología Virtual y Contenerización

  • Modalidad seleccionada (Opción A: Clúster Docker/Apptainer multinodo con SSH sin contraseña; Opción B: Clúster Slurm virtualizado con Docker Compose).
  • Diagrama de arquitectura: ``text [Host Dell OptiPlex (32 GB RAM)] ├── [Nodo Maestro / Controller: 1 Contenedor / VM (8 GB RAM)] │ └── Slurmctld / OpenMPI Master / SSH Server ├── [Nodo Worker 1: 1 Contenedor / VM (8 GB RAM)] │ └── Slurmd / OpenMPI Worker / GCC Runtime └── [Nodo Worker 2: 1 Contenedor / VM (8 GB RAM)] └── Slurmd / OpenMPI Worker / GCC Runtime ``
  • Configuración de red interna (bridge, DNS estático de nodos, claves criptográficas SSH compartidas).

4. Implementación Algorítmica Paralela

4.1 Algoritmo Secuencial Base

  • Descripción formal del algoritmo base y análisis de complejidad asintótica temporal \mathcal{O}(f(n)) y espacial \mathcal{O}(g(n)).
  • Verificación de exactitud del resultado secuencial como línea base de verdad.

4.2 Estrategia de Descomposición y Particionamiento

  • Tipo de paralelismo: paralelismo de datos (Data Parallelism) o descomposición funcional (Task Parallelism).
  • Particionamiento: estático en bloques (block distribution), cíclico (round-robin), o dinámico guiado (work stealing).
  • Tratamiento de condiciones de frontera: intercambio de halos (ghost cells / halo exchange) en problemas 2D si aplica.

4.3 Primitivas de Paralelización y Sincronización

  • En OpenMP:
  • Directivas utilizadas (#pragma omp parallel for, reduction, etc.).
  • Ámbito de variables (private, shared, firstprivate).
  • Estrategia de sincronización y mitigación de false sharing (alineamiento de caché, variables locales).
  • En MPI:
  • Comunicador: uso de MPI_COMM_WORLD o creación de subcomunicadores.
  • Comunicaciones punto a punto: uso de primitivas bloqueantes (MPI_Send / MPI_Recv) frente a no bloqueantes (MPI_Isend / MPI_Irecv con MPI_Wait) para solapar cómputo con comunicación.
  • Comunicaciones colectivas optimizadas: MPI_Bcast, MPI_Scatter, MPI_Gather, MPI_Reduce / MPI_Allreduce.

5. Resultados Experimentales y Análisis de Rendimiento

5.1 Metodología de Experimentación

  • Parámetros de prueba:
  • Hilos evaluados: p \in \{1, 2, 4, 8, 16\}.
  • Nodos/procesos evaluados: N \in \{1, 2, 3, 4\}.
  • Tamaños de problema evaluados: N_{pequeño}, N_{mediano}, N_{masivo}.
  • Condiciones de medición: mediciones repetidas ([k \ge 5] iteraciones descartando fase de calentamiento), cálculo de media aritmética y desviación estándar.

5.2 Mediciones de Tiempo y Aceleración

Tabla 1. Tiempos de ejecución y métricas de aceleración.

Tamaño del Problema (N)Configuración (p hilos / nodos)Tiempo Promedio T_p (s)Speedup S_p = \frac{T_1}{T_p}Eficiencia E_p = \frac{S_p}{p}
Mediano (N=10^6)1 (Secuencial)1.00100.0 %
Mediano (N=10^6)2
Mediano (N=10^6)4
Mediano (N=10^6)8
Masivo (N=10^7)1 (Secuencial)1.00100.0 %
Masivo (N=10^7)2
Masivo (N=10^7)4
Masivo (N=10^7)8

5.3 Curvas de Rendimiento y Análisis Teórico

  • Gráfica de Speedup: Representación de la curva empírica frente al Speedup Ideal Lineal (S_p = p) y frente a la cota teórica calculada con la Ley de Amdahl: $$S(p) = \frac{1}{(1 - f) + \frac{f}{p}}$$ donde f es la fracción paralelizable estimada experimentalmente.
  • Gráfica de Eficiencia: Análisis de degradación de E_p a medida que crece p.
  • Escalabilidad Débil: Evaluación bajo la Ley de Gustafson: $$S(p) = p - \alpha(p - 1)$$ al escalar proporcionalmente el tamaño de los datos con el número de núcleos.
  • Cuellos de Botella Identificados: Discusión sobre saturación del ancho de banda de memoria (Memory Wall), latencia de paso de mensajes por la red Ethernet y sobrecargas de sincronización.

6. Conclusiones e Impacto Social / Productivo

  • Síntesis de los logros técnicos demostrados en términos de escalabilidad y reducción de tiempo de cómputo.
  • Reflexión crítica sobre las limitaciones encontradas en la infraestructura del laboratorio.
  • Impacto real de la herramienta para la toma de decisiones en el contexto del Gran Chaco (sector productivo, prevención de riesgos ambientales o gestión pública regional).

7. Referencias Bibliográficas (Formato IEEE)

  1. M. J. Quinn, Parallel Programming in C with MPI and OpenMP, New York: McGraw-Hill, 2004.
  2. A. Grama, A. Gupta, G. Karypis, and V. Kumar, Introduction to Parallel Computing, 2nd ed., Boston: Addison-Wesley, 2003.
  3. OpenMP Architecture Review Board, OpenMP Application Programming Interface Version 5.2, Nov. 2021. [En línea]. Disponible en: https://www.openmp.org/specifications/
  4. Message Passing Interface Forum, MPI: A Message-Passing Interface Standard Version 4.0, Jun. 2021.
  5. J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 6th ed., Cambridge, MA: Morgan Kaufmann, 2017.