Kommunikation overhead är en av de dominerande faktorerna som påverkar prestanda i avancerade datorsystem. För att minska den negativa effekten av kommunikation överlappar programmerare kommunikation och beräkning genom att använda asynkron kommunikation primitiver. Detta ökar kod komplexiteten, kräver mer utvecklingsarbete och gör mindre läsbara program. I detta dokument presenteras hybridanvändningen av MPI och SMPS (SMP superscalar, en uppgiftsbaserad delad minnesprogrammeringsmodell), vilket gör det möjligt för programmeraren att enkelt införa den asynkroni som krävs för att överlappa kommunikation och beräkning. Vi beskriver också genomförandefrågor i SMPS körtid som stöder dess effektiva samverkan med MPI. Vi demonstrerar hybridanvändning av MPI/SMPS med fyra applikationskärnor (matris multiplicera, Jacobi, konjugerad lutning och NAS BT) och med det högpresterande LINPACK-riktmärket. För programkärnorna förbättrar hybridversionerna MPI/SMPSs avsevärt prestandan hos de rena MPI-motsvarigheterna. För LINPACK kommer vi nära den asymptotiska prestandan vid relativt små problemstorlekar och får ändå betydande fördelar vid stora problemstorlekar. Dessutom minskar hybridmetoden MPI/SMPSs avsevärt kod komplexiteten och är mindre känslig för nätverksbandbredd och operativsystem buller än de rena MPI-versionerna.
Genom att använda comm_thread-metoden för hybriden MPI + SMPSs-programmeringsmodellen REF, tillät upphovsmännen att utnyttja avlägsen parallellism separerade genom riktade MPI-samtal.
Overlapping communication and computation by using a hybrid MPI/SMPSs approach
{'venue': "ICS '10", 'journal': None, 'mag_field_of_study': ['Computer Science']}