Sammanfattning av denna webbsida: Vi presenterar kompilatoranalyser och optimeringar för explicit parallella program som kommunicerar via ett delat adressutrymme. Varje typ av kodrörelse på explicit parallella program kräver en ny typ av analys för att säkerställa att transaktioner som beställts på en processor inte kan observeras av en annan. Analysen, som kallas cykelanalys, baseras på arbete av Shasha och Snir och kontroller för cykler bland störande åtkomster. Vi förbättrar exaktheten i deras analys genom att använda ytterligare information från synkroniseringsanalys, som hanterar postvänta synkronisering, barriärer och lås. Vi gör också analysen ecient genom att utnyttja den gemensamma kod image egenskapen hos SPMD-program. Vi demonstrerar användningen av denna analys genom att optimera fjärråtkomst på distribuerade minnesmaskiner genom att automatiskt omvandla program skrivna i en konventionell delad minnesstil till ett Split-C-program, som har primitiver för icke-blockerande minnesoperationer och enkelriktad kommunikation. Optimeringarna inkluderar meddelanderörläggning, för att möjliggöra flera enastående fjärrminnesoperationer, omvandling av tvåvägskommunikation till envägskommunikation och eliminering av kommunikation genom vidareutnyttjande av data. Prestandaförbättringarna är så höga som 20-35% för program som körs på en CM-5 multiprocessor med hjälp av Split-C språket som ett globalt adresslager. Även större fördelar kan förväntas på maskiner med högre kommunikationslatens i förhållande till processorns hastighet.
Krishnamurthy och Yelick REF studerade kompilatoranalys och optimeringar för explicit parallella program med ett globalt adressutrymme.
Analyses and Optimizations for Shared Address Space Programs
{'venue': 'Journal of Parallel and Distributed Computing', 'journal': None, 'mag_field_of_study': ['Computer Science']}