Industrin har skiftat mot flerkärnig design då vi har träffat minnes- och kraftväggarna. Prestanda med en tråd är dock fortfarande av största vikt eftersom vissa tillämpningar har begränsad parallellism på trådnivå (TLP), och även en liten del med begränsad TLP medför viktiga begränsningar för den globala prestandan, vilket förklaras av Amdahls lag. I detta dokument föreslår vi ett nytt tillvägagångssätt för att utnyttja flera kärnor för att förbättra single-thread-prestanda i en flerkärnig design. Den föreslagna tekniken innehåller en uppsättning nya hårdvarumekanismer som stöder körning av trådar som genereras vid kompileringstidpunkten. Dessa trådar är resultatet av en finkornig spekulativ nedbrytning av den ursprungliga applikationen och de utförs under ett modifierat multikärnsystem som inkluderar: 1) mekanismer för att stödja flera versioner; 2) mekanismer för att upptäcka överträdelser bland trådar; 3) mekanismer för att rekonstruera den ursprungliga sekventiella ordningen; och 4) mekanismer för att kontrollera arkitektoniskt tillstånd och återhämtning för att hantera felspecifikationer. Det föreslagna systemet överträffar tidigare hårdvarubaserade system för att genomföra idén att kombinera kärnor för att utföra engångsapplikationer i en flerkärnig design med mer än 10 % i genomsnitt på Spec2006 för alla konfigurationer. Dessutom förbättras prestandan vid enkelgängning med i genomsnitt 41 % när det föreslagna systemet används på en Tiny Core och upp till 2,6x för vissa utvalda tillämpningar.
Madriles m.fl. I REF föreslås en design för att använda enkelgängade applikationer och, genom spekulativa trådar som stöds av hårdvara, stödja enkelgängad kod.
Boosting single-thread performance in multi-core systems through fine-grain multi-threading
{'venue': "ISCA '09", 'journal': None, 'mag_field_of_study': ['Computer Science']}