Abstract-Med det ständigt ökande antalet kärnor per nod i högpresterande datorsystem, ett växande antal applikationer använder trådar för att utnyttja delat minne i en nod och MPI över noder. Denna hybridprogrammeringsmodell behöver effektivt stöd för multitrådad MPI-kommunikation. I detta papper beskriver vi optimeringen av en aspekt av en multitrådad MPI implementation: samtidig åtkomst från flera trådar till olika MPI objekt, såsom kommunikatörer, datatyper, och förfrågningar. Semantiken i skapandet, användningen och förstörelsen av dessa objekt innebär, men kräver inte strikt, användning av referensräkning för att förhindra minnesläckage och för tidig förstöring av objekt. Vi visar hur en naiv multitrådad implementering av MPI-objekthantering via referensräkning medför en betydande resultatpåföljd. Vi beskriver sedan två lösningar som vi har genomfört i MPICH2 för att minska detta problem nästan helt och hållet, inklusive en som bygger på ett nytt system för insamling av sopor. I våra prestandaexperiment förbättrade detta nya system den multitrådade meddelandefrekvensen med upp till 31 % jämfört med den naiva referensräkningsmetoden.
Braell et al. visade att samtidig åtkomst från flera trådar till MPI-objekt kan vara en flaskhals vid användning av referensvärden REF och föreslog mer skalbara lösningar.
Minimizing MPI Resource Contention in Multithreaded Multicore Environments
{'venue': '2010 IEEE International Conference on Cluster Computing', 'journal': '2010 IEEE International Conference on Cluster Computing', 'mag_field_of_study': ['Computer Science']}