Multicore-processorer har blivit allmänt förekommande i dagens system, men att utnyttja den parallellism de erbjuder är fortfarande svårt, särskilt för äldre tillämpningar och tillämpningar med stora seriekomponenter. Utmaningen är därför att utveckla tekniker som gör det möjligt för flera kärnor att arbeta i konsert för att accelerera en enda tråd. Detta papper beskriver inter-core prefetching, en teknik för att utnyttja flera kärnor för att påskynda en enda tråd. Intercore prefetching utökar det befintliga arbetet med hjälptrådar för SMT-maskiner till flerkärniga maskiner. Inter-core prefetching använder en beräkna tråd och en eller flera prefetching trådar. De prefetching trådar kör på kärnor som annars skulle vara sysslolös, prefetching data som den beräkna tråden kommer att behöva. Den beräkna tråden sedan migrerar mellan kärnor, följer vägen för prefetch trådar, och hittar data som redan väntar på det. Inter-core prefetching fungerar med befintlig hårdvara och befintliga instruktionsuppsättning arkitekturer. Med hjälp av en rad toppmoderna multiprocessorer karakteriserar detta dokument teknikens potentiella fördelar med mikrobenchmarks och mäter sedan dess inverkan på en rad minnesintensiva tillämpningar. Resultaten visar att inter-core prefetching förbättrar prestandan med i genomsnitt 31 till 63%, beroende på arkitekturen, och påskyndar vissa program med så mycket som 2,8×. Det visar också att det inter-core prefetching minskar energiförbrukningen med mellan 11 och 26 % i genomsnitt.
Inter-core prefetching REF lägger till trådmigreringar ovanpå hjälptråden förhämtning för att komma åt förfetchade data lokalt.
Inter-core prefetching for multicore processors using migrating helper threads
{'venue': 'ASPLOS XVI', 'journal': None, 'mag_field_of_study': ['Computer Science']}