Casos PRAM
Global OR (CRCW)
Sección titulada «Global OR (CRCW)»: cada procesador evalúa if x[i] y escribe Result ← 1. Basta que uno escriba 1 (todos escriben el mismo valor ⇒ CRCW común).
Global AND es análogo con if not x[i] → Result ← 0.
Máximo de números (CRCW)
Sección titulada «Máximo de nnn números (CRCW)»forall (i,j) ∈ {1..n}² pardo B[i,j] ← A[i] ≥ A[j]forall i ∈ {1..n} pardo M[i] ← AND_j B[i,j]Cada elemento se compara contra todos; donde el AND da 1 está el máximo. procesadores, tiempo .
Suma de números (reducción binaria)
Sección titulada «Suma de nnn números (reducción binaria)»for i=1 to n pardo B[i] ← A[i] // paso 1for h=1 to log n do for i=1 to n/2^h pardo B[i] ← B[2i-1] + B[2i] // paso 2S ← B[1] // paso 3Con es WT-óptimo. Con procesadores explícitos: cada suma localmente sus y luego participa en niveles del árbol (activo solo mientras ).
Suma de prefijos (scan)
Sección titulada «Suma de prefijos (scan)»Dada una operación asociativa : .
Suma de prefijos paso a paso (up-sweep / down-sweep)
Algoritmo no recursivo del PRAM visto en clase. Cada nodo del árbol guarda B (up-sweep) y C (down-sweep, el prefijo).
Versión recursiva
Sección titulada «Versión recursiva»if n = 1: s1 ← x1for 1 ≤ i ≤ n/2 pardo: y_i ← x_{2i-1} * x_{2i}(z_1..z_{n/2}) ← PrefixSum(y_1..y_{n/2})for 1 ≤ i ≤ n pardo: i par: s_i ← z_{i/2} i = 1: s_1 ← x_1 i impar > 1: s_i ← z_{(i-1)/2} * x_i; . Como el secuencial es : WT-óptimo; paradigma de memoria compartida (U3.5, Ej. 3).
Banco con 4 cajeros
Sección titulada «Banco con 4 cajeros»C1–C2 comparten una memoria local, C3–C4 otra; entre pares solo hay red. Cada cajero deposita/retira de una cuenta con cualquier frecuencia. ¿Paradigma? ¿Flynn? ¿Aplica CRCW?
Ver solución
- Paradigma: híbrido (memoria compartida dentro de cada par + distribuida entre pares).
- Flynn: MIMD (instrucciones distintas, datos distintos, asíncrono).
- CRCW puro no encaja bien: la escritura concurrente sobre exigiría el submodelo combinado (acumular depósitos/retiros) o serializar con exclusión mutua; además CRCW supone pasos síncronos y el banco es asíncrono ⇒ se modela mejor con APRAM.
Autoevaluación
0/4 correctas · 0 respondidasFuente ·estudio/04_PRAM.md §6–8 · U2.2/U2.3 PRAM (apuntes) · U3.5 Ejercicios de repaso.pdf (Ej. 3)