# Calendario y carga horaria — TEL-420 Sistemas Paralelos

Derivado de `programa-docente-TEL420-V2.docx` §21 (Cronograma de ejecución) y §II (tabla de Elementos de Competencia).

---

## 1. Marco horario de la asignatura

| Parámetro | Valor | Fuente |
|---|---|---|
| Asignatura | Sistemas Paralelos (TEL-420) | §I.4, §I.6 |
| Semestre | Octavo | §I.3 |
| Carga horaria | **72 h/semestre (4 h/semana)** | §I.7 |
| Créditos | 7 | §I.7.1 |
| Horas con el docente | 72 h | §I.8 |
| Horas de aprendizaje autónomo | 36 h | §I.9 |
| Duración | 18 semanas | §21 Cronograma |
| Docente | Ing. Elias Cassal Baldiviezo | §I.10 |

> **Nota sobre la lectura de las 72 h.** El apartado I.7 declara 72 h de carga horaria y
> el apartado I.8 declara 72 h de aprendizaje con el docente. El apartado I.9 declara
> ademas 36 h de aprendizaje autonomo del estudiante. Las 36 h autonomas **no se suman**
> a las 72 h de catedra: se integran dentro de las horas de la semana
> (4 h por semana durante 18 semanas = 72 h). Confirmar con el Director o la Directora
> de Carrera si la catedra incluye o excluye el trabajo autonomo del estudiante.

---

## 2. ⚠️ Discrepancia detectada en el programa

El programa contiene **dos distribuciones de carga horaria que no coinciden**. Ambas suman
72 h, pero difieren módulo a módulo:

| EC | Módulo | Cronograma §21 | Tabla EC §II | Δ |
|---|---|---|---|---|
| EC1 | M1 — Fundamentos | 12 h | 13 h | **−1** |
| EC2 | M2 — OpenMP | 12 h | 16 h | **−4** |
| EC3 | M3 — MPI | 16 h | 19 h | **−3** |
| EC4 | M4 — CUDA | 12 h | 16 h | **−4** |
| EC5 | M5 — Orquestación y Cloud | 16 h | 8 h | **+8** |
| EC1–EC5 | Proyecto integrador | 4 h | — | +4 |
| | **TOTAL** | **72 h** | **72 h** | 0 |

**Observaciones:**
1. El Cronograma agrega una fila explícita para el proyecto integrador (4 h); la tabla EC
   no la tiene, lo que explica la mayor parte del desvío en EC5 (+8 h).
2. Excluyendo la fila integradora, el Cronograma reparte72 h en 5 EC mientras la tabla
   reparte 72 h en 5 EC: ambos son internamente consistentes pero **mutuamente excluyentes**.
3. EC5 es el módulo más afectado:16 h en el Cronograma frente a 8 h en la tabla. El módulo
   más pesado (EC5) vería triplicada su carga si se adopta la tabla, lo que parece
   inviable dado que también contiene toda la orquestación y cloud.

---

## 3. Criterio de desempate propuesto

**Adoptar el Cronograma §21 como calendario operativo**, por tres razones:

1. **Es el documento de planificacion**: el apartado 21 se titula "CRONOGRAMA DE EJECUCION"
   y acompana a las 18 semanas; la tabla de Elementos de Competencia del apartado II
   responde a la ponderacion y a las evidencias, no al calendario.
2. **Incluye el proyecto integrador**, que es la evidencia central de la competencia de
   la asignatura (competencia general §14) y no puede quedar sin horas asignadas.
3. **Respeta el desarrollo temático**: EC5 (orquestación, cloud, Spark, MapReduce,
   Kubernetes) requiere más horas que EC1 (fundamentos); el Cronograma lo refleja
   (16 h vs 12 h), mientras que la tabla lo contradice (8 h vs 13 h).

**Distribución adoptada para la gestión de contenidos:**

| EC | Módulo | Semanas | Horas adopting | H/semana |
|---|---|---|---|---|
| EC1 | M1 | 1–3 | 12 h | 4 h |
| EC2 | M2 | 4–6 | 12 h | 4 h |
| EC3 | M3 | 7–10 | 16 h | 4 h |
| EC4 | M4 | 11–13 | 12 h | 4 h |
| EC5 | M5 | 14–16 | 16 h | 4 h |
| EC1–EC5 | ABP integrador | transversal (hitos s2, s5, s8) | 4 h | — |
| | **TOTAL** | **18** | **72 h** | |

**Pendiente de firma:** submitting esta distribución para aprobación del Director(a) de
Carrera antes de la F2. Hasta entonces, los artefactos se generan con la distribución del
Cronograma y esta nota queda registrada.

---

## 4. Calendario semana a semana

| Sem. | EC | Módulo | Contenido (§20.x) | Actividades con el docente | Entregable autónomo |
|---|---|---|---|---|---|
| 1 | EC1 | M1 | §1.1 Evolución hardware, Ley de Moore, Escala de Dennard, multinúcleo | Clase expositiva con diapositivas comparativas | Lectura caps. 1–2 de bibliografía |
| 2 | EC1 | M1 | §1.2 Taxonomía de Flynn, SMP/NUMA; §1.4 Métricas; §1.5 Amdahl y Gustafson | Expositiva de métricas con sistemas reales; gráfica de leyes de Amdahl/Gustafson. Taller de cálculo de speedup/eficiencia; ejercicio de Amdahl | **Serie de ejercicios de métricas (entrega s2)**; investigación Ley de Moore |
| 3 | EC1 | M1 | §1.3 Fuentes de paralelismo; §1.6 Cuellos de botella; §1.7 Redes de interconexión | Expositiva de redes modernas con esquemas de topologías. Práctica de cuellos de botella; comparativa de redes | **Informe comparativo de taxonomías**; análisis de datasheets |
| 4 | EC2 | M2 | §2.1 Memoria compartida y threads; §2.2 Race conditions; §2.3 Directivas OpenMP | Expositiva de modelo de memoria con diagramas; presentación de directivas con código anotado. Taller de `schedule` | Lectura OpenMP 5.1 oficial |
| 5 | EC2 | M2 | §2.4 Scheduling; §2.5 Sincronización; §2.6 False sharing | Expositiva de sincronización y prevención de carreras. Práctica de `critical`/`reduction`; detección de false sharing | **Serie de programas OpenMP crecientes (entrega s5)**; análisis de código open source |
| 6 | EC2 | M2 | §2.7 Profiling y análisis de rendimiento | Expositiva de Intel VTune y TAU. Sesión de profiling en laboratorio; optimización iterativa supervisada | **Informe de optimización con gráficos** |
| 7 | EC3 | M3 | §3.1 Modelo de paso de mensajes; §3.2 Estándar MPI | Expositiva de paso de mensajes con ejemplos de ejecución distribuida; presentación del estándar MPI. Taller de punto a punto | Desarrollo progresivo de apps MPI |
| 8 | EC3 | M3 | §3.3 Comunicaciones bloqueantes y no bloqueantes | Expositiva de sincronía/asincronía con diagramas de timing. Práctica de colectivas con análisis de rendimiento; detección de deadlocks | Lectura MPI Standard 3.1; análisis MPICH/OpenMPI |
| 9 | EC3 | M3 | §3.6 Arquitectura de clusters; §3.7 Gestores de recursos | Expositiva de clusters y gestores. Configuración y ejecución en cluster virtualizado | **Informe de diseño de cluster** |
| 10 | EC3 | M3 | §3.5 Patrones de comunicación; §3.8 Optimización distribuida | Clase sobre colectivas y su eficiencia. Sesión de profiling y optimización en cluster | Pruebas de escalabilidad documentadas |
| 11 | EC4 | M4 | §4.1 De vectoriales a GPU; §4.2 Arquitectura CUDA | Expositiva comparativa de evolución; presentación de arquitectura CUDA con diagramas de SM y warp. Taller de kernels simples (suma, dot product) | **Serie de kernels CUDA crecientes (entrega s12)**; lectura CUDA Toolkit |
| 12 | EC4 | M4 | §4.3 SIMT y warps; §4.4 Kernels CUDA; §4.5 Transferencia host↔device | Expositiva de SIMT y cuellos de memoria. Práctica de transferencias H2D; memoria compartida en reducción paralela | Análisis de código CUDA open source (CUDNN, TensorFlow) |
| 13 | EC4 | M4 | §4.6 Optimización de memoria; §4.7 Rendimiento y ocupación; §4.8 Casos de uso | Expositiva de casos de IA y simulación. Perfiling con NVIDIA Profiler; comparativa CPU vs GPU en multiplicación de matrices | **Informe comparativo de optimización** |
| 14 | EC5 | M5 | §5.1 Slurm y Rocks; §5.2 Docker y Singularity | Expositiva de Slurm con scripts de envío; presentación de Docker para HPC. Taller de Slurm en laboratorio; imagen Docker para app paralela | Lectura de Slurm y Docker |
| 15 | EC5 | M5 | §5.3 Kubernetes; §5.5 Modelos cloud; §5.6 Proveedores | Expositiva de modelos y proveedores cloud. Práctica de despliegue en plataforma cloud | **Informe comparativo cloud** |
| 16 | EC5 | M5 | §5.4 MapReduce y Spark; §5.7 Edge computing; §5.8 Aplicaciones en contexto local | Expositiva de MapReduce y Spark; casos reales en Latinoamérica. Ejercicio de MapReduce con datos reales; análisis comparativo de opciones cloud | Investigación GIS/procesamiento geoespacial; casos de IA/ML distribuido |
| 17 | EC1–EC5 | ABP | defensa | Hito 3: cierre | **Entrega de repositorio + informe** |
| 18 | EC1–EC5 | ABP | defensa | **Defensa técnica (20 min)** | — |

---

## 5. Hitos del Proyecto Final Integrador

| Hito | Fecha | Entregable | Evidencia requerida | Ponderación |
|---|---|---|---|---|
| **Hito 1** | Fin semana 2 | Perfil técnico (1 página) | Problema regional, modelo matemático, arquitectura de clúster | Diagnóstico / formativo |
| **Hito 2** | Fin semana 5 | Revisión de avance en laboratorio | Clúster contenerizado operativo; código secuencial base ejecutándose | Diagnóstico / formativo |
| **Hito 3** | Fin semana 8 | Cierre del proyecto | Repositorio GitHub + informe PDF (Paper IEEE) + defensa oral | **Sumativo — rúbrica 100 pts** |

---

## 6. Evaluación sumativa por EC

| EC | Módulo | Pond. (§18.3) | Cuestionario escrito HTML | Rúbricas de laboratorio |
|---|---|---|---|---|
| EC1 | M1 | 13 % | `02_M1_sumativo.html` | 3 rúbricas |
| EC2 | M2 | 24 % | `04_M2_sumativo.html` | 3 rúbricas |
| EC3 | M3 | 28 % | `06_M3_sumativo.html` | 3 rúbricas |
| EC4 | M4 | 22 % | `08_M4_sumativo.html` | 3 rúbricas |
| EC5 | M5 | 13 % | `10_M5_sumativo.html` | 3 rúbricas |
| EC1–EC5 | ABP | 100 % | `11_final_integrador.html` | Rúbrica analítica de 100 pts |
| | | **100 %** | | |

---

## 7. Control de versiones de este documento

*Derivado de `programa-docente-TEL420-V2.docx` (V2, apartado 21 Cronograma de ejecucion).*
*Si el programa docente se actualiza, este calendario debe regenerarse y revisarse.*
