Misslyckanden orsakade av programvara buggar är utbredda i produktionskörningar, orsakar allvarliga förluster för slutanvändare. Tyvärr är det svårt att diagnostisera produktionsfel. Befintligt arbete kan inte tillfredsställa integritet, kör-tid overhead, diagnos förmåga, och diagnos latency krav alla på en gång. Detta papper designar en låg overhead, låg latency, integritet bevara produktionsdrivna fel diagnossystem baserat på två observationer. För det första är korttidsminnet av programutförande ofta tillräckligt för feldiagnos, eftersom många buggar har korta spridningsavstånd. För det andra är det mycket billigare att bevara ett korttidsminne av avrättningen än att bevara ett register över hela avrättningen. Efter dessa observationer, identifierar vi först en befintlig hårdvara enhet, Last Branch Record (LBR), som registrerar de sista tagna grenar för att diagnostisera sekventiella buggar. Vi föreslår sedan en enkel hårdvara förlängning, Last Cache-coherence Record (LCR), för att spela in de sista få cache åtkomster med specificerade konsekvent tillstånd och därmed hjälpa till att diagnostisera konvergens buggar. Slutligen designar vi LBRA och LCRA för att automatiskt lokalisera felorsaker med LBR och LCR. Vår utvärdering använder 31 real-world sekventiell och concurrency buggfel från 18 representativa öppen källkod programvara. Resultaten visar att med bara 16 poster, LBR och LCR gör vårt system att automatiskt lokalisera grundorsakerna för 27 av 31 fel, med mindre än 3% körtid overhead. Eftersom vårt system inte är beroende av provtagning ger det också god diagnoslatens. Kategorier och ämnesdeskriptorer B.8.1 [Prestanda och tillförlitlighet]: Tillförlitlighet, testning och feltolerans; Tillstånd att göra digitala eller hårda kopior av hela eller delar av detta arbete för personligt bruk eller klassrum beviljas utan avgift under förutsättning att kopior inte görs eller distribueras för vinst eller kommersiell fördel och att kopiorna bär detta meddelande och den fullständiga hänvisningen på första sidan. Upphovsrätt till delar av detta verk som ägs av andra än ACM 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.
LBR/LCR REF, i sin tur, använder på låg-overhead hårdvara förlängningar för att upprätthålla en kortsiktig logg över hårdvaruhändelser som är användbara för produktionskörning feldiagnos.
Leveraging the short-term memory of hardware to diagnose production-run software failures
{'venue': "ASPLOS '14", 'journal': None, 'mag_field_of_study': ['Computer Science']}