Abstrakt. Moderna datorsystem har flera homogena eller heterogena datorenheter med djupa minneshierarkier, och förväntar sig en hög grad av trådnivå parallellism från programvaran. Utnyttjande av datalokalitet är avgörande för att uppnå skalbar parallellism, men tillför en betydande dimension av komplexitet till prestandaoptimering av parallella program. Detta gäller särskilt för programmodeller där lokaliseringen är implicit och ogenomskinlig för programmerare. I detta dokument introducerar vi den hierarkiska platsträdsmodellen (HPT) som en bärbar abstraktion för uppgiftsparallalism och datarörelse. HPT-modellen stöder samlokalisering av data och beräkning på flera nivåer i en minneshierarki. Det kan ses som en generalisering av begrepp från Sequoia och X10 programmeringsmodeller, vilket resulterar i funktioner som inte stöds av heller. Jämfört med Sequoia stöder HPT tre typer av datarörelser i en minneshierarki snarare än bara explicit dataöverföring mellan intilliggande nivåer, liksom dynamisk schemaläggning av uppgifter snarare än statisk uppgiftstilldelning. Jämfört med X10 ger HPT en hierarkisk uppfattning om platser för både beräkning och datakartläggning. Vi beskriver vårt pågående arbete med att implementera HPT-modellen i kompilatorn Habanero-Java (HJ) och körtidssystemet. Preliminära resultat på universalprocessorer och GPU-acceleratorer indikerar att HPT-modellen kan vara en lovande bärbar abstraktion för framtida multicoreprocessorer.
Yan och al. abstrakt minneshierarkin med hjälp av en hierarkisk plats träd (HPT) modell REF.
Hierarchical place trees: a portable abstraction for task parallelism and data movement
{'venue': 'LCPC', 'journal': None, 'mag_field_of_study': ['Computer Science']}