Association for Computing Machinery
Many important workloads today, such as web-hosted services, are limited not by processor core performance but by interactions among the cores, the memory system, I/O devices, and the complex software layers that tie these components together. Architects designing future systems for these workloads are challenged to identify performance bottlenecks because, as in any concurrent system, overheads in one component may be hidden due to overlap with other operations. These overlaps span the user/kernel and software/ hardware boundaries, making traditional performance analysis techniques inadequate. The authors present a methodology for identifying end-to-end critical paths across software and simulated hardware in complex networked systems.