# Hito 2 — Revisión de Avance: Clúster Contenerizado y Prototipo Algorítmico

**Asignatura:** TEL-420 · Sistemas Paralelos  
**Docente:** Ing. Elias Cassal Baldiviezo  
**Momento de Evaluación:** Fin de la Semana 5  
**Carácter:** Formativo y de Seguimiento Técnico (Control de Riesgo de Proyecto)  

---

## 1. Propósito del Hito 2

Garantizar que cada equipo cuente con la infraestructura de hardware y virtualización operativa antes de entrar en la fase intensiva de optimización y pruebas de rendimiento del Módulo 3 y 4. Se busca mitigar el riesgo de retrasos en el despliegue del entorno y asegurar la validez matemática del algoritmo base.

---

## 2. Requisitos Técnicos Obligatorios

1. **Infraestructura Contenerizada Operativa:**
   - Despliegue funcional de al menos 3 nodos virtuales (1 Master + 2 Workers) en la estación de laboratorio Dell OptiPlex 7010 (32 GB RAM) utilizando Docker Compose o receta de aprovisionamiento Slurm.
   - Conectividad de red tipo bridge interna verificada entre todos los contenedores con resolución de nombres y acceso SSH sin contraseña.
   - Compilador `gcc`/`g++` con soporte de OpenMP y entorno `OpenMPI` instalados y probados mediante un programa elemental de prueba (*smoke test*).

2. **Código Base de Referencia:**
   - Versión secuencial finalizada ($T_1$) resolviendo el problema regional seleccionado con datos sintéticos o reales preliminares.
   - Verificación de la correctitud matemática y determinación de la huella de memoria inicial.
   - Primera versión paralela preliminar (OpenMP o MPI) ejecutando de forma básica.

3. **Estructura del Repositorio:**
   - Repositorio activo en GitHub con la estructura oficial del proyecto (`src/`, `infrastructure/`, `data/`, `scripts/`, `docs/`).
   - Archivo `README.md` con las instrucciones de clonación y arranque de los contenedores (`docker compose up -d`).

---

## 3. Modalidad de Revisión en Laboratorio

- **Duración:** 10 minutos por equipo durante la sesión práctica de la Semana 5.
- **Acción del Equipo:**
  1. Levantar el clúster con un comando de terminal.
  2. Ejecutar el script de prueba de conectividad y el código secuencial frente al primer borrador paralelo.
  3. Mostrar el estado de recursos y memoria en el host con `docker stats` o `htop`.
- **Retroalimentación Docente:** El docente emitirá observaciones de optimización, advertencias de posibles cuellos de botella de red o memoria y recomendaciones para el Hito 3.
