---
titulo: "Práctica P1c: Laboratorio de análisis de cuellos de botella y redes de interconexión"
modulo: M1
ec: EC1
contenido: "1.6, 1.7"
semanas: "3"
horas: 4
tipo: "Laboratorio de análisis"
asignatura: "Sistemas Paralelos"
sigla: TEL-420
docente: "Ing. Elias Cassal Baldiviezo"
institucion: "Universidad Autónoma Juan Misael Saracho — Facultad de Ciencias Integradas de Yacuiba / F.I.R.N.T."
---

# P1c · Laboratorio de análisis de cuellos de botella y redes de interconexión

**Contenido del programa:** §20.1 · contenidos 1.6 y 1.7  
**Horas de laboratorio:** 4 · **Modalidad:** equipos de 2 estudiantes  

---

## 1. Propósito

Analizar los factores limitantes físicos y arquitectónicos que degradan el rendimiento en sistemas paralelos reales: el **Muro de Memoria (*Memory Wall*)**, la **latencia de red** y el **ancho de banda de bisección**, comparando cuantitativamente topologías de red directas e indirectas mediante herramientas de diagnóstico del sistema operativo Linux en las computadoras del laboratorio.

---

## 2. Fundamentación teórica

### 2.1 El Muro de Memoria (Memory Wall)
Mientras la capacidad de cómputo de las CPUs creció históricamente a un ritmo de $50-60\%$ anual, el ancho de banda y la latencia de acceso a la memoria RAM principal DDR sólo mejoraron entre un $7-9\%$ anual. Por lo tanto, muchos algoritmos paralelos modernos no están limitados por la capacidad aritmética de los núcleos (*Compute-bound*), sino por la velocidad a la que el bus de memoria puede abastecer de datos a los registros (*Memory-bound*).

### 2.2 Métricas de Topologías de Red
1. **Grado del nodo ($d$):** Número de enlaces directos que inciden en cada nodo.
2. **Diámetro de la red ($D$):** Máxima distancia más corta entre cualquier par de nodos (medida en número de saltos / *hops*).
3. **Ancho de banda de bisección ($B_{bis}$):** Capacidad mínima de transferencia al cortar la red en dos mitades simétricas de igual número de nodos.

| Topología | Grado ($d$) | Diámetro ($D$) | Coste de cableado | Tolerancia a fallos |
|---|:---:|:---:|:---:|:---:|
| **Anillo (Ring)** | 2 | $\lfloor p / 2 \rfloor$ | Bajo | Baja (1 corte aísla) |
| **Malla 2D (Mesh)** | 4 | $2(\sqrt{p} - 1)$ | Moderado | Media |
| **Toro 2D (Torus)** | 4 | $\sqrt{p}$ | Moderado | Alta |
| **Hipercubo ($n$-cube)** | $\log_2 p$ | $\log_2 p$ | Alto | Muy alta |
| **Fat Tree (Árbol engrosado)** | Variable | $2 \log_k (p/2)$ | Elevado | Alta (enlaces redundantes) |

---

## 3. Procedimiento experimental en terminal

### Experimento 1: Inspección de la jerarquía de memoria caché del laboratorio
En la consola de Ubuntu Linux, inspeccionar las características físicas de la estación Dell OptiPlex 7010:

```bash
# Inspección de topología y tamaños de caché L1d, L1i, L2 y L3
lscpu | grep -E "Model name|CPU\(s\)|Thread|L1|L2|L3"

# Inspeccionar arquitectura NUMA o UMA
numactl --hardware 2>/dev/null || lscpu | grep "NUMA"
```

1. Anote el tamaño de la caché L1 de datos, L2 por núcleo y la caché compartida L3.
2. Determine qué ocurre con el tráfico del bus cuando el tamaño de los arreglos supera el tamaño de la memoria L3 compartida.

### Experimento 2: Medición de ancho de banda y latencia local de memoria
Ejecutar el test de ancho de banda de memoria STREAM (o script de copia contigua en C) variando el tamaño del vector desde 10 KB (cabe en L1), 1 MB (cabe en L2), 16 MB (cabe en L3) y 2 GB (obliga a acudir a memoria RAM física DDR).
- Registrar la caída del ancho de banda efectivo a medida que se desciende en la jerarquía piramidal de memoria.

---

## 4. Entregables

1. Tabla comparativa con las métricas medidas de ancho de banda por nivel de memoria.
2. Comparativa analítica de topologías de red respondiendo: ¿Qué topología es la más adecuada para un clúster de 16 nodos en laboratorio y cuál para un supercomputador de 10.000 nodos?
3. Evaluación según la [Rúbrica de Informe Comparativo](file:///home/eliasdev/sistemas_paralelos/10-modulos/M1-fundamentos/rubrica-informe-comparativo.md).
