---
_id: '11666'
abstract:
- lang: eng
  text: This article describes the Digital Continuous Profiling Infrastructure, a
    sampling-based profiling system designed to run continuously on production systems.
    The system supports multiprocessors, works on unmodified executables, and collects
    profiles for entire systems, including user programs, shared libraries, and the
    operating system kernel. Samples are collected at a high rate (over 5200 samples/sec.
    per 333MHz processor), yet with low overhead (1–3% slowdown for most workloads).
    Analysis tools supplied with the profiling system use the sample data to produce
    a precise and accurate accounting, down to the level of pipeline stalls incurred
    by individual instructions, of where time is bring spent. When instructions incur
    stalls, the tools identify possible reasons, such as cache misses, branch mispredictions,
    and functional unit contention. The fine-grained instruction-level analysis guides
    users and automated optimizers to the causes of performance problems and provides
    important insights for fixing them.
acknowledgement: We would like to thank Mike Burrows, Allan Heydon, Hal Murray, Sharon
  Perl, and Sharon Smith for helpful comments that greatly improved the content and
  presentation of this article; the anonymous referees for SOSP and TOCS also provided
  numerous helpful comments. We would also like to thank Dawson Engler for initially
  suggesting the use of interprocessor interrupts to avoid expensive synchronization
  operations in the interrupt handler, Mitch Lichtenberg for his work on the Alpha/NT
  version of our system and in general for his help and suggestions on the project,
  and the developers of iprobe for supplying us with source code that helped us get
  off the ground in building the early versions of our data collection system. Finally,
  we would like to thank Gary Carleton and Bob Davies of Intel for answering our questions
  about VTune and Marty Itzkowitz of SGI for answering our questions about SpeedShop.
article_processing_charge: No
article_type: original
author:
- first_name: Jennifer M.
  full_name: Anderson, Jennifer M.
  last_name: Anderson
- first_name: Lance M.
  full_name: Berc, Lance M.
  last_name: Berc
- first_name: Jeffrey
  full_name: Dean, Jeffrey
  last_name: Dean
- first_name: Sanjay
  full_name: Ghemawat, Sanjay
  last_name: Ghemawat
- first_name: Monika H
  full_name: Henzinger, Monika H
  id: 540c9bbd-f2de-11ec-812d-d04a5be85630
  last_name: Henzinger
  orcid: 0000-0002-5008-6530
- first_name: Shun-Tak A.
  full_name: Leung, Shun-Tak A.
  last_name: Leung
- first_name: Richard L.
  full_name: Sites, Richard L.
  last_name: Sites
- first_name: Mark T.
  full_name: Vandevoorde, Mark T.
  last_name: Vandevoorde
- first_name: Carl A.
  full_name: Waldspurger, Carl A.
  last_name: Waldspurger
- first_name: William E.
  full_name: Weihl, William E.
  last_name: Weihl
citation:
  ama: 'Anderson JM, Berc LM, Dean J, et al. Continuous profiling: Where have all
    the cycles gone? <i>ACM Transactions on Computer Systems</i>. 1997;15(4):357-390.
    doi:<a href="https://doi.org/10.1145/265924.265925">10.1145/265924.265925</a>'
  apa: 'Anderson, J. M., Berc, L. M., Dean, J., Ghemawat, S., Henzinger, M. H., Leung,
    S.-T. A., … Weihl, W. E. (1997). Continuous profiling: Where have all the cycles
    gone? <i>ACM Transactions on Computer Systems</i>. Association for Computing Machinery.
    <a href="https://doi.org/10.1145/265924.265925">https://doi.org/10.1145/265924.265925</a>'
  chicago: 'Anderson, Jennifer M., Lance M. Berc, Jeffrey Dean, Sanjay Ghemawat, Monika
    H Henzinger, Shun-Tak A. Leung, Richard L. Sites, Mark T. Vandevoorde, Carl A.
    Waldspurger, and William E. Weihl. “Continuous Profiling: Where Have All the Cycles
    Gone?” <i>ACM Transactions on Computer Systems</i>. Association for Computing
    Machinery, 1997. <a href="https://doi.org/10.1145/265924.265925">https://doi.org/10.1145/265924.265925</a>.'
  ieee: 'J. M. Anderson <i>et al.</i>, “Continuous profiling: Where have all the cycles
    gone?,” <i>ACM Transactions on Computer Systems</i>, vol. 15, no. 4. Association
    for Computing Machinery, pp. 357–390, 1997.'
  ista: 'Anderson JM, Berc LM, Dean J, Ghemawat S, Henzinger MH, Leung S-TA, Sites
    RL, Vandevoorde MT, Waldspurger CA, Weihl WE. 1997. Continuous profiling: Where
    have all the cycles gone? ACM Transactions on Computer Systems. 15(4), 357–390.'
  mla: 'Anderson, Jennifer M., et al. “Continuous Profiling: Where Have All the Cycles
    Gone?” <i>ACM Transactions on Computer Systems</i>, vol. 15, no. 4, Association
    for Computing Machinery, 1997, pp. 357–90, doi:<a href="https://doi.org/10.1145/265924.265925">10.1145/265924.265925</a>.'
  short: J.M. Anderson, L.M. Berc, J. Dean, S. Ghemawat, M.H. Henzinger, S.-T.A. Leung,
    R.L. Sites, M.T. Vandevoorde, C.A. Waldspurger, W.E. Weihl, ACM Transactions on
    Computer Systems 15 (1997) 357–390.
date_created: 2022-07-27T11:42:25Z
date_published: 1997-11-01T00:00:00Z
date_updated: 2022-09-09T12:00:13Z
day: '01'
doi: 10.1145/265924.265925
extern: '1'
intvolume: '        15'
issue: '4'
language:
- iso: eng
month: '11'
oa_version: None
page: 357-390
publication: ACM Transactions on Computer Systems
publication_identifier:
  eissn:
  - 1557-7333
  issn:
  - 0734-2071
publication_status: published
publisher: Association for Computing Machinery
quality_controlled: '1'
scopus_import: '1'
status: public
title: 'Continuous profiling: Where have all the cycles gone?'
type: journal_article
user_id: 2DF688A6-F248-11E8-B48F-1D18A9856A87
volume: 15
year: '1997'
...
