Ir al contenido

Extensiones de PRAM (APRAM, BSP, LogP…)

El PRAM clásico idealiza: procesadores sincronizados, memoria global con acceso O(1)O(1), comunicación implícita. No representa TcomunicacioˊnT_{comunicación}, TsincronizacioˊnT_{sincronización} ni TlatenciaT_{latencia}. Cada extensión relaja un supuesto:

ModeloSupuesto que modificaExtensión
APRAM (asíncrono)sincronización globalprocesadores a velocidades distintas; sincronizan solo en dependencias (wait(flag))
Phase PRAMsincronización gratuitafases: cómputo → barrera → cómputo…; Tsync=S⋅TbarrierT_{sync}=S\cdot T_{barrier}
LPRAM (memoria local)acceso uniformeTlocal<TglobalT_{local}<T_{global}: jerarquía de memoria (cachés, NUMA, GPU)
BPRAM (bloques)acceso palabra a palabratransferencias de bloques de tamaño bb: T=α+βbT=\alpha+\beta b, α≫β\alpha\gg\beta

Supersteps: cómputo local → comunicación → barrera. Máquina (p,g,L)(p,g,L):

Tsuperstep=w⏟coˊmputo+g h⏟comunicacioˊn+L⏟sincronizacioˊnTBSP=∑sws+g∑shs+S LT_{superstep}=\underbrace{w}_{\text{cómputo}}+\underbrace{g\,h}_{\text{comunicación}}+\underbrace{L}_{\text{sincronización}}\qquad T_{BSP}=\sum_s w_s+g\sum_s h_s+S\,L

Reducción de pp valores: log⁡2p\log_2p supersteps con w=h=O(1)w=h=O(1) ⇒ Tred=log⁡p (1+g+L)T_{red}=\log p\,(1+g+L) y

TBSP=O ⁣(np+glog⁡p+Llog⁡p)T_{BSP}=O\!\left(\frac np+g\log p+L\log p\right)

(en PRAM puro era solo O(log⁡p)O(\log p): BSP hace explícito que cada nivel paga comunicación y sincronización). BSP≈BSP\approx Phase PRAM + localidad + comunicación + sincronización.

Ejecución asíncrona con costos explícitos: LL (latencia), oo (overhead de CPU al enviar/recibir), gg (gap mínimo entre envíos ⇒ ancho de banda), PP (procesadores).

TLogP=O ⁣(np+log⁡p (L+o+g))T_{LogP}=O\!\left(\frac np+\log p\,(L+o+g)\right)

(n/pn/p cómputo local, olog⁡po\log p overhead, Llog⁡pL\log p latencia, glog⁡pg\log p ancho de banda.)

BSP y LogP en una línea de tiempo

fase 0/9
P0P1P2P3superstep 1superstep 2superstep 3cómputo wcomunicación g·hbarrera Lespera por desbalance
superstep 117+2·4+6 = 31
superstep 218+2·4+6 = 32
superstep 317+2·3+6 = 29
T_BSP92
Tsuperstep=w+gh+LT_{superstep}=w+gh+L con w=max⁡iwiw=\max_i w_i y h=max⁡ihih=\max_i h_i (h-relación). TBSP=∑sws+g∑shs+S LT_{BSP}=\sum_s w_s+g\sum_s h_s+S\,L. El proceso más lento marca el paso: sube el desbalance y mira crecer la zona roja.

threads (SIMD/superescalar) → core (L1/L2) → procesador (L3) → nodo (memoria principal) → red de nodos → discos/Internet. Estrategia: modelos híbridos con pocos niveles bien definidos.

Compara LogP y BSP: ¿qué parámetro separa LogP que BSP no separa explícitamente? Escribe el costo de una reducción en ambos.

Ver solución

LogP separa el overhead de CPU oo (tiempo en que el procesador está ocupado enviando/recibiendo) de la latencia LL y del gap gg; BSP agrupa todo el costo de comunicación en g hg\,h y la sincronización en LL. Reducción: BSP O(n/p+(g+L)log⁡p)O(n/p+(g+L)\log p); LogP O(n/p+(L+o+g)log⁡p)O(n/p+(L+o+g)\log p).

Autoevaluación

0/4 correctas · 0 respondidas
1. Modelo que introduce transferencias por bloques α+βb\alpha+\beta b:
2. En BSP, LL es…
3. Costo BSP de una reducción de nn datos:
4. ¿Qué modelo reconoce que la memoria local es más barata que la global?

Fuente ·estudio/04_PRAM.md §9 · U2.3-Diseño_en_paralelo-PRAM_02.pdf