The measured performance of personal computer operating systems
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Continuous profiling: where have all the cycles gone?
ACM Transactions on Computer Systems (TOCS)
Computer architecture (2nd ed.): a quantitative approach
Computer architecture (2nd ed.): a quantitative approach
Portable profiling and tracing for parallel, scientific applications using C++
SPDT '98 Proceedings of the SIGMETRICS symposium on Parallel and distributed tools
Linux Kernel Internals
Introduction to Algorithms
Performance Measurement Intrusion and Perturbation Analysis
IEEE Transactions on Parallel and Distributed Systems
Source Code Instrumentation and its Perturbation Analysis in Pentium II
Source Code Instrumentation and its Perturbation Analysis in Pentium II
Measuring and characterizing system behavior using kernel-level event logging
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Computer Systems: A Programmer's Perspective
Computer Systems: A Programmer's Perspective
Towards a framework for source code instrumentation measurement validation
Proceedings of the 5th international workshop on Software and performance
Hi-index | 0.00 |
Microprocessors typically have software readable counters for events such as instruction executions, cycles, instruction stalls, and cache misses. Besides their usefulness to report overall performance metrics, these counters reveal details about dynamic process behavior and hardware affects of compiler optimizations. Our research develops and evaluates, in case studies, methodologies to determine just how accurate measurements from counters can be. We might then compensate for, reduce and/or estimate errors caused by the instrumentation or by system activity unrelated to the phenomena under study. We validate our flow-graph based perturbation model on small cases using static instruction counting, basic cache theory, and interrupt vs. cycle frequencies. We validate on larger cases using the existing Linux system calls, shells and user mode hardware counter access instructions. Our studies indicate so far that these performance factors, as related to specific machine code and data organization, can be directly observed in a practical/working system (Linux) with reasonable accuracy and that they can be quantitatively related to measurements of overall performance. Our current focus is on microscopic observations and phenomena because we seek to fully understand the capabilities and limitations of software accessible hardware self-reporting features of recent (Pentium II) technology.