• DocumentCode
    3359597
  • Title

    Full-System Critical Path Analysis

  • Author

    Said, Ali G. ; Binkert, Nathan L. ; Reinhardt, Steven K. ; Mudge, Trevor

  • Author_Institution
    Dept. of EECS, Univ. of Michigan, Ann Arbor, MI
  • fYear
    2008
  • fDate
    20-22 April 2008
  • Firstpage
    63
  • Lastpage
    74
  • Abstract
    Many interesting workloads today are limited not by CPU processing power but by the interactions between the CPU, memory system, I/O devices, and the complex software that ties all the components together. Optimizing these workloads requires identifying performance bottlenecks across concurrent hardware components and across multiple layers of software. Common software profiling techniques cannot account for hardware bottlenecks or situations where software overheads are hidden due to overlap with hardware operations. Critical-path analysis is a powerful approach for identifying bottlenecks in highly concurrent systems, but typically requires detailed domain knowledge to construct the required event dependence graphs. As a result, to date it has been applied only to isolated system layers (e.g., processor microarchitectures or message-passing applications). In this paper we present a novel technique for applying critical-path analysis to complex systems composed of numerous interacting state machines. We avoid tedious up-front modeling by using control-flow tracing to expose implicit software state machines automatically, and iterative refinement to add necessary manual annotations with minimal effort. By applying our technique within a full-system simulator, we achieve an integrated trace of hardware and software events with minimal perturbation. As a result, we can perform this analysis across the user/kernel and hardware/software boundaries and even across multiple systems. We apply this technique to analyzing network performance, and show that we are able to find performance bottlenecks in both hardware and software, including some surprising bottlenecks in the Linux 2.6.13 kernel.
  • Keywords
    critical path analysis; finite state machines; hardware-software codesign; iterative methods; operating system kernels; optimisation; CPU processing power; I-O devices; Linux 2.6.13 kernel; complex software; concurrent hardware components; control flow tracing; detailed domain knowledge; full-system critical path analysis; hardware bottlenecks; hardware-software boundaries; interacting state machines; iterative refinement; memory system; optimization; software profiling; user-kernel boundaries; Bandwidth; Control systems; Hardware; Kernel; Linux; Network interfaces; Performance analysis; Protocols; Software performance; TCPIP;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Performance Analysis of Systems and software, 2008. ISPASS 2008. IEEE International Symposium on
  • Conference_Location
    Austin, TX
  • Print_ISBN
    978-1-4244-2232-6
  • Electronic_ISBN
    978-1-4244-2233-3
  • Type

    conf

  • DOI
    10.1109/ISPASS.2008.4510739
  • Filename
    4510739