Profiler baserade på maskinvaruprestandaräknare är oumbärliga för prestandadebuggning av komplexa programvarusystem. Alla moderna processorer har maskinvaruprestandaräknare, men nuvarande virtuella maskinmonitorer (VMM) exponerar dem inte ordentligt för gästoperativsystem. Befintliga profileringsverktyg kräver privilegierad tillgång till VMM för att profilera gästen och är endast tillgängliga för VMMs baserat på paravirtualisering. Det är därför ganska svårt att diagnostisera prestandaproblem hos programvara som körs i en virtualiserad miljö. I detta dokument beskrivs hur VMM kan utvidgas för att stödja prestandaprofilering. Vi presenterar två typer av profilering i en virtualiserad miljö: gästprofilering och systemövergripande profilering. Gästprofilering visar en gästs beteende. Profileraren körs i gästen och kräver inte privilegierad tillgång till VMM. Systemomfattande profilering avslöjar körtidens beteende hos både VMM och vilket antal gäster som helst. Det krävs profilerare både i VMM och i dessa gäster. Inte varje VMM har rätt arkitektur för att stödja båda typerna av profilering. Vi bestämmer kraven för var och en av dem, och utforska möjligheterna för deras genomförande i virtuella maskiner med hjälp av hårdvara hjälp, paravirtualization, och binär översättning. Vi implementerar både gästomfattande och systemomfattande profilering för en VMM baserad på de x86-hårdvaruvirtualiseringstilläggen och systemomfattande profilering för en VMM baserad på binär översättning. Vi visar att dessa profilerare ger god noggrannhet med endast begränsade omkostnader.
I papper REF diskuteras metoder för insamling av mätvärden från virtuella maskiner (kallas gästprofilering av författare) och från hypervisorer (kallade systemomfattande profilering).
Performance profiling of virtual machines
{'venue': "VEE '11", 'journal': None, 'mag_field_of_study': ['Computer Science']}