Vés al contingut

Usuari:Daniel.AvilaG/proves

De la Viquipèdia, l'enciclopèdia lliure

En l'àmbit de la computació,  espai d'adreces global distribuït (PGAS) és un model de programació paral·lela que tracta d’aprofitar els avantatges del model de memoria distribuida amb pas de missatges i el model de memoria compartida. Es basa en la idea de la memòria compartida que s’utilitza en sistemes fortament acoplats, però aplicada als clústers de nodes, on tots els nodes tenen una visió global de tota la memòria del sistema encara que aquesta estigui dividida en particions assignades a cada node. El PGA es materialitza mitjançant APIs desenvolupades per llenguatges utilitzats en programació paral·lela com C, C++, Fortran, UPC, Titanium (extensió de Java) i Co-Array Fortran. El model de PGA suporta la comunicació one-sided, que permet que un procés pugui llegir o escriure a un espai de memòria remot sense una sincronització explícita amb la part remota, amb la intenció de millorar el rendiment.


UPC[modifica]

Unfied Parallel C (UPC) és una extensió de l’estàndard ANSI C per afegir paral·lelisme basat en el model de espai d’adreces global particionat. UPC permet accedir a la memòria global distingint l’espai remot de l’espai local. La forma de llegir i escriure a la memòria global es fa amb declaracions simples. Per exemple, quan es declara una variable seguint l’estàndard ANSI C aquesta variable residirà a l’espai local; per declarar-la a l’espai global només cal afegir a l’inici la paraula shared. La versió 1.0 de la especificació es va produir el febrer de 2001 i va ésser un esforç compartir entre govern, indústria i acadèmia. Posteriorment, al maig de 2003 es va llançar la versió 1.1. UPC va atraure l’interés de la comunitat HPC i alguns proveïdors van desenvolupar i comercialitzar compiladors compatibles. Existeixen compiladors per a les plataformes HP, SGI, Sun i Cray, que són de codi propietari; també n’hi ha implementacions de codi lliure com les que han generat la University of California Berkeley (BUPC) i la Michigan Technological University (MuPC), per arquitectures Intel entre d’altres.


#include <upc_relaxed.h>
#include <stdio.h>

void main(){
  printf(Hello World from THREAD %d (of %d THREADS)\n, MYTHREAD, THREADS);
}