SPMD

Taxonomia de Flynn
  Instrucció
Simple
Múltiples
Instruccions
Dada
Simple
SISD MISD
Múltiples
Dades
SIMD MIMD

En ciències de la computació, SPMD (acrònim de single program, multiple data, en anglès) és la tècnica més emprada per aconseguir paral·lelisme. SPMD és una subcategoria de MIMD (Multiple Instruction Stream, Multiple Data Stream).

SPMD està format per dues característiques que es poden estudiar per separat, la primera és Single Program (SP) el que determina que només es pot assignar un programa o procés a cada node que executi l'aplicació. La segona característica és Multiple Data (MD), que es refereix a la quantitat d'espai (cel·les) que es poden assignar a cada un dels nodes perquè siguin computades. El conjunt de cel·les a assignar per node depèn de l'aplicació, de la quantitat de cel·les i de l'estratègia de subdivisió per assignar-les. Finalment, obtenim que el concepte SPMD és l'assignació d'un conjunt de cel·les de còmput a cada un dels nodes, que executarà el mateix procés.[1]

Aquesta tècnica suposa que tots els processos executen el mateix codi, però les dades processades són diferents, és a dir, les tasques són dividides i executades simultàniament en els múltiples processadors disponibles amb diferents seccions de dades (entrades) amb l'objectiu de tenir resultats més ràpids.

L'estructura bàsica del SPMD és geomètrica regular amb interacció limitada espacialment. Aquesta estructura permet que les dades es distribueixin uniformement entre els processos on cadascun serà responsable de l'àrea de dades assignada del total de les dades d'entrada.[2]

SPMD acostuma a ser eficient si les dades estan ben distribuïdes en els processos, és a dir, si la càrrega de treball o la capacitat de còmput entre els diferents processos és heterogènia, llavors el paradigma necessita estratègies de load balancing (balanceig de càrrega), que permet adaptar la distribució de les dades durant l'execució.


From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne