För att utnyttja den fulla potentialen hos moderna chip multiprocessorer och få skalbara prestandaförbättringar, är det viktigt att minska resurs strid som skapas av multitrådade arbetsbelastningar. I den här artikeln beskriver vi ReSense, det första runtime-systemet som använder applikationsegenskaper för att dynamiskt kartlägga multitrådade applikationer från dynamiska arbetsbelastningar där multitrådade applikationer anländer, kör och avslutas kontinuerligt på oförutsägbara sätt. ReSense minskar tvistefrågan för de delade resurserna i minneshierarkin genom att tillämpa en ny algoritm för trådmappning som dynamiskt justerar kartläggningen av trådar från dynamisk arbetsbelastning med hjälp av en förberäknad känslighetspoäng. Känslighetspoängen kvantifierar ett programs känslighet för att dela en viss minnesresurs och beräknas genom en effektiv karakteriseringsprocess som innebär att köra det flertrådade programmet själv på målplattformen. För att mäta ReSenses effektivitet fastställdes känslighetspoäng för 21 riktmärken från PARSEC-2.1 och NPB-OMP-3.3 för de delade resurserna i minneshierarkin på fyra olika plattformar. Med hjälp av tre olika stora dynamiska arbetsbelastningar som består av slumpmässigt utvalda två, fyra och åtta coruning riktmärken med slumpmässigt utvalda starttider, kunde ReSense förbättra den genomsnittliga svarstiden för de tre arbetsbelastningarna med upp till 27,03%, 20,89%, och 29,34% och genomströmning med upp till 19,97%, 46,56%, respektive 29,86%, över den inhemska OS på verklig hårdvara. Genom att uppskatta och jämföra Resenses effektivitet med den optimala trådkartläggningen för två olika arbetsbelastningar fann vi att den maximala genomsnittliga skillnaden med den experimentellt fastställda optimala prestandan var 1,49 % för genomsnittlig svarstid och 2,08 % för genomströmning.
Dey och Al. I REF föreslås en dynamisk tråd-till-kärna-kartläggning för busssystem för att minska tvistefrågan om de delade resurserna i minneshierarkin.
ReSense: Mapping dynamic workloads of colocated multithreaded applications using resource sensitivity
{'venue': 'TACO', 'journal': None, 'mag_field_of_study': ['Computer Science']}