Abstract-Vi presenterar CLEAR (Cross-Layer Exploration for Architecting Resilience), ett första av sitt slag ramverk som övervinner en stor utmaning i designen av digitala system som är motståndskraftiga mot tillförlitlighetsfel: uppnå önskade resilience mål till minimala kostnader (energi, kraft, utförande tid, område) genom att kombinera motståndskraft tekniker över olika lager av system stacken (krets, logik, arkitektur, programvara, algoritm). Detta kallas också cross-layer resilience. I den här artikeln fokuserar vi på strålningsinducerade mjuka fel i processorkärnor. Vi tar upp både enstaka händelser (SEU) och enstaka händelser flera störningar (SEMU) i markmiljöer. Vårt ramverk utforskar automatiskt och systematiskt det stora utrymmet för omfattande motståndskraftstekniker och deras kombinationer över olika lager i systemstacken (586 korsskiktskombinationer i detta papper), tar fram kostnadseffektiva lösningar som uppnår motståndskraftsmålen till minsta möjliga kostnad och ger riktlinjer för utformningen av nya motståndskraftstekniker. Vi visar hur praktiskt och effektivt vårt ramverk är med hjälp av två olika konstruktioner: en enkel, i ordning processorkärna och en komplex processorkärna. Våra resultat visar att en noggrant optimerad kombination av härdning på kretsnivå, logik-nivå paritetskontroll och mikro-architectural återställning ger en mycket kostnadseffektiv mjuk feltålighetslösning för processorkärnor för allmänna ändamål. Till exempel, en 50× förbättring av tyst data korruptionen uppnås på endast 2,1% energikostnad för en out-of-order kärna (6,1% för en i-order kärna) utan hastighetspåverkan. Emellertid (application-aware) selektiv krets-nivå härdning ensam, vägledd av en grundlig analys av effekterna av mjuka fel på application riktmärken, ger en kostnadseffektiv mjuk feltålighet lösning samt (med ~1% extra energikostnad för en 50× förbättring av tyst data korruptionsfrekvens). Index Terms-Cross-lager motståndskraft; mjuka fel I. INLEDNING HANS papper tar upp utmaningen mellan lagers motståndskraft för att utforma robusta digitala system: med tanke på en uppsättning av motståndskraftstekniker på olika abstraktionsskikt (krets, logik, arkitektur, programvara, algoritm), hur skyddar man en given design från strålningsinducerade mjuka fel med (kanske) en kombination av dessa tekniker, över flera abstraktionsskikt, så att övergripande mjuka felresistansmål uppnås till minimala kostnader (energi, effekt, utförandetid, område)? Specifika mål för mjuk feltålighet som tas upp i detta dokument är: Tyst datakorruption (SDC), där ett fel gör att systemet ger ett felaktigt resultat utan felindikering; och, Upptäckt men ej korrigerat fel (DUE), Denna forskning stöds delvis av DARPA, DTRA, NSF och SRC. De åsikter som uttryckts är författarnas och återspeglar inte försvarsdepartementets eller den amerikanska regeringens officiella politik eller ståndpunkt. E. Cheng, S. Mirkhani, och S. Mitra är med Stanford University (e-post: eccheng@ stanford.edu). H. Cho är från Hongik University. Om ett fel upptäcks (t.ex. genom en motståndskraftsteknik eller en systemkrasch eller hängning) men inte återvinns automatiskt utan användarens ingripande. Behovet av motståndskraft mellan lager, där flera felresistanstekniker från olika lager i systemstacken samarbetar för att uppnå kostnadseffektiv felresiliens, uttrycks i flera publikationer (t.ex., [1], [2], [3], [4], [5], [6], [7] ). Det finns många publikationer om feltålighet tekniker, varav många spänner över flera abstraktion lager. Dessa publikationer beskriver främst specifika genomföranden. Exempel är strukturell integritetskontroll [8] och dess derivat (främst spännande arkitektur- och programvaruskikt) eller kombinerad användning av härdning av kretsen, feldetektering (t.ex. med hjälp av logiska paritetskontroll- och restkoder) och instructionlevel retry [9], [10], [11] (spannkrets, logik och arkitekturlager). Implementeringar av motståndskraft över lager i kommersiella system baseras ofta på "designer experience" eller "historisk praxis". Det finns ingen övergripande ram för att systematiskt ta itu med problemet med motståndskraft mellan lager. Det är svårt att skapa en sådan ram. Det måste omfatta hela konstruktionsflödet end-to-end, från omfattande och grundlig analys av olika kombinationer av feltålighetstekniker hela vägen till layout-nivå implementationer, så att man (automatiskt) kan bestämma vilken motståndskraftsteknik eller kombination av tekniker (antingen vid samma abstraktionsskikt eller mellan olika abstraktionsskikt) som ska väljas. En sådan ram är nödvändig för att besvara viktiga frågor om motståndskraft mellan lager såsom: 1) Är motståndskraft mellan lager den bästa metoden för att uppnå ett givet motståndskraftsmål till låga kostnader? 2) Är alla cross-layer-lösningar lika kostnadseffektiva? Om inte, vilka cross-layer lösningar är bäst? 3) Hur ändras mellanlagerval beroende på energi på applikationsnivå, latens och områdesbegränsningar? 4) Hur kan man skapa en flerskiktslösning som är kostnadseffektiv över en mängd olika arbetsbelastningar? 5) Finns det allmänna riktlinjer för att nya feltålighetstekniker ska vara kostnadseffektiva? Vi presenterar CLEAR (Cross-Layer Exploration for Architecting Resilience), ett första av sitt slag ramverk, som tar itu med utmaningen mellan lager mot motståndskraft. I detta dokument fokuserar vi på användningen av CLEAR för strålningsinducerade mjuka fel 1 i markmiljöer. Även om den mjuka felfrekvensen hos en SRAM-cell eller en flip-flop förblir ungefär konstant eller till och med minskar under teknikgenerationer, ökar systemnivå mjuk felfrekvens med ökad integration [12], [13], [14], [15]. Dessutom kan mjuka felfrekvenser öka när lägre matningsspänningar används för att förbättra energieffektivitet [16], [17]. Vi fokuserar på flip-flop mjuka fel eftersom designtekniker för att skydda dem i allmänhet är dyra. Kodning tekniker används rutinmässigt för att skydda on-chip minnen. Kombinationslogik kretsar är betydligt mindre känsliga för mjuka fel och utgör inte en oro [18], [14]. Vi tar upp både enstaka händelser störningar 1 Andra felkällor (spänningsbuller och krets-aging) kan införlivas i CLEAR, men är inte fokus i detta papper. Eric Cheng, studentmedlem, IEEE, Shahrzad Mirkhani, medlem, IEEE, Lukasz G. Szafaryn, Chen-Yong Cher, Senior Member, IEEE, Hyungmin Cho, Kevin Skadron, Fellow, IEEE, Mircea R. Stan, Fellow, IEEE, Klas Lilja, Member, IEEE, Jacob A. Abraham, Fellow, IEEE, Pradip Bose, Fellow, IEEE, och Subhasish Mitra, Fellow, IEEE Tolerating Soft Errors in Processor Cores Using CLEAR (Cross-Layer Exploration for Architecting Resilience) T 2 (SEU) och enskilda händelser flera upprörda (SEMUs) [19], [17]. CLEAR kan hantera mjuka fel i olika digitala komponenter i en komplex System-on-a-Chip (inklusive okärniga komponenter [20] och hårdvaruacceleratorer), men en detaljerad analys av mjuka fel i alla dessa komponenter ligger utanför räckvidden för detta papper. Därför fokuserar vi på mjuka fel i processorkärnor. För att visa hur effektivt och praktiskt CLEAR är utforskar vi 586 korsskiktskombinationer med hjälp av tio representativa feldetekterings-/korrigeringsmetoder och fyra metoder för att återvinna maskinvarufel. Dessa tekniker spänner över olika lager av system stacken: krets, logik, arkitektur, programvara och algoritm (Fig. 1 )............................................................................................................... Vår omfattande cross-layer prospektering omfattar över 9 miljoner flip-flop mjuka fel injektioner i två olika processorkärna arkitekturer (Tabell I): en enkel i-order SPARC Leon3 kärna (InO-core) och en komplex super-skalar out-of-order Alpha IVM kärna (OoOcore), över 18 riktmärken: SPECINT2000 [21] och DARPA PERFECT [22]. En sådan omfattande undersökning gör det möjligt för oss att på ett avgörande sätt besvara frågorna om motståndskraft mellan lager: 1) För ett brett spektrum av feltålighetsmål kan optimerade korsskiktskombinationer ge lågkostnadslösningar för mjuka fel. 2) Alla gränsöverskridande lösningar är inte kostnadseffektiva. a) För processorkärnor för allmänna ändamål ger en noggrant optimerad kombination av selektiv härdning på kretsnivå, logik-nivå paritetskontroll och mikroarkitektural återhämtning en mycket effektiv lösning för motståndskraft mellan lager. Till exempel en 50× SDC förbättring (definierad i Sec. II.A) uppnås på 2,1 % respektive 6,1 % energikostnader för OoO- och InOcores. Användningen av selektiv härdning på kretsnivå och logisk paritetskontroll styrs av en grundlig analys av effekterna av mjuka fel på tillämpningsriktmärken. b) När applikationsutrymmet kan begränsas till matrisoperationer, kan en kombination av algoritmbaserad feltoleranskorrigering (ABFT), selektiv härdning på kretsnivå, logiknivå paritetskontroll och mikroarkitektmässig återhämtning vara mycket effektiv. Till exempel, en 50× SDC förbättring uppnås vid 1,9% och 3,1% energikostnader för OoO och InO-kärnor, respektive. Men detta tillvägagångssätt kanske inte är praktiskt för processorkärnor för allmänna ändamål som är inriktade på allmänna tillämpningar. c) (Application-aware) selektiv härdning på kretsnivå, ledd av en grundlig analys av effekterna av mjuka fel på tillämpningsriktmärken, ger en mycket effektiv strategi för mjuk feltålighet. Till exempel, en 50× SDC förbättring uppnås på 3,1% och 7,3% energikostnader för OoO-och InO-kärnor, respektive. 3) Ovanstående slutsatser om kostnadseffektiva metoder för motståndskraft mot mjuka fel innehåller till stor del olika tillämpningsegenskaper (t.ex. latensbegränsningar trots fel i mjuka realtidstillämpningar). 4) Selektiva härdningsmetoder på kretsnivå (och logisk paritetskontroll) vägleds av en analys av effekterna av mjuka fel på tillämpningsriktmärken. Därför måste man ta itu med problemet med potentiell obalans mellan tillämpningsriktmärken och tillämpningar inom området, särskilt när man inriktar sig på hög grad av motståndskraft (t.ex. 10× eller mer SDC-förbättring). Vi övervinner denna utmaning med hjälp av olika smaker av krets-nivå härdning tekniker (detaljer i Sec. IV) och förordning (EEG) nr 4064/89 (nedan kallad förordning (EEG) nr 4064/89). 5) Kostnadseffektiva metoder för motståndskraft som diskuteras ovan ger gränser som nya metoder för mjuk feltålighet måste uppnå för att vara konkurrenskraftiga. Det är dock viktigt att fördelarna och kostnaderna med nya tekniker utvärderas grundligt och korrekt innan de offentliggörs. Detta dokument utvidgar arbetet som publiceras i [23] av: 1) Tillhandahålla en fördjupad analys av befintliga metoder för upptäckt och korrigering av mjuka fel för att identifiera grunden för dolda kostnader, identifiera de specifika fel och flip-flop platser som omfattas, och förstå design intractacies som påverkar kostnad och tillförlitlighet förbättring för varje teknik. 2) Detaljerade resultat som tidigare utelämnats för rymdbegränsningar för att förstärka vår slutsats att många befintliga motståndskraftstekniker inte genererar kostnadseffektiva tvärskiktslösningar eftersom betydande förstärkning, med hjälp av krets- och logik-nivå tekniker, krävs oavsett. 3) Med tanke på begränsningarna och effektivitetsförlusterna (kostnads- och motståndskraftsförbättringar) för lösningar över lager vid arbete med fast hårdvara (t.ex. omodifierade konstruktioner som tillhandahålls av en uppströmsleverantör, kommersiella off-the-shälf-produkter eller befintliga plattformar på uppdrag av en kund). Bilda. 1 ger en översikt över CLEAR-ramverket. De enskilda delarna av ramverket diskuteras nedan. Andra stycket ska ersättas med följande: CLEAR FRAMEWORK CLEAR är inte bara ett felfrekvensprojiceringsverktyg, utan tillförlitlighetsanalys är snarare en del av det övergripande ramverket. Vi använder flip-flop mjuka felinjektioner för tillförlitlighetsanalys med avseende på strålningsinducerade mjuka fel. Detta beror på att strålning testresultat bekräftar att injektion av enstaka bit-flipps i flip-flops nära modellerar mjuka fel beteenden i verkliga system [24], [25]. Dessutom är flip-flop-nivå felinjektion avgörande eftersom naiva high-level felinjektioner kan vara mycket felaktiga [26]. För enskilda flip-flops manifesteras både SEU:er och SEMU:er (dvs. multi-node-brott inom en flip-flop) som enstaka fel. Baserat på uppmätta sannolikheter för multi- 3 cell störningar i SRAM cell matriser, kan man dra slutsatsen att sannolikheten för en SEMU orsakar multi-bit störningar över flera flip-flops är mycket mindre än 1% av singel-bit upprörd sannolikhet [14], [15]. Oavsett, vår SEMU-toleranta kretshärdning och våra layoutimplementeringar säkerställer att baslinje och motståndskraftig design fullt ut överväger effekten av SEMUs. Vi injicerade över 9 miljoner flip-flop mjuka fel i RTL av processorn designar med tre BEE3 FPGA emuleringssystem och även använda mixed-mode simuleringar på Stampede superdator (TACC vid University of Texas i Austin) (liknar [26] Med hjälp av ovanstående resultat, alla fel som resulterar i OMM orsakar SDC (dvs, en SDC-orsakande fel). Eventuella fel som resulterar i UT, Hang eller ED orsakar DUE (dvs. ett DUE-causing fel). Observera att det inte finns några ED-resultat om ingen feldetekteringsteknik används. Motståndskraften hos en skyddad (ny) design jämfört med en oskyddad (ursprunglig, basal) design kan definieras i termer av SDC-förbättring (Eq. 1a) eller DUE-förbättring (ekv. 1b) Om svaret är ja, ange följande i bruksanvisningen till tillsatsen och förblandningarna: Känsligheten hos flip-flops för mjuka fel antas vara enhetlig över alla flip-flops i designen (men denna parameter är justerbar i vårt ramverk). Resiliens tekniker som ökar exekveringstiden för en applikation eller lägga till ytterligare hårdvara ökar också känsligheten för designen för mjuk-terrors. För att korrekt redogöra för denna situation, beräknar vi, baserat på [32], en korrigeringsfaktor γ (där γ ≥ 1), som tillämpas för att säkerställa en rättvis och korrekt jämförelse för alla tekniker 3. Ta till exempel monitorn kärnteknik; i vårt genomförande, ökar det antalet flip-flops i en motståndskraftig OoO-kärna med 38%. Dessa extra flip-flops blir ytterligare platser för mjuka fel att uppstå. Detta resulterar i en γ-korrigering på 1,38 för att ta hänsyn till den ökade mjuka felkänsligheten hos konstruktionen. Tekniker som ökar verkställighetstiden har en liknande inverkan. Till exempel drabbas CFCSS av en effekt på 40,6 % av genomförandetiden; en motsvarande γ-korrigering på 1,41. En teknik som DFC, som ökar flip-flop räkning (20%) och utförandetid (6,2%), skulle behöva en γ korrigering på 1,28 2 11 SPEC / 7 PERFECT riktmärken för InO-kärnor och 8 SPEC / 3 PERFECT för OoO-kärnor (missande riktmärken innehåller flyttal instruktioner som inte kan köras med OoO-core RTL-modellen). 3 Forskningslitteratur anses allmänt γ=1. Vi rapporterar resultat med hjälp av sanna γ-värden, men våra slutsatser håller för γ=1 också (den senare är optimistisk). (1.2×1.062) eftersom effekten är multiplikativ (ökat flipflop-antal under en ökad duration). γ-korrigeringsfaktorn gör det möjligt för oss att redogöra för dessa ökade känsligheter för rättvisa och korrekta jämförelser av alla motståndskraftstekniker som beaktas [32]. SDC- och DUE-förbättringar med γ=1 kan beräknas bakåt genom att multiplicera det rapporterade γ-värdet i tabell III och ändrar inte våra slutsatser. (1a) (1b) Rapportering av SDC- och DUE-förbättringar gör att våra resultat kan vara agnostiska mot absoluta felfrekvenser (vi analyserar beteendet på systemnivå med ett mjukt fel). Detta ger en konstruktör flexibiliteten att rikta den relativa förbättring som behövs för att uppnå en felfrekvens för hans eller hennes specifika tillämpning och teknik. Även om vi har beskrivit användningen av felinjektionsdriven tillförlitlighetsanalys, den modulära karaktären hos CLEAR tillåter oss att byta i andra metoder som är lämpliga (t.ex., vår felinjektionsanalys kan ersättas med tekniker som [33], när de väl har validerats korrekt). Som visas i tabell II, över vår uppsättning av applikationer, inte alla flip-flops kommer att ha fel som resulterar i SDC eller DUE (fel i 19% av flip-flops i InO-kärnan och 39% av flip-flops i OoO-kärnan försvinner alltid oavsett ansökan). De logiska konstruktionsstrukturerna (t.ex. lägsta RTL-komponent på hierarkisk nivå) dessa flip-flops tillhör listas i [34]. Detta fenomen har dokumenterats i litteraturen [35] och beror på att fel som påverkar vissa strukturer (t.ex. har ingen effekt på programmets utförande eller korrekthet. Dessutom innebär detta att motståndskraftsteknik normalt inte skulle behöva tillämpas på dessa flip-flops. Men för fullständighetens skull rapporterar vi också konstruktionspunkter som skulle uppnå största möjliga förbättring, där motståndskraft läggs till varje enskild flip-flop (inklusive de med fel som alltid försvinner). Denna maximala förbättringspunkt ger en övre gräns för kostnad (med tanke på möjligheten att för en framtida ansökan, en flip-flop som för närvarande har fel som alltid försvinner kan stöta på ett SDC- eller DUE-kausing fel). Feldetektion Latency (tiden som förflutit från när ett fel uppstår i processorn till när en motståndskraftsteknik upptäcker felet) är också en viktig aspekt att beakta. Ett pålitligt system i end-to-end måste inte bara upptäcka fel, utan också återhämta sig från dessa upptäckta fel. Lång upptäckt latens påverkar den mängd beräkning som behöver återvinnas och kan också begränsa de typer av återvinning som kan återställa det upptäckta felet (Sec. Avsnitt II.D. Genomförandetid uppskattas med hjälp av FPGA-emulering och RTL-simulering. Applikationer körs tills de är klara för att korrekt fånga tiden för utförande av en oskyddad design. Vi rapporterar också felfri exekveringstid i samband med motståndskraftsteknik på arkitektur-, programvaru- och algoritmnivå. För motståndskraftstekniker på krets- och logiknivå upprätthåller vår designmetodik samma klockhastighet som den oskyddade designen. Vi [41]............................................................... LEAP-ctrl flip-flop är en speciell design som kan fungera i motståndskraftiga (hög resiliens, hög effekt) och ekonomiska (låg resiliens, låg effekt) lägen. Det är användbart i situationer där en programvara eller algoritmteknik bara ger skydd när du kör specifika applikationer och därmed selektivt möjliggör låg hårdvaruresiliens när de tidigare teknikerna inte finns tillgängliga kan vara fördelaktigt. Även om en mängd härdade flip-flops finns i litteraturen och kan användas i vårt ramverk (se Ytterligare tekniker), LEAP valdes som en fallstudie på grund av de omfattande karakteriseringsdata som finns tillgängliga. Medan feldetektion Sekventiell (EDS) [42], [43] ursprungligen utformats för att upptäcka timing fel, kan det användas för att upptäcka flip-flop mjuka fel också. EDS ådrar sig mindre omkostnader på individuell flip-flop-nivå jämfört med LEAP-DICE, till exempel, EDS kräver fördröjningsbuffertar för att säkerställa minsta hållbegränsningar, aggregering och routing av feldetekteringssignaler till en utgång (eller återhämtningsmodul), och en återhämtningsmekanism för att korrigera upptäckta fel. Dessa faktorer kan avsevärt öka de totala kostnaderna för att genomföra en motståndskraftig design som använder EDS (Tabell XVI). Logik: Parity kontroll ger feldetektering genom att kontrollera 5 flip-flop ingångar och utgångar [44]. Vår design heuristik minskar kostnaden för paritet samtidigt som den säkerställer att klockfrekvensen upprätthålls som i den ursprungliga designen (genom att variera antalet flip-flops kontrolleras tillsammans, gruppera flip-flops genom timing slack, pipelining paritet checker logik, etc.) Naïve implementeringar av paritetskontroll kan annars försämra designfrekvensen med upp till 200 MHz (20 %) eller öka energikostnaden med 80 % på InO-kärnan. Vi minimerar SEMUs genom layouter som säkerställer ett minsta avstånd (storleken på en flipflop) mellan flip-flops kontrolleras av samma paritetskontroll. Detta säkerställer att endast en flip-flop, i en grupp flip-flops kontrolleras av samma paritetskontroll, kommer att stöta på en upprörd på grund av en enda strejk i vår 28nm-teknik i markmiljöer [45]. Även om en enda strejk kan påverka flera flip-flops, eftersom dessa flip-flops kontrolleras av olika kontroller, kommer störningarna att upptäckas. Eftersom detta absoluta minsta avstånd kommer att förbli konstant, kommer det relativa avstånd som krävs mellan flip-flops att öka vid mindre tekniknoder, vilket kan förvärra svårigheten att genomföra. Minsta avstånd upprätthålls genom att konstruktionsbegränsningar tillämpas under layoutstadiet. Denna begränsning är viktig eftersom även i stora konstruktioner, flip-flops fortfarande tenderar att placeras mycket nära varandra. Tabell V visar fördelningen av avstånd som varje flip-flop har till sin nästa närmaste granne i en baslinjedesign (detta motsvarar inte avståndet mellan flip-flops kontrolleras av samma logiska paritetskontroll). Som visat är majoriteten av flip-flops faktiskt placerade så att de skulle vara mottagliga för en SEMU. Efter att ha tillämpat paritetskontroll ser vi att ingen flipflop, inom en grupp som kontrolleras av samma paritetskontroll, placeras så att den kommer att vara sårbar för en SEMU (tabell VI). Logikparitet genomförs med hjälp av en XOR-trädbaserad prediktor och kontroll, som upptäcker flip-flops mjuka fel. Detta genomförande skiljer sig från logik paritetsförutsägelse, som också riktar fel inuti kombinationslogiken [46]. XOR-trädlogisk paritet är tillräcklig för att upptäcka flip-flop mjuka fel (med minsta tillåtna avståndsbegränsning). "Piplinering" i prediktorträdet (Fig. 2 ) kan krävas för att säkerställa 0 % klockperiod påverkan. Vi utvärderade följande heuristik för att bilda paritetsgrupper (de specifika flip-flops som kontrolleras tillsammans) för att minimera kostnaden för paritet (kostnadsjämförelser i tabell VII När opipelined paritet kan användas, är det bättre att använda större grupper (t.ex. 32-bitars grupper) för att amortera ytterligare prediktor/checker logik till antalet flipflops skyddade. Men när rörledning paritet krävs, fann vi 16-bitars grupper som ett bra alternativ. Detta beror på att mer än 16-bitars, ytterligare rörledning flip-flops börjar dominera kostnaderna. Dessa faktorer har drivit vårt genomförande av de tidigare beskrivna heuristikerna. Arkitektur: Vår implementering av Data Flow Checking (DFC), som kontrollerar statiska dataflödesgrafer, inkluderar Control Flow Checking (CFC), som kontrollerar statiska kontrollflödesgrafer. Denna kombinationskontroll liknar den av [47], som också liknar kontroll i [8]. Kompilatoroptimering bäddar in de statiska signaturer som krävs av kontrollanterna i oanvända fördröjningar i programvaran, vilket minskar exekveringstiden overhead med 13%. Tabell VIII hjälper till att förklara varför DFC inte kan ge en hög SDC- och DUE-förbättring. Av flip-flops som har fel som resulterar i SDC och DUES (Sec. II.A), DFC-kontroller upptäcker SDC och DUE i mindre än 68 % av dessa flip-flops (dessa 68 % av flip-flops distribueras över alla rörledningssteg). För dessa 68 % av flip-flops, i genomsnitt, DFC upptäcker mindre än 40 % av de fel som resulterar i SDC eller DUES. Detta beror på att inte alla fel som resulterar i en SDC eller DUE kommer att korrumpera dataflödes- eller kontrollflödessignaturer som kontrolleras av tekniken (t.ex. registerinnehåll korrumperas och skrivs ut till en fil, men de utförda instruktionerna förblir oförändrade). Kombinationen av dessa faktorer innebär att DFC endast detekterar ca 30 % av SDC eller DUE. Tekniken ger därför låg resiliensförbättring. Dessa resultat är förenliga med tidigare publicerade data (detektion av ~16% av icke-försvann fel) om effektiviteten hos DFC-kontroller i enkla kärnor [47]. Övervakningskärnor är kontrollkärnor som validerar instruktioner utförda av huvudkärnan (t.ex. [48], [8] ). Vi analyserar monitor kärnor liknande [48]. För InO-kärnor är storleken på monitorkärnan i samma ordning som huvudkärnan, och därmed exkluderad från vår studie. För OoO-kärnor kan den enklare monitorkärnan ha lägre genomströmning jämfört med huvudkärnan och därmed fördröja huvudkärnan. Vi bekräftar (via IPC uppskattning) att vår övervakning centrala genomförandet är tillräckligt för att köra den nödvändiga kontrollverksamheten utan att fördröja huvudkärnan (Tabell IX). Programvara: Software påståenden för allmänna ändamål processorer 13 kontrollera program variabler för att upptäcka fel. Vi kombinerar påståenden från [49], [50] för att kontrollera både data och kontrollvariabler för att maximera feltäckningen. Kontroller av datavariabler (t.ex. slutresultat) läggs till via kompilatortransformationer med hjälp av utbildningsingångar för att bestämma det giltiga intervallet av värden för dessa variabler (t.ex. troliga programinvarianter). Eftersom sådana bekräftande kontroller läggs till baserat på utbildningsinsatser, är det möjligt att stöta på falska positiva, där ett fel rapporteras i en felfri körning. Vi har fastställt denna falska positiva hastighet genom att utbilda påståendena med hjälp av representativa indata. Vi utför dock en slutlig analys genom att införliva indata som används under utvärderingen i utbildningssteget för att ge tekniken bästa möjliga nytta och för att eliminera förekomsten av falska positiva. Kontroller av kontrollvariabler (t.ex. loopindex, stackpekare, arrayadress) bestäms med hjälp av applikationsprofilering och läggs till manuellt i monteringskoden. I tabell X fördelar vi bidraget till kostnad, förbättring och falska positiva resultat till följd av påståenden som kontrollerar datavariabler [50] jämfört med de som kontrollerar kontrollvariabler [49]. Tabell XI visar vikten av att utvärdera motståndskraftsteknik med hjälp av exakt felinsprutning (förklaras i [26] ). Beroende på vilken typ av felinjektionsmodell som används kan SDC-förbättringen överskattas för ett referensvärde och underskattas för ett annat. Till exempel, med hjälp av felaktig arkitektur register felinsprutning (regU), skulle man ledas att tro att programpåståenden ger 3× SDC förbättring än de gör i verkligheten (t.ex., när utvärderas med hjälp av flip-flop-nivå felinjicering). För att identifiera källorna till inkorrekthet mellan de faktiska förbättringsfrekvenser som bestämdes med hjälp av korrekt flip-flop-nivå felinjektion jämfört med de som publicerades i litteraturen, genomförde vi felinjektionskampanjer vid andra 13 Samma applikationer som studerades i [49]. Abstractionsnivåerna (arkivregistret och programvariabeln). Men inte ens då kunde vi exakt återge tidigare publicerade förbättringstal. Några ytterligare skillnader i vår arkitektur och programvariabel injektionsmetod jämfört med den publicerade metoden kan förklara denna diskrepans: 1) Vårt arkitekturregister och programvariabla utvärderingar genomfördes på en SPARCv8 i ordning design snarare än en SPARCv9 out-of-order design. 2) Vårt arkitekturregister och programvariabel metod injicerar fel enhetligt i alla programinstruktioner medan tidigare publikationer endast injicerar i heltalsinstruktioner för flyttal-riktmärken. 3) Vårt arkitekturregister och programvariabel metod injicerar fel enhetligt över hela applikationen snarare än att injicera endast i kärnan av applikationen under beräkning. 4) Eftersom vårt arkitekturregister och vår programvariabla metod injicerar fel på ett enhetligt sätt i alla möjliga felkandidater (t.ex. alla cykler och mål), täcker den beräknade förbättringen hela konstruktionen. Tidigare publikationer beräknade förbättring över den begränsade delmängd av felkandidater (av alla möjliga felkandidater) som injicerades i och därmed endast omfattar en delmängd av konstruktionen. Kontroll Flow Checking by Software Signatures (CFCSS) kontrollerar statiska kontrollflöde grafer och genomförs via kompilator modifiering liknande [51]. Vi kan analysera CFCSS ytterligare i detalj för att få djupare förståelse för varför förbättring för tekniken är relativt låg (Tabell XII). Jämfört med DFC (en teknik med ett liknande koncept) ser vi att CFCSS erbjuder något bättre SDC-förbättring. Eftersom CFCSS endast kontrollerar kontrollflödessignaturer kommer dock många SDC:er fortfarande att fly (t.ex. blir resultatet av ett tillägg korrumperat och skrivet i filen). Dessutom kommer vissa DUES, såsom de som kan orsaka en programkrasch, inte att upptäckas av CFCSS, eller andra mjukvarutekniker, eftersom utförandet kan avbryta innan en motsvarande programkontroll kan utlösas. Den relativt låga förbättringen av motståndskraften hos CFCSS har bekräftats även i faktiska system [52]. Feldetektion av Duplicerade Instruktioner (EDDI) ger instruktioner redundant utförande via kompilator modifiering [53]. Vi använder EDDI med butiksåterkoppling [54] för att maximera täckningen genom att se till att värdena skrivs korrekt. Från tabell XIII är det tydligt varför butiksåterkoppling är viktigt för EDDI. För att uppnå höga SDC-förbättringar måste nästan alla SDC-fel som orsakar fel upptäckas. Genom att upptäcka ytterligare 12 % av SDC ökar lagerreadback SDC-förbättringen av EDDI i storleksordningen. Praktiskt taget alla förrymda SDC fångas genom att se till att värdena som skrivs till utdata verkligen är korrekta (genom att läsa tillbaka det skriftliga värdet). Med tanke på att vissa SDC- eller DUE-orsakande fel fortfarande inte upptäcks av tekniken, visar resultaten att med hjälp av naiva högnivå [60]. Även om ABFT-korrigeringsalgoritmer endast kan användas för detektion (med minimalt minskad impact vid exekveringstid), kan ABFT-algoritmer för detektion inte användas för korrigering. Det finns ofta en stor skillnad mellan ABFT-algoritmernas genomförandetid beroende på hur komplex kontrollberäkningen är. En ABFT-korrigeringsteknik för t.ex. matrisinre produkt kräver enkla modulära kontrollsummor (t.ex. som genereras genom att lägga till alla element i en matrisrad) -en billig beräkning. Å andra sidan kräver ABFT-detektering för till exempel FFT dyra beräkningar med hjälp av Parsevals teorem [61]. För de specifika applikationer som vi studerade krävde algoritmer som skyddades med ABFT-detektion ofta mer beräkningskrävande kontroller än algoritmer som skyddades med ABFT-korrigering; därför hade de förra i allmänhet större effekt på exekveringstiden (i förhållande till var och en av sina egna ursprungliga baslinjeutförandetider). Ytterligare en komplikation uppstår när en ABFT-algoritm endast implementeras. På grund av den långa feldetekteringslatens som införts av ABFT-detektion (9,6 miljoner cykler, i genomsnitt), är maskinvaruåtervinningsteknik inte genomförbar och återvinningsmekanismer på högre nivå kommer att medföra betydande omkostnader. Återvinning: Vi överväger två återhämtningsscenarier: begränsad latens, d.v.s. ett fel måste återvinnas inom en fast tidsperiod efter dess förekomst, och okonstruerad, d.v.s. där det inte finns några latensbegränsningar och fel återvinns externt när det har upptäckts (ingen hårdvaruåterställning krävs). Bounded latency recovery uppnås med hjälp av en av följande maskinvaruåterställningstekniker (Tabell XV): spolning eller reorder buffert (RoB) återvinning (varav båda förlitar sig på spolning icke-kompletterade instruktioner följt av re-exekvering) [62], [63] ; instruktion replay (IR) eller utökad instruktion replay (EIR) recovery (båda förlitar sig på instruktion kontroll pekar på rollback och replay instruktioner) [10]. EIR är en förlängning av IR med ytterligare buffertar som krävs av DFC för återvinning. Flush och RoB kan inte återhämta sig från fel som upptäckts efter minnesskrivarstadiet av InO-kärnor eller efter ordningen buffert av OoO-kärnor, respektive (dessa fel kommer att ha förökats till arkitektur synliga tillstånd). LEAP-DICE används därför för att skydda flip-flops i dessa rörledningar vid användning av spolning/RoB återvinning. IR och EIR kan återställa upptäckta fel i alla rörledningar flip-flop. IR-återhämtning visas i bild. 4 och spolåterhämtning visas i bild. 5................................................................ Eftersom återställning hårdvara fungerar som enstaka punkter för fel, flip-flops i själva återställning hårdvaran måste kunna felkorrigering (t.ex., skyddas av härdade flip-flops när man överväger mjuka fel). Ytterligare tekniker: Många ytterligare motståndskraftstekniker har publicerats i litteraturen, men dessa tekniker är nära relaterade till våra utvärderade tekniker. Därför anser vi att våra resultat är representativa och till stor del täcker överlagrets designutrymme. På Även om det är svårt att troget jämföra dessa "selektiva" EDDI-tekniker som publicerats (eftersom de ursprungliga författarna utvärderade förbättringar med hjälp av hög nivå felinjektion på arkitekturregistret nivå som i allmänhet är felaktiga), de publicerade resultaten för dessa "selektiva" EDDI-tekniker visar otillräcklig nytta (tabell XVII). Förbättringar som minskar genomförandets inverkan på tiden ger mycket låga SDC-förbättringar, medan de som ger måttliga förbättringar har hög genomförandetid (och därmed energi) effekt (mycket högre än att ge samma förbättring med hjälp av exempelvis LEAP-DICE). Felsökning [62] är en ytterligare teknik på programvarunivå. Denna teknik kontrollerar dock också för att säkerställa att mellanliggande värden som beräknas under genomförandet ligger inom förväntade gränser, vilket liknar mekanismerna bakom programvarupåståenden för processorer för allmänna ändamål, och därmed omfattas av de senare. Lågnivåteknik: Resilienstekniker vid kretsen och logikskiktet (dvs. lågnivåtekniker) är lättantändliga eftersom de kan tillämpas selektivt på enskilda flip-flops. Som ett resultat av detta kan en rad SDC/DUE-förbättringar uppnås för varierande kostnader (tabell XVI). Dessa tekniker erbjuder förmågan att finjustera de specifika flip-flops för att skydda för att uppnå den grad av motståndskraft förbättringar som krävs. I allmänhet (application-aware) selektiv härdning med LEAP-DICE ger den mest kostnadseffektiva fristående lösningen för både InO- och OoO-kärnor över alla förbättringar. Logisk paritet är mindre effektiv på grund av behovet av pipliningparitetslogik och EDS är mindre effektivt på grund av behovet av fördröjningsbuffertar. Tekniker på hög nivå: I allmänhet är tekniker vid arkitektur, programvara och algoritmskikt (dvs. högnivåtekniker) mindre svåråtkomliga eftersom det finns liten kontroll av den exakta undergruppen av flip-flops en hög nivå teknik kommer att skydda. Från tabell IV, Vi ser att ingen hög nivå teknik ger mer än 38× förbättring (även om de flesta erbjuder mycket mindre förbättring). Som ett resultat, för att uppnå en 50× förbättring, till exempel, förstärkning från låg nivå tekniker på krets-och logik-nivå krävs, oavsett. Denna förordning träder i kraft den tjugonde dagen efter det att den har offentliggjorts i Europeiska unionens officiella tidning. CROSS-LAYER KOMBINATIONER CLEAR använder en top-down metod för att undersöka kostnadseffektiviteten av olika korsskiktskombinationer. Till exempel, motståndskraft tekniker vid de övre skikten i system stacken (t.ex. ABFT korrigering) tillämpas innan gradvis flytta ner stacken för att tillämpa tekniker från lägre skikt (t.ex. en optimerad kombination av logisk paritetskontroll, kretsnivå LEAP-DICE, och mikroarkitektural återhämtning). Detta tillvägagångssätt (exempel visas i bild).  6 ) säkerställer att motståndskraft tekniker från olika lager i stacken effektivt interagerar med varandra. Resiliens tekniker från algoritm, programvara och arkitektur lager i stacken skyddar i allmänhet flera flip-flops (fastställs med hjälp av felinjektion); en designer har dock vanligtvis liten kontroll över den specifika delmängd skyddade. Med hjälp av flera tekniker från dessa lager kan leda till en situation där en given flip-flop kan skyddas (ibland i onödan) av flera tekniker. Vid logik- och kretsskikten finns finkornigt skydd, eftersom dessa tekniker kan tillämpas selektivt på enskilda flip-flops (de som inte är tillräckligt skyddade av tekniker på högre nivå). Vi utforskar totalt 586 korsskiktskombinationer med hjälp av CLEAR (Tabell XVIII). Inte alla kombinationer av de tio motståndskraftstekniker och fyra återhämtningstekniker är giltiga (t.ex. är det onödigt att kombinera ABFT-korrigering och ABFT-detektering eftersom teknikerna är ömsesidigt uteslutande eller att utforska kombinationer av monitorkärnor för att skydda en InOcore på grund av den höga kostnaden). Exakta flip-flop nivå injektion och layout utvärdering avslöjar många individuella tekniker ger minimal (mindre än 1,5×) SDC / DUE förbättring (till skillnad från slutsatser som rapporterats i litteraturen som härleds med hjälp av felaktig arkitektur-eller programvarunivå injektion), har höga kostnader, eller båda. Följden av denna uppenbarelse är att de flesta korsskiktskombinationer har höga kostnader (de detaljerade resultaten för dessa dyra kombinationer utelämnas för korthet men visas i bild. 1 )............................................................................................................... 14 Kostnader som genererats per referensvärde med genomsnittliga kostnader för alla rapporterade referensvärden. Relativ standardavvikelse är 0,6-3,1% 15 DUE förbättring inte möjlig med hjälp av detektionsbar teknik som ges okonstruerad återhämtning.  Bland de 586 cross-layer kombinationer utforskas med CLEAR, en mycket lovande metod kombinerar selektiv krets-nivå härdning med LEAP-DICE, logik paritet, och mikro-architectural återhämtning (flush återhämtning för InO-kärnor, RoB återhämtning för OoO-kärnor). Noggrann felinsprutning med hjälp av tillämpningsriktmärken spelar en avgörande roll vid valet av flip-flops skyddade med hjälp av dessa tekniker. Bilda. 7 och Heuristic 1 beskriver metoden för att skapa denna kombination. Om återhämtning inte behövs (t.ex. för obehindrad återhämtning), kan den "hårda" proceduren i Heuristic 1 ändras för att alltid returnera falska. Till exempel för att uppnå en 50× SDC förbättring, kombinationen av LEAP-DICE, logik paritet och mikroarkitektural återhämtning ger en 1,5× och 1,2× energibesparingar för OoO- och InO-kärnor, respektive, jämfört med selektiv kretshärdning med LEAP-DICE (Tabell XX). De relativa fördelarna är konsekventa för alla riktmärken och för alla SDC/DUE-förbättringar. Omkostnaderna i tabell XX är små eftersom vi rapporterade de mest energieffektiva motståndskraftslösningarna. De flesta av de 586 kombinationerna är mycket dyrare. Låt oss överväga scenariot där återhämtning hårdvara inte behövs (t.ex., okonstruerad återhämtning). I detta fall kan en minimal minskning på (<0,2 %) uppnås när man inriktar sig på SDC-förbättringar. Utan recovery hårdvara, DUES ökar eftersom upptäckta fel är nu okorrigerbara, vilket innebär att ingen förbättring av DUE är möjlig. Slutligen kan man anta att införandet av EDS i cross-layer optimering kan ge ytterligare besparingar eftersom EDS kostnader ~25% mindre yta, kraft, energi än LEAP-DICE. En betydande del av EDS overhead fångas dock inte enbart av cell overhead. I själva verket dominerar den extra kostnaden för aggregation och routing av EDS-feldetekteringssignalerna och kostnaden för att lägga till fördröjningsbuffertar för att uppfylla de minsta fördröjningsbegränsningar som EDS medför kostnader och förhindrar att kombinationer mellan lager som använder EDS ger fördelar. Ytterligare cross-layer kombinationer spännkrets, logik, arkitektur och programvaruskikt presenteras i tabell XX. I allmänhet är de flesta korsskiktskombinationer inte kostnadseffektiva. För processorer för allmän användning ger en kombination av LEAP-DICE-, logikparitets- och mikroarkitekturåterställning den lägsta kostnadslösningen för InO- och OoO-kärnor för alla förbättringar. Fram till denna punkt har vi övervägt SDC- och DUE-förbättringar separat. Det kan dock vara lämpligt att uppnå en specifik förbättring av SDC och DUE samtidigt. Det är dock osannolikt att de två förbättringarna kommer att vara desamma eftersom flip-flops med hög SDC-sårbarhet inte nödvändigtvis kommer att vara samma flip-flops som har hög DUE-sårbarhet. En enkel metod för att rikta gemensamma SDC/DUE-förbättringar är att implementera motståndskraft tills SDC (DUE)-förbättringar uppnås och sedan fortsätta att implementera motståndskraft mot oskyddade flip-flops tills DUE (SDC)-förbättringar också uppnås. Detta säkerställer att både SDC- och DUE-förbättringar uppfyller (eller överskrider) den eftersträvade minsta förbättring som krävs. I tabell XIX anges de kostnader som krävs för att uppnå gemensam SDC/DUE-förbättring med hjälp av denna metod när man överväger en kombination av LEAP-DICE, paritet och flush/RoB-återvinning. När applikationsutrymmet är inriktat på specifika algoritmer (t.ex. matrisoperationer), ger en kombination av LEAP-DICE, paritet, ABFT-korrigering och mikroarkitektural felåterhämtning (flush/RoB) ytterligare energibesparingar (jämfört med de generella korsskiktskombinationer som presenteras i Sec. III.A. Ordförande Eftersom ABFT-korrigering utför felkorrigering på plats krävs ingen separat återvinningsmekanism för ABFT-korrigering. För vår studie skulle vi kunna tillämpa ABFT-korrigering på tre av våra PERFECT-riktmärken: 2d_convolution, debayer_filter och inner_produkt (resten skyddades med ABFT-detektion). Resultaten i tabell XXII bekräftar att kombinationer av ABFT-korrigering, LEAP-DICE, paritet och mikroarkitektural återhämtning ger upp till 1,1× och 2× energibesparingar jämfört med den tidigare presenterade kombinationen av LEAP-DICE, paritet, och återhämtning när mål SDC förbättring för OoO- och InO-kärnor, respektive. Men som kommer att diskuteras i Sec. III.B.1) är ABFT:s praktiska tillämpning begränsad när det gäller processorer för allmänna ändamål. Vid målinriktad DUE-förbättring, inklusive ABFT-korrigering, ger ingen energibesparingar för OoO-kärnan. Detta beror på att ABFT-korrigering (tillsammans med de flesta arkitektur- och programvarutekniker som DFC, CFCSS och Assertions) Bild. 7............................................................ Tvärskiktsresiliensmetodik för att kombinera LEAP-DICE, paritet och mikroarkitektural återhämtning. Om f har tajming bana slack större än fördröjning som införts av 32-bitars XOR-träd (detta implementerar låg kostnad paritetskontroll) 10: sedan returnera TRUE, annars returnera FALSE 11: avsluta förfarande 10 utför kontroller på bestämda platser i programmet. Till exempel kan en DUE till följd av en ogiltig pekaråtkomst orsaka en omedelbar programuppsägning innan en kontroll åberopas. Som ett resultat av detta skulle DUE inte upptäckas av tekniken. Även om ABFT-korrigering är användbar för processorer för allmänna ändamål som är begränsade till specifika tillämpningar, kan samma sak inte sägas om ABFT-detektion (tabell XXII). Bilda. 8 visar att eftersom ABFT-detektion inte kan utföra korrigering på plats kan ABFT-detektionsriktmärken inte ge DUE-förbättring (alla upptäckta fel ökar nödvändigtvis antalet DUE). Med tanke på den lägre genomsnittliga SDC-förbättringen och generellt sett högre tidspåverkan för ABFT-detektionsalgoritmer ger kombinationer med ABFT-detektion inga lågkostnadslösningar. Eftersom de flesta applikationer inte är kompatibla med ABFT-korrigering, måste de flip-flops som skyddas av ABFT-korrigering också skyddas av tekniker som LEAP-DICE eller paritet (eller kombinationer av dessa) för processorer som är inriktade på allmänna tillämpningar. Detta kräver kretshärdning tekniker (t.ex., [66], [77] ) med förmågan att selektivt arbeta i ett feltåligt läge (hög resiliens, hög energi) när ABFT är otillgänglig, eller i ett ekonomiläge (låg resiliens, låg effektläge) när ABFT är tillgängligt. LEAP-ctrl flip-flop utför denna uppgift. Tillägget av LEAP-ctrl kan medföra en extra ~1% energikostnad och ~3% yta kostnad (Tabell XXII). Även om 44 % (22 % för OoO-kärnor) av flip-flops skulle behöva genomföras med hjälp av LEAP-ctrl, endast 5% (2 % för OoO-kärnor) skulle vara verksamma i ekonomiläge vid varje given tidpunkt (tabell XXI). Tyvärr är detta krav på finkornig driftlägeskontroll svårt att genomföra i praktiken eftersom det skulle kräva någon firmware eller programvara kontroll för att bestämma och skicka information till en hårdvara styrenhet som anger om en ABFT-applikation var igång och som flip-flops att placera i motståndskraftigt läge och som att placera i ekonomiläge (snarare än en enkel switch inställning alla sådana flip-flops i samma driftläge). Därför kan korsskiktskombinationer som använder ABFT-korrigering inte vara praktiskt eller användbart i processorer för allmänna ändamål som är inriktade på allmänna tillämpningar. Tunable resilience till låg kostnad möjliggörs med användning av låg nivå tekniker som kretsnivå härdning och logiknivå paritet. Tyvärr är det inte alltid möjligt att införliva motståndskraft vid designtidpunkten (t.ex. äldre hårdvara, hårdvara från externa leverantörer, kommersiell off-the-shälf hårdvara, etc.) Även krets-, logik- och arkitekturnivå motståndskraft kan inte införlivas med tanke på en fast hårdvarubegränsning, är det fortfarande möjligt att ge mjuk feltålighet på programvaru- och algoritm-nivå. Även om ingen enda motståndskraft teknik på programvara-eller algoritm-nivå kan ge mer än 50× SDC / DUE förbättring (Tabell III), kombinerar flera program och algoritm tekniker kan öka uppnåelig motståndskraft förbättring, men kommer till mycket hög energikostnad (Tabell XXIII). Det är viktigt att notera att på grund av den långa feldetekteringen av programvarutekniker är dessa kombinationer inte relevanta när begränsad latensåterställning krävs (eftersom ingen mekanism för maskinvaruåterställning är tillämplig för dessa feldetekteringstekniker för programvara). Med tanke på den befintliga mjukvaru- och algoritm-nivå tekniker tillgängliga, även den mest motståndskraftiga tvärskiktskombination av ABFT korrigering, CFCSS, och EDDI kan bara ge en SDC förbättring på 75,6× (vid 163% energikostnad). Därför, i scenarier som kräver extrem motståndskraft (t.ex., > 100× motståndskraft förbättring), kombinationer av programvara och algoritm tekniker kommer fortfarande att vara otillräckliga. Detta förverkligande förstärker vikten av att resiliens införlivas vid designtid med hjälp av krets- och logik-nivå tekniker. För att kvantifiera detta beroende valde vi slumpmässigt 4 (av 11) SPEC-riktmärken som ett träningsset, och använde de återstående 7 som ett valideringsset. Resiliens implementeras med hjälp av träningssetet och den resulterande konstruktionens resiliens bestäms med hjälp av valideringssetet. Därför talar träningssetet om vilka flip-flops som ska skyddas och valideringssetet gör det möjligt för oss att avgöra vilken förbättring som faktiskt skulle vara när samma uppsättning flip-flops är skyddad. Vi använde 50 tränings-/valideringspar. Eftersom tekniker på hög nivå inte kan ställas in för att uppnå en given förbättring av motståndskraften, analyserar vi var och en som en fristående teknik för att bättre förstå hur de presterar individuellt. För fristående motståndskraftstekniker är den genomsnittliga osäkerheten mellan resultaten av utbildad och validerad motståndskraft i allmänhet mycket låg (tabell XXIV och tabell XXV) och beror sannolikt på att de förbättringar som teknikerna själva ger redan är mycket låga. Vi rapporterar också p-värden [78], som ger ett mått på hur troligt de validerade och utbildade förbättringarna skulle matcha. I tabell XXVI och tabell XXVII anges att validerade förbättringar av SDC och DUE i allmänhet är underskattade. Lyckligtvis, när målet <10× SDC förbättring, är underskattningen minimal. Detta beror på att de mest sårbara 10 % av flip-flops (dvs. de flip-flops som resulterar i de mest SDC eller DUES) är konsekventa över riktmärken. Dessa inkluderar flip-flops som lagrar programräknaren, aktuell instruktion, ALU indata operander, hoppa och länk, utföra nästa instruktion, och funktionsavkastning (dvs., viktig programtillstånd information som alla riktmärken använder). Eftersom antalet fel som resulterar i SDC eller DUE inte är jämnt fördelade bland flip-flops, skyddar dessa topp 10% av flip-flops kommer att resultera i ~10× SDC förbättring oavsett riktmärket beaktas. De sårbarheter som resterande 90% av flip-flops är mer benchmarkberoende. Dessa inkluderar flip-flops som lagrar omedelbara operander, ALU resultat, register läsa / ladda / skriva, registeradresser, cache tillstånd, undantag / fälla typ, och övervakande tillstånd (dvs., programdata tillstånd som används olika av program på grund av riktmärke cache egenskaper, registertryck, olika datatyper, etc.) Konkret kan vi analysera likhet med referensvärden genom att analysera de sårbara flip-flops som anges av varje tillämpningsriktmärke. Per riktmärke kan man gruppera de mest sårbara 10% av flip-flops i en undergrupp (t.ex., undergrupp 1). Nästa 10% av sårbara flip-flops (t.ex. 10-20%) grupperas i undergrupp 2 (och så vidare upp till undergrupp 10). Därför, med tanke på våra 18 riktmärken, skapar vi 18 distinkta delmängd 1 s, 18 distinkt delmängd 2 s, och så vidare. Varje grupp av 18 undergrupper (t.ex. alla undergrupper) kan sedan tilldelas en likhet som anges i EKG. 2. Utgångspunkten är följande: Likheten mellan undergrupp "x" är det antal flip-flops som finns i alla undergrupp "x" (t.ex. undergrupp skärningspunkt) dividerat med antalet unika flip-flops i varje undergrupp "x" (t.ex. undergrupp union). Från tabell XXVIII är det tydligt att endast de 10 % mest sårbara flip-flops har mycket hög allmängiltighet över alla riktmärken (de två sista undergrupperna har hög likhet eftersom dessa är flip-flops som har fel som alltid försvinner). Alla andra flip-flops är relativt fördelade över spektrumet beroende på det specifika riktmärke som körs. Det är tydligt att man måste utveckla metoder för att bekämpa denna känslighet för riktmärken för mycket tåliga konstruktioner. Benchmark känslighet kan minimeras genom utbildning med hjälp av ytterligare riktmärken eller genom bättre riktmärken (t.ex. [79] ). Ett alternativt tillvägagångssätt är att tillämpa vårt CLEAR ramverk med hjälp av tillgängliga riktmärken, och sedan ersätta alla återstående oskyddade flip-flops med LHL (tabell IV). Detta gör det möjligt för våra motståndskraftiga konstruktioner att uppfylla (eller överskrida) motståndskraftsmål på ~1% extra kostnad för SDC och DUE förbättringar >10×. Den maximala rapporterade förbättringen för vår lösning för korsskikt med lägsta kostnad är över tre storleksordningsförbättringar. Det är dock fortfarande möjligt för en SDC/DUE att inträffa eftersom kretshärdning tekniker inte garanterar korrigering av alla möjliga flip-flop mjuka fel. Den extremt höga resiliens som vår cross-layer-lösning ger är inte möjlig enbart med hjälp av högnivåtekniker (Sec. Avsnitt II.D. Även om en logisk paritet endast (med återvinning) lösning kan ge högre grad av motståndskraft, en sådan lösning ådrar sig en 44,1% energikostnad (Tabell XVI). ABFT detektion + LEAP-DICE + logik paritet (ingen återhämtning) ABFT detektion + LEAP-DICE + logik paritet (ingen återhämtning) Alla motståndskraft tekniker kommer att ligga på ett tvådimensionellt plan av energikostnad jämfört med SDC förbättring (Fig. 9)........................................................................................... Utbudet av mönster som bildas med hjälp av kombinationer av LEAP-DICE, paritet, och mikro-architectural återhämtning bildar den lägsta kostnaden tvärskiktskombination som finns tillgänglig med dagens motståndskraft tekniker. För att nya motståndskraftstekniker ska kunna skapa konkurrenskraftiga korsskiktskombinationer måste de ha energi- och förbättringsbyten som placerar tekniken under regionen som avgränsas av vår LEAP-DICE, paritets- och mikroarkitekturåterställningslösning. Eftersom vissa fristående tekniker, som LEAP-DICE, också kan ge mycket konkurrenskraftiga lösningar, är det användbart att förstå kostnaden kontra förbättring kompromisser för nya tekniker i förhållande till denna bästa fristående teknik också (Fig. 10).................................................................. CLEAR är en första i sitt slag cross-layer motståndskraft ram som gör det möjligt att effektivt utforska en mängd olika motståndskraft tekniker och deras kombinationer över flera lager av system stacken. Omfattande cross-layer resilience studier med CLEAR visar: 1) En noggrant optimerad kombination av selektiv kretsnivå härdning, logik-nivå paritetskontroll, och mikroarkitektural återhämtning ger en mycket kostnadseffektiv mjuk felresiliens lösning för processorer för allmänna ändamål 2) (Application-aware) selektiv kretsnivå härdning ensam, vägledd av grundlig analys av effekterna av mjuka fel på tillämpningsriktmärken, ger också en kostnadseffektiv mjuk felresiliens lösning (med ~1% extra energikostnad för en 50× SDC förbättring jämfört med ovanstående metod). 3) Algoritmbaserad feltoleranskorrigering (ABFT) i kombination med selektiv härdning på kretsnivå (och logik- bild. 9................................................................ Nya motståndskraftstekniker måste ha kostnads- och förbättringsavsättningar som ligger inom de skuggade regioner som begränsas av LEAP-DCE + paritet + mikroarkitektural återhämtning. Mukherjee, N. Nassif, J. Krause, J. Pickholtz och A. Balasubramanian, "På strålningsinducerad mjuk felprestanda av härdade sekventiella element i avancerad bulk CMOS-teknik," i Tillförlitlighet Fysik Symposium (IRPS), 2010 IEEE International, 2010 N. Seifert, B. Gill, S. Jahinuzzaman, J. Basile, V. Ambrose, Q. Shi, R. Allmon och A. Bramnik, "Soft Error Susceptibilities of 22 nm Tri-Gate Enheter," IEEE Transactions on Nuclear Science, vol. - Nej, det gör jag inte. - Nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej, nej. 6 s. 2666-2673, dec 2012 N. Seifert, S. Jahinuzzaman, J. Velamala, R. Ascazubi, N. Patel, B. Gill, J. Basile och J. Hicks, "Soft Error Rate Förbättringar i 14-nm teknik," IEEE transaktioner på kärnvetenskap, vol. - Nej, det gör jag inte. 6 s. 2570-2577, Dec 2015 Kretsar och system, vol. - Nej, det gör jag inte. 11 s. 1597-1610, Nov 2014 G. Bosilca, R. Delmas, J. Dongarra och J. Langou, "Algoritm-baserad feltolerans tillämpas på högpresterande dator," Journal of Parallel and Distribuated Computing, vol. - Nej, det gör jag inte. 4, #Apr# Kevin Skadron (F'13) är Harry Douglas Forsyth professor och ordförande för Institutionen för datavetenskap vid University of Virginia, där han har varit på fakulteten sedan 1999. Hans forskning fokuserar på heterogen arkitektur, design och tillämpningar av nya hårdvaruacceleratorer och design för fysiska begränsningar såsom kraft, temperatur och tillförlitlighet. Skadron och hans kollegor har utvecklat ett antal verktyg med öppen källkod för att stödja denna forskning, bland annat HotSpot värmemodelleringsverktyg, Svalinns tillförlitlighetsmodell, Rodinia GPU-riktmärkessvit, ANMLZoo-automaten och MNCaRT-forskningsverktyget för automatiserad bearbetning. Skadron är en Fellow av IEEE och ACM, och mottagare av 2011 ACM SIGARCH Maurice Wilkes Award. (F'14) tog examen i "diploma" från Politehnica University, Bukarest, Rumänien och M.S. och doktorsexamen från University of Massachusetts. Han fick utmärkelsen NSF CAREER 1997 och var medförfattare till de bästa pappersutmärkelserna på SELSE 2017, ISQED 2008, GLSVLSI 2006, ISCA 2003 och SHAMAN 2002 Han är seniorredaktör för IEEE TRANSACTIONS OM NANOTECHNOLOGY. Prof. Stan är en kollega till IEEE, medlem av ACM, Eta Kappa Nu, Phi Kappa Phi och Sigma Xi. Klas Lilja är grundare och VD för Robust Chip Inc. (RCI), ett företag specialiserat på analys av strålningseffekter inom elektronik och design av hårdelektronik. Han fick M.Sc. och Ph. D. examina från Chalmers Tekniska Högskola, Sverige, och Swiss Federal Institute of Technology (ETH), Schweiz, 1986 respektive 1992, och har över 25 års erfarenhet av design, simulering och strålningshärdning av elektroniska enheter och kretsar. Före grundandet av RCI var Klas VP Engineering på ISE och chef för TCAD på Avant! Företaget (båda företagen ingår nu i Synopsys). Som grundare av RCI har han lett utvecklingen av RCI:s unika mjukvaruverktyg och banbrytande teknik för strålningshärdad elektronik, och utvecklat företaget till en världsledande ledare inom detta område. Klas innehar mer än 10 utfärdade och väntade patent på RCI:s nya teknik, samt flera andra patent inom området halvledarenheter och halvledarsimulering. Stanford i Kalifornien 1971 respektive 1974. Från 1975 till 1988 var han lärare vid universitetet i Illinois i Urbana i Illinois. Professor Abrahams forskningsintressen inkluderar VLSI design och test, lågeffektkretsar, och design av on-chip kretsar för att underlätta mätningar och diagnos av digitala, analoga och RF kretsar och biologiska system. Han är också intresserad av tekniker för att minska komplexiteten i konstruktionskontroll och design och utvärdering av motståndskraftiga och säkra system. Han har över 500 publikationer, har fått många "bästa papper" utmärkelser på internationella konferenser, och ingick i ISI (Thomson Reuters) listan över högt citerade forskare. Han har lett mer än 90 doktorsavhandlingar och är särskilt stolt över sina studenters prestationer, varav många har högre befattningar inom akademi och industri. Han har valts till Fellow of the IEEE såväl som Fellow of the ACM och är mottagare av 2005 års IEEE Emanuel R. Piore Award och 2017 års Jean-Claude Laprie Award in Dependable Computing.
Cheng m.fl. införa ett systematiskt ramverk som utforskar omfattande kombinationer av motståndskraftstekniker som hittar en kostnadseffektiv flip-flop mjuk feltålighet lösning REF.
Tolerating Soft Errors in Processor Cores Using CLEAR (Cross-Layer Exploration for Architecting Resilience)
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}