Sammanfattning av denna webbsida: Verktyg för felsökning och profilering kan ändra körningsflödet eller timingen, kan inducera heisenbugs och är därmed marginellt användbara för felsökning av tidskritiska system. Programvara spårning, hur långt det än kan vara, beror på att konsumera värdefulla datorresurser. I denna studie, författarna analyserar state-of-the-art hårdvara-tracing stöd, som tillhandahålls i moderna Intel processorer och föreslå en ny teknik som använder processorn hårdvara för spårning utan kodinstrumentering eller spårpunkter. De visar nyttan av sitt tillvägagångssätt med bidrag inom tre områden -syscall latency profilering, instruktion profilering och programvara-tracer påverkan upptäckt. De visar på förbättringar i prestanda och detaljrikedomen hos data som samlats in med hårdvarustöd, jämfört med traditionell programvara endast spårning och profilering. Prestandaeffekten på målsystemet, mätt som tid överliggande, är i genomsnitt 2-3 %, och det värsta fallet är 22 %. De definierar också ett sätt att mäta och kvantifiera tidsupplösningen från hårdvaruspårare för spårhändelser, och observera effekten av finjustering av hårdvaruspårning för optimalt utnyttjande. Jämfört med andra spårämnen i kernel, observerade de att hårdvarubaserad spårning har en mycket minskad overhead, samtidigt uppnå större precision. De andra spårningsmetoderna är dessutom ineffektiva i vissa spårningsscenarier. Moderna system blir alltmer komplexa att felsöka och diagnostisera. En av de viktigaste faktorerna är den ökande komplexiteten och de begränsningar i realtid som begränsar användningen av traditionella felsökningsmetoder i sådana scenarier. Kortare uppgiftsfrister innebär att den trogna reproduktionen av kodutförande kan vara mycket utmanande. Man har beräknat att utvecklare spenderar cirka 50–75 % av sin tid på att felsöka applikationer till en betydande penningkostnad [1]. I många scenarier blir heisenbuggar [2] nästan omöjliga att upptäcka. Långgående system kan ha buggar som visar faktiska konsekvenser mycket senare än förväntat, antingen på grund av att uppgifter planeras ut eller hårdvara avbryter orsakar förseningar. Viktiga parametrar som behöver analyseras när man gör en grundorsaksanalys för ett problem inkluderar identifiering av kostsamma instruktioner under utförandet, upptäckt av fel i inbäddade kommunikationsprotokoll och analys av instruktionsprofiler som ger en korrekt representation av vilka instruktioner som förbrukar den mest centrala bearbetningsenheten (CPU) tiden. Sådana latenta frågor kan endast registreras troget med hjälp av spårningsmetoder. Tillsammans med korrekt profilering ger spårning en välbehövlig respit till utvecklare för prestandaanalys i sådana scenarier. Vi fokuserar i detta dokument på två viktiga gemensamma frågor i nuvarande system: effektiv upptäckt/spårning av maskinvarulatens och korrekt profilering av syscalls och instruktioner, med en förmåga att upptäcka programkontrollflödet mer exakt än med nuvarande programstrategier. Vi diskuterar vår nya analysmetod, som använder villkorlig hårdvaruspårning i samband med traditionell programvaruspårning för att korrekt profilera latensorsaker. Spåret kan avkodas offline för att hämta rätt kontrollflöde, data även vid instruktion granularitet, utan någon extern påverkan på styrflödet. Eftersom programvaruspårning kan leda till förändringar i kontrollflödet, med vårt system kan vi ytterligare upptäcka orsaken till latens som induceras av programspårarna själva, på programvaran under observation, till nanosecond range noggrannhet. Ren programvara profilering och spårning verktyg förbrukar redan begränsade och välbehövliga resurser på produktionssystem. Under årens lopp har hårdvaruspårning framträtt som en kraftfull teknik för spårning, eftersom det ger en detaljerad och exakt bild av systemet med nästan noll overhead. I IEEE Nexus 5001 standard [3] definieras fyra klasser av spårnings- och felsökningsmetoder för inbyggda system. Klass 1 handlar om grundläggande felsökningsåtgärder
En detaljerad studie av hårdvarustödd spårning och profilering med Intel PT har nyligen presenterats i REF.
Hardware-assisted instruction profiling and latency detection
{'venue': None, 'journal': 'The Journal of Engineering', 'mag_field_of_study': ['Computer Science']}