Heterogenous computing kombinerar allmänna ändamål processorer med acceleratorer för att effektivt utföra både sekventiell kontroll-intensiva och data-parallell faser av applikationer. Befintliga programmeringsmodeller för heterogen databehandling är beroende av programmerare för att explicit hantera dataöverföringar mellan CPU-systemets minne och acceleratorminnet. Detta dokument presenterar en ny programmeringsmodell för heterogen databehandling, kallad Asymmetric Distribuated Shared Memory (ADM), som upprätthåller ett delat logiskt minne utrymme för processorer att komma åt objekt i accelerator fysiska minnet men inte vice versa. Asymmetrin tillåter lätta implementationer som undviker vanliga fallgropar av symmetriska distribuerade delade minnessystem. ADSM gör det möjligt för programmerare att tilldela dataobjekt till prestandakritiska metoder. När en metod väljs för accelerator exekvering, dess tillhörande dataobjekt fördelas inom den delade logiska minne utrymme, som är värd i accelerator fysiska minnet och öppet tillgänglig genom de metoder som utförs på processorer. Vi hävdar att ADSM minskar programarbetet för heterogena datorsystem och förbättrar applikationsportabiliteten. Vi presenterar en programvaruimplementering av ADSM, som kallas GMAC, ovanpå CUDA i en GNU/Linux-miljö. Vi visar att applikationer skrivna i ADSM och körs på toppen av GMAC uppnå prestanda jämförbar med sina motsvarigheter med hjälp av programmerade dataöverföringar. I detta dokument presenteras GMAC-systemet och utvärderas olika designval. Vi föreslår ytterligare arkitektoniskt stöd som sannolikt kommer att göra det möjligt för GMAC att uppnå högre applikationsprestanda än den nuvarande CUDA-modellen.
ADSM REF tillhandahåller en datacentrerad programmeringsmodell som visar ett delat adressutrymme mellan processorer och acceleratorer.
An asymmetric distributed shared memory model for heterogeneous parallel systems
{'venue': 'ASPLOS XV', 'journal': None, 'mag_field_of_study': ['Computer Science']}