Heterogena multikärnor erbjuder flexibilitet i form av olika kärntyper och dynamisk spänning och frekvensskalning (DVFS), vilket definierar ett stort konfigurationsutrymme. Det optimala konfigurationsvalet är inte alltid enkelt, inte ens för enstaka applikationer, och blir ett mycket svårt problem för dynamiskt föränderliga scenarier för samtidiga tillämpningar med oförutsägbara lek- och terminstider och individuella prestandakrav. I denna artikel föreslås ett integrerat tillvägagångssätt för beslut om energieffektivitet i sådana system. Tillvägagångssättet består av en modell som förutsäger prestanda och makt för alla möjliga beslut och lågkomplexitet heuristik som använder denna modell för att utvärdera en delmängd av möjliga beslut för att välja det bästa. Modellen förutsäger prestanda genom att projicera fristående applikationsprofileringsdata till systemets aktuella status och effekt genom att använda en uppsättning plattformsspecifika parametrar som bestäms endast en gång för ett givet system och är oberoende av applikationsmixen. Vårt tillvägagångssätt utvärderas med en uppsjö av dynamiska, multi-application scenarier. När man överväger bästa insats prestanda för att vara tillräcklig, vår körtid uppnår i genomsnitt 3% högre energieffektivitet jämfört med powersave guvernör och 2× bättre jämfört med de andra linux guvernörer. Dessutom, när vi även överväger enskilda applikationers prestandakrav, kan vår drifttid uppfylla dem, vilket ger bort 18% av systemets energieffektivitet jämfört med powersave, som dock missar prestandamålen med 23%; samtidigt, vår drifttid bibehåller en effektivitetsfördel på cirka 55% jämfört med de andra guvernörerna, som också uppfyller prestandabegränsningarna. Författarens adresser: S. Tzilis, P. Trancoso, och I. Sourdis, CSE Department, Chalmer University of Technology, 412 96 Göteborg; e-post: {tzilis, ppedro, sourdis}@chalmers.se. Tillstånd att göra digitala eller papperskopior av hela eller delar av detta arbete för personligt bruk eller klassrum beviljas utan avgift, förutsatt att kopiorna inte görs eller distribueras för vinst eller kommersiella fördelar och att kopiorna är försedda med detta meddelande och den fullständiga hänvisningen på första sidan. Upphovsrätt till delar av detta verk som ägs av andra än upphovsmannen måste hedras. Abstraktering med kredit är tillåten. För att kopiera på annat sätt, eller återpublicera, för att posta på servrar eller för att omfördela till listor, krävs tidigare specifik behörighet och/eller avgift. Begär tillstånd från authoritys@acm.org. Snapdragon [19] processorer. De använder flera typer av kärnor (effekt-effektiv och hög prestanda), och flera spännings-frekvenspar per kluster av kärnor. På detta sätt kan de eventuellt anpassa sig till den fluktuerande systembelastningen och dess behov i körtid. Sådana variationer i körtiden beror på antalet, typen och prestandakraven för de arbetsbelastningar som körs vid varje given tidpunkt på systemet. Att anpassa systemet till dessa dynamiska förändringar kan balansera smidig tillämpning och prestanda med energieffektivitet. I detta sammanhang är det ofta inte enkelt att välja den optimala systemkonfigurationen. Köra en applikation på en effekteffektiv kärna kan förlänga genomförandet tillräckligt för att minska energieffektiviteten, samtidigt som välja en högpresterande kärna innebär motsatt risk-en ökning av energiförbrukningen uppväger prestandavinster. DVFS ökar komplexiteten i detta problem, eftersom det är oklart hur en högeffektiv kärna vid låg frekvens och en effekteffektiv kärna vid hög frekvens kan jämföras när det gäller energieffektivitet [26]. Interferens mellan program som delar systemresurser, d.v.s. minneshierarkins nivåer, gör beslutet om runtime ännu svårare. Sammanfattningsvis, dagens Chip Multiprocessors (CMPs) erbjuder stor potential för prestanda och energieffektivitet, som inte utnyttjas fullt ut på grund av svårigheten att välja optimala konfigurationer [6, 11, 13, 28]. Tidigare har utmaningen med att systembelastningen är dynamisk och oförutsägbar besvarats på följande två sätt. Vissa lösningar gör ett engångsbeslut när en händelse inträffar, t.ex. en applikation som börjar eller avslutas. De förutsäger effekten av sådana händelser med hjälp av offline-programkarakterisering i kombination med befintlig systemövervakningsinformation. Därefter väljer de en ny systemkonfiguration som syftar till att maximera energieffektiviteten, vilket kräver lite till inga korrigerande åtgärder förrän nästa händelse. Det är dock oerhört komplicerat att förutsäga hur olika tillämpningar fungerar samtidigt och konkurrera om gemensamma resurser. Detta leder till andra lösningar som undviker denna utmaning genom att följa en försöks- och terrorstrategi. De börjar med en naiv, även slumpmässig, placering av applikationer och därefter använda online övervakning för att gradvis konvergera till en mer energieffektiv systemkonfiguration, dvs. val av klusterfrekvenser och / eller tillämpning placeringar [5, 7]. Sådana metoder kan kräva lång tid för att konvergera till en tillfredsställande konfiguration och kan drabbas av dålig skalning av svarstiden när systemets storlek ökar. I detta arbete kombineras delar av båda ovan nämnda metoder. Som svar på en händelse (application leking eller terminering) är utrymmet för möjliga systemkonfigurationer delvis söks, förutsäga energieffektiviteten av olika alternativ och välja den bästa. Därefter kan detta beslut ses över när mer exakt information om systemövervakning blir tillgänglig. Vårt huvudsakliga fokus ligger dock på den första förutsägelsen och beslutssteget för att minimera behovet av efterföljande justeringar. Gradvis anpassning av systemet kan vara en långsam och kostsam process, särskilt när den ursprungligen valda konfigurationen är ineffektiv. Det är därför viktigt att det första svaret på en händelse är effektivt. De två huvudutmaningarna med detta tillvägagångssätt är i) att skapa en modell som exakt förutsäger prestanda och effekt för godtyckliga kandidatsystemkonfigurationer och ii) att utveckla en snabb och skalbar beslutsalgoritm, eftersom det inte är praktiskt att utvärdera alla möjliga konfigurationer i drifttid. I ett försök att möta dessa utmaningar ger den här artikeln följande nya bidrag:
Tzilis m.fl. REF använder profileringsdata för att förutsäga prestanda och energiförbrukning för en enkeltrådad applikation tillsammans med en annan applikation, och beslutar om applikationsplacering och frekvensinställningar.
Energy-Efficient Runtime Management of Heterogeneous Multicores using Online Projection
{'venue': 'TACO', 'journal': None, 'mag_field_of_study': ['Computer Science']}