# Matriz de trazabilidad — TEL-420 Sistemas Paralelos

Documento derivado de `programa-docente-TEL420-V2.docx` (fuente de verdad, §II y §III).

**Regla de gobernanza:** ningún artefacto se crea sin una fila en esta matriz. Toda fila
debe señalar: Elemento de Competencia → Contenido (§20.x) → Semana → Instrumento (§18.2)
→ Evidencia (§16) → Porcentaje (§18.3) → Archivo generado.

---

## 1. Distribución de Elementos de Competencia

| EC | Módulo | Semanas | Pond. (§18.3) | Carga horaria |
|---|---|---|---|---|
| EC1 | M1 — Fundamentos, Arquitecturas y Modelos de Rendimiento | 1–3 | 13 % | 12 h Cronograma / 13 h tabla |
| EC2 | M2 — Programación Paralela en Memoria Compartida (OpenMP) | 4–6 | 24 % | 12 h Cronograma / 16 h tabla |
| EC3 | M3 — Programación Paralela en Memoria Distribuida (MPI) | 7–10 | 28 % | 16 h Cronograma / 19 h tabla |
| EC4 | M4 — Computación Paralela Masiva en GPU (CUDA) | 11–13 | 22 % | 12 h Cronograma / 16 h tabla |
| EC5 | M5 — Orquestación, Cloud y Aplicaciones en el Mercado | 14–16 | 13 % | 16 h Cronograma / 8 h tabla |
| EC1–EC5 | Proyecto Final Integrador (ABP) | transversal | 100 % | 4 h Cronograma |
| | **TOTAL** | 18 | **100 %** | **72 h** |

> ⚠️ **Discrepancia abierta** entre el Cronograma (§21) y la tabla de EC (§II).
> Ambos suman 72 h pero difieren módulo a módulo. Ver `calendario-y-carga-horaria.md`.
> **Pendiente de resolución por el Director(a) de Carrera.**

---

## 2. Trazabilidad EC1 → M1 (Semanas 1–3)

### 2.1 Mapeo de contenidos

El programa (§20.1) define **7 contenidos**; el material `.odt` heredado los agrupaba en
**5 secciones**. Al migrar a Markdown el documento se reordena a **7 secciones numeradas
1:1 con el programa**, conservando todo el texto y las 23 figuras del original.

| # | Contenido (§20.1) — 7 | Sección destino | Origen en el `.odt` heredado |
|---|---|---|---|
| 1.1 | Evolución del hardware y Ley de Moore | `M1.md §1.1` | §1.1.1 + §1.1.2 + §1.1.3 (figuras: Ley de Moore, potencia CMOS, multinúcleo) |
| 1.2 | Taxonomía de Flynn y clasificaciones modernas | `M1.md §1.2` | §1.2.1 + §1.2.2 (figura: taxonomía de Flynn; NUMA vs UMA) |
| 1.3 | Fuentes de paralelismo: ILP, datos, tareas, flujo | `M1.md §1.3` | §1.3.1 a §1.3.4 (figuras: pipeline, superescalar, DLP) |
| 1.4 | Métricas: Speedup, Eficiencia, Escalabilidad | `M1.md §1.4` | §1.4.1 A/B/C |
| 1.5 | Ley de Amdahl y Ley de Gustafson | `M1.md §1.5` | §1.4.2 + §1.4.3 |
| 1.6 | Cuellos de botella en sistemas paralelos | `M1.md §1.6` | §1.4.4 |
| 1.7 | Redes de interconexión: topologías y características | `M1.md §1.7` | §1.5 completa (tabla Ethernet vs InfiniBand, RDMA) |

### 2.2 Indicadores, instrumentos y evidencias

| # | Indicador (§18.1) | Instrumento (§18.2) | Evidencia (§16) | Actividad TP |
|---|---|---|---|---|
| 1.1 | Clasifica correctamente sistemas paralelos | Cuestionario escrito | Ejercicio práctico de cálculos | Consumo de potencia CMOS + cuestionario conceptual |
| 1.2 | Clasifica correctamente sistemas paralelos | Ejercicio práctico de cálculos | Informe de análisis comparativo | Clasificación de 3 entornos + análisis NUMA vs UMA |
| 1.3 | Explica las implicaciones de la Ley de Amdahl | Ejercicio práctico de cálculos | Ejercicio práctico de cálculos | Dependencias RAW + pipeline de software (Gantt) |
| 1.4 | Calcula y analiza métricas de rendimiento | Ejercicio práctico de cálculos | Ejercicio práctico de cálculos | Cálculo de `S_p`, `E_p` y overhead |
| 1.5 | Explica las implicaciones de la Ley de Amdahl | Cuestionario escrito | Ejercicio práctico de cálculos | Amdahl aplicado + comparativa Amdahl vs Gustafson |
| 1.6 | Evalúa cuellos de botella en arquitecturas | Ejercicio práctico de cálculos | Ejercicio práctico de cálculos | Memory wall y overhead de comunicación |
| 1.7 | Compara características de redes de interconexión | Informe de análisis comparativo | Informe de análisis comparativo | Tabla de topologías + `T(m)=τ+m/B` |

**Actividades con el docente (§20.1):** 4 expositivas (s1–s3) + 4 prácticas (s2–s3) → `10-modulos/M1-fundamentos/README.md`
**Actividades autónomas (§20.1):** 4 entregables → `M1.md` §"Actividades autónomas del estudiante"
**Investigación / interacción social (§20.1):** investigación documental, estudio de caso, análisis de datasheets (Intel Xeon, AMD EPYC, NVIDIA A100) → `00-marco/glosario-y-convenciones.md`

### 2.3 Evaluación

| Instrumento | Formato | Archivo |
|---|---|---|
| Cuestionario escrito — diagnóstico (sin nota) | HTML autocontenido | `20-evaluaciones/generados/01_M1_diagnostico.html` |
| Cuestionario escrito — sumativo (20 preg / 30 min) | HTML autocontenido | `20-evaluaciones/generados/02_M1_sumativo.html` |
| Informe de análisis comparativo | Rúbrica MD | `10-modulos/M1-fundamentos/rubrica-informe-comparativo.md` |
| Ejercicio práctico de cálculos | Rúbrica MD | `10-modulos/M1-fundamentos/rubrica-ejercicio-calculos.md` |
| **Evaluación global del módulo** (decisión A vs B, 128 nodos Ethernet vs 64 nodos InfiniBand) | Rúbrica MD | `10-modulos/M1-fundamentos/rubrica-evaluacion-global.md` |

---

## 3. Trazabilidad EC2 → M2 (Semanas 4–6) — *completo*

| # | Contenido (§20.2) | Indicador | Instrumento (§18.2) | Evidencia (§16) | Artefacto |
|---|---|---|---|---|---|
| 2.1 | Modelo de memoria compartida y concepto de threads | Implementa correctamente programas OpenMP | Evaluación de código fuente (rúbrica) | Conjunto de programas OpenMP | `.../M2/contenido/M2-openmp.md` §2.1 |
| 2.2 | Condiciones de carrera y sincronización | Identifica y resuelve race conditions | Informe técnico de optimización | Informe de optimización (false sharing) | idem §2.2 |
| 2.3 | Directivas y cláusulas de OpenMP | Implementa correctamente programas OpenMP | Evaluación de código fuente (rúbrica) | Conjunto de programas OpenMP | idem §2.3 |
| 2.4 | Paralelización de bucles y scheduling | Implementa correctamente programas OpenMP | Pruebas de rendimiento documentadas | Pruebas de rendimiento | idem §2.4 |
| 2.5 | Sincronización: critical, barreras, atómicos | Identifica y resuelve race conditions | Informe técnico de optimización | Informe de optimización | idem §2.5 |
| 2.6 | Detección y eliminación de false sharing | Identifica y resuelve race conditions | Informe técnico de optimización | Informe de optimización | idem §2.6 |
| 2.7 | Herramientas de profiling y rendimiento | Mide y analiza rendimiento con profiling | Pruebas de rendimiento documentadas | Pruebas de rendimiento | idem §2.7 |

**Evaluación:**
| Instrumento | Formato | Archivo |
|---|---|---|
| Evaluación de código fuente (rúbrica, OpenMP) | Rúbrica MD | `.../M2/rubrica-codigo-openmp.md` |
| Informe técnico de optimización | Rúbrica MD | `.../M2/rubrica-informe-optimizacion.md` |
| Pruebas de rendimiento documentadas | Rúbrica MD | `.../M2/rubrica-pruebas-rendimiento.md` |
| Cuestionario escrito (diagnóstico) | HTML | `20-evaluaciones/generados/03_M2_diagnostico.html` |
| Cuestionario escrito (sumativo, 24 % EC2) | HTML | `20-evaluaciones/generados/04_M2_sumativo.html` |

---

## 4. Trazabilidad EC3 → M3 (Semanas 7–10) — *completo*

| # | Contenido (§20.3) | Indicador | Instrumento (§18.2) | Evidencia (§16) | Artefacto |
|---|---|---|---|---|---|
| 3.1 | Modelo de paso de mensajes y espacios de memoria privados | Implementa aplicaciones MPI según especificación | Evaluación de código MPI (rúbrica) | Aplicaciones MPI | `.../M3/contenido/M3-mpi.md` §3.1 |
| 3.2 | Estándar MPI: inicialización, procesos, comunicadores | Implementa aplicaciones MPI según especificación | Evaluación de código MPI (rúbrica) | Aplicaciones MPI | idem §3.2 |
| 3.3 | Comunicaciones punto a punto bloqueante y no bloqueante | Implementa comunicaciones punto a punto | Pruebas de escalabilidad documentadas | Pruebas de escalabilidad | idem §3.3 |
| 3.4 | Comunicaciones colectivas: bcast, scatter, gather, reduce | Diseña y ejecuta colectivas eficientes | Pruebas de escalabilidad documentadas | Pruebas de escalabilidad | idem §3.4 |
| 3.5 | Patrones de comunicación en sistemas distribuidos | Optimiza patrones según topología | Informe técnico de cluster | Informe de diseño de cluster | idem §3.5 |
| 3.6 | Arquitectura de clusters modernos | Configura y ejecuta en clusters | Informe técnico de cluster | Informe de cluster virtualizado | idem §3.6 |
| 3.7 | Gestores de recursos: Slurm y orquestación | Diseña y configura clusters virtualizados | Informe técnico de cluster | Informe de diseño de cluster | idem §3.7 |
| 3.8 | Optimización de rendimiento en sistemas distribuidos | Analiza y optimiza escalabilidad | Pruebas de escalabilidad documentadas | Pruebas de escalabilidad | idem §3.8 |

**Evaluación:**
| Instrumento | Formato | Archivo |
|---|---|---|
| Evaluación de código MPI (rúbrica) | Rúbrica MD | `.../M3/rubrica-codigo-mpi.md` |
| Informe técnico de cluster | Rúbrica MD | `.../M3/rubrica-informe-cluster.md` |
| Pruebas de escalabilidad documentadas | Rúbrica MD | `.../M3/rubrica-escalabilidad.md` |
| Cuestionario escrito (diagnóstico) | HTML | `20-evaluaciones/generados/05_M3_diagnostico.html` |
| Cuestionario escrito (sumativo, 28 % EC3) | HTML | `20-evaluaciones/generados/06_M3_sumativo.html` |

---

## 5. Trazabilidad EC4 → M4 (Semanas 11–13) — *completo*

| # | Contenido (§20.4) | Indicador | Instrumento (§18.2) | Evidencia (§16) | Artefacto |
|---|---|---|---|---|---|
| 4.1 | De procesadores vectoriales a GPU modernas | Analiza rendimiento de aplicaciones GPU | Evaluación de código CUDA (rúbrica) | Kernels CUDA | `.../M4/contenido/M4-cuda.md` §4.1 |
| 4.2 | Arquitectura CUDA: cores, bloques, grillas, memoria | Implementa kernels con configuración adecuada | Evaluación de código CUDA (rúbrica) | Kernels CUDA | idem §4.2 |
| 4.3 | Modelo SIMT y ejecución en warps | Exploita paralelismo masivo | Análisis de perfilado de GPU | Informe de ocupancia y memoria | idem §4.3 |
| 4.4 | Programación de kernels CUDA en C/C++ | Implementa kernels correctamente | Evaluación de código CUDA (rúbrica) | Kernels CUDA | idem §4.4 |
| 4.5 | Transferencia de datos host ↔ device | Optimiza transferencias de datos | Informe comparativo CPU-GPU | Comparativa de rendimiento | idem §4.5 |
| 4.6 | Optimización de memoria: global, compartida, caché | Optimiza uso de memoria en GPU | Informe comparativo CPU-GPU | Comparativa de rendimiento | idem §4.6 |
| 4.7 | Análisis de rendimiento y factores limitantes | Analiza factores limitantes | Análisis de perfilado de GPU | Informe de ocupancia | idem §4.7 |
| 4.8 | Casos de uso: álgebra lineal, imágenes e IA | Aplica GPU a problemas reales | Informe comparativo CPU-GPU | Comparativa de rendimiento | idem §4.8 |

**Plan B (sin GPU NVIDIA disponible):** versión PyCUDA/simulación + comparación CPU(OpenMP) vs GPU.

**Evaluación:**
| Instrumento | Formato | Archivo |
|---|---|---|
| Evaluación de código CUDA (rúbrica) | Rúbrica MD | `.../M4/rubrica-codigo-cuda.md` |
| Informe comparativo CPU-GPU | Rúbrica MD | `.../M4/rubrica-comparativo-cpu-gpu.md` |
| Análisis de perfilado de GPU | Rúbrica MD | `.../M4/rubrica-perfilado-gpu.md` |
| Cuestionario escrito (diagnóstico) | HTML | `20-evaluaciones/generados/07_M4_diagnostico.html` |
| Cuestionario escrito (sumativo, 22 % EC4) | HTML | `20-evaluaciones/generados/08_M4_sumativo.html` |

---

## 6. Trazabilidad EC5 → M5 (Semanas 14–16) — *completo*

| # | Contenido (§20.5) | Indicador | Instrumento (§18.2) | Evidencia (§16) | Artefacto |
|---|---|---|---|---|---|
| 5.1 | Gestión de recursos en clusters: Slurm y Rocks | Configura y utiliza gestores modernos | Informe técnico comparativo | Informe comparativa | `.../M5/contenido/M5-orquestacion-cloud.md` §5.1 |
| 5.2 | Contenerización: Docker y Singularity para HPC | Despliega aplicaciones cloud | Documentación de despliegue | Documentación de despliegue | idem §5.2 |
| 5.3 | Orquestación: Kubernetes y contenedores | Configura y utiliza gestores modernos | Informe técnico comparativo | Informe comparativa | idem §5.3 |
| 5.4 | MapReduce y Apache Spark | Evalúa tecnologías a gran escala | Informe técnico comparativo | Informe comparativa | idem §5.4 |
| 5.5 | Modelos de computación en la nube: IaaS, PaaS, SaaS | Despliega aplicaciones en cloud | Documentación de despliegue | Documentación de despliegue | idem §5.5 |
| 5.6 | Proveedores cloud: AWS, Azure, GCP y alternativas locales | Selecciona modelo cloud apropiado | Informe técnico comparativo | Informe comparativa | idem §5.6 |
| 5.7 | Edge computing y computación en el borde | Evalúa tecnologías a gran escala | Informe técnico comparativo | Informe comparativa | idem §5.7 |
| 5.8 | Aplicaciones en contexto local: GIS, simulaciones, IA/ML | Diseña soluciones para contexto local | Propuesta de solución contextualizada | Propuesta de solución contextualizada | idem §5.8 |

**Prácticas M5 ya existentes (reusadas como laboratorios):**
| Guía | Archivo | Paralelismo cubierto |
|---|---|---|
| Despliegue SysLab 2.0 (Docker) | `M5/guias/P5-syslab2-despliegue.odt` | Orquestación, contenedores |
| RAG Dockerizado + OCR concurrente | `M5/guias/P5b-rag-dockerizado-ocr.odt` | Concurrencia CPU vs I/O |
| Pipeline RAG Multi-Dominio + Scraping | `M5/guias/P5c-rag-pipeline-scraping-concurrente.pdf` | Speedup/Eficiencia, Amdahl |
| Arquitectura y Agentes de IA | `M5/guias/P5d-arquitectura-agentes-IA.odt` | Docker, Git, ORM |
| Guía paso a paso sistema web | `M5/guias/P5e-guia-paso-a-paso-sistema-web.odt` | Docker, cliente-servidor |

**Evaluación:**
| Instrumento | Formato | Archivo |
|---|---|---|
| Informe técnico comparativo | Rúbrica MD | `.../M5/rubrica-informe-comparativo.md` |
| Documentación de despliegue en cloud | Rúbrica MD | `.../M5/rubrica-documentacion-despliegue.md` |
| Propuesta de solución contextualizada | Rúbrica MD | `.../M5/rubrica-propuesta-contextual.md` |
| Cuestionario escrito (diagnóstico) | HTML | `20-evaluaciones/generados/09_M5_diagnostico.html` |
| Cuestionario escrito (sumativo, 13 % EC5) | HTML | `20-evaluaciones/generados/10_M5_sumativo.html` |

---

## 7. EC1–EC5 → Proyecto Final Integrador (ABP)

Competencia general (§2 guía oficial):
> "Resuelve problemas computacionales complejos de alto impacto regional mediante el diseño,
> despliegue y optimización de infraestructuras paralelas (cústeres virtualizados/
> contenerizados) y la implementación de algoritmos concurrentes bajo estándares de
> memoria compartida, memoria distribuida o aceleración por hardware, evaluando
> cuantitativamente el rendimiento y la escalabilidad."

| Entregable | Contenido | Rubrica | Archivo |
|---|---|---|---|
| A — Informe Técnico (Paper IEEE, máx 10 pág) | 8 secciones (§6.1) | SABER 25% | `30-abp-integrador/plantilla-informe-ieee.md` |
| B — Repositorio código y reproducibilidad | Estructura obligatoria (§6.2) | SABER HACER 30% | `30-abp-integrador/rubrica-informe-100.md` |
| C — Defensa técnica y live demo (20 min) | 10 expos + 10 demo | SABER SER 20% | idem |
| — | | SABER HACER 25% | idem |

| Hito | Semana | Entregable | Archivo |
|---|---|---|---|
| Hito 1 | Fin s2 | Perfil técnico (1 pág) | `30-abp-integrador/hito-1-perfil-tecnico.odt` |
| Hito 2 | Fin s5 | Clúster contenerizado operativo | `30-abp-integrador/hito-2-revision-avance.md` |
| Hito 3 | Fin s8 | Repo GitHub + informe PDF + defensa | `30-abp-integrador/hito-3-entrega-final.md` |

| Evaluación | Formato | Archivo |
|---|---|---|
| Examen final integrador | HTML | `20-evaluaciones/generados/11_final_integrador.html` |
| Autoevaluación de equipo | MD | `30-abp-integrador/instrumento-autoevaluacion.md` |
| Coevaluación entre pares | MD/HTML | `30-abp-integrador/instrumento-coevaluacion.md` |

---

## 8. Resumen de artefactos

| Categoría | Cantidad | Estado |
|---|---|---|
| Unidades de aprendizaje (contenido .md) | 5 | M1, M2, M3, M4, M5 completas al 100 % |
| Guías de práctica/laboratorio | 17 | M1 (3), M2 (3), M3 (3), M4 (3), M5 (5) completas |
| Rúbricas de instrumento | 16 | M1 (3), M2 (3), M3 (3), M4 (3), M5 (3), ABP (100) completas |
| Evaluaciones HTML generadas | 11 | M1, M2, M3 diagnósticas y sumativas generadas y operativas |
| Actividades autónomas | 5 | M1 a M5 completas y vinculadas curricularmente |
| Marcos (00-marco) | 4 | completos y consolidados |
| Guías ABP | 4 | completas (guía, hito 1, hito 2, hito 3, plantilla, rúbrica 100) |
| Código de referencia ABP | 4 carpetas | OpenMP, MPI y utilidades completos y benchmarked |

---

## 9. Control de versiones de este documento

*Derivado de `programa-docente-TEL420-V2.docx` (V2, fecha de presentación 24/08/2026).*
*Si el programa docente se actualiza, esta matriz debe regenerarse y revisarse.*
