skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: MPX: software for multiplexing hardware performance counters in multithreaded programs

Abstract

Hardware performance counters are CPU registers that count data loads and stores, cache misses, and other events. Counter data can help programmers understand software performance. Although CPUs typically have multiple counters, each can monitor only one type of event at a time, and some counters can monitor only certain events. Therefore, some CPUs cannot concurrently monitor interesting combinations of events. Software multiplexing partly overcomes this limitation by using time sharing to monitor multiple events on one counter. However, counter multiplexing is harder to implement for multithreaded programs than for single-threaded ones because of certain difficulties in managing the length of the time slices. This paper describes a software library called MPX that overcomes these difficulties. MPX allows applications to gather hardware counter data concurrently for any combination of countable events. MPX data are typically within a few percent of counts recorded without multiplexing.

Authors:
Publication Date:
Research Org.:
Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
Sponsoring Org.:
US Department of Energy (US)
OSTI Identifier:
15006160
Report Number(s):
UCRL-JC-140186
TRN: US200405%%298
DOE Contract Number:  
W-7405-ENG-48
Resource Type:
Conference
Resource Relation:
Conference: International Parallel and Distributed Processing Symposium, San Francisco, CA (US), 04/23/2001--04/27/2001; Other Information: PBD: 23 Aug 2000
Country of Publication:
United States
Language:
English
Subject:
99 GENERAL AND MISCELLANEOUS//MATHEMATICS, COMPUTING, AND INFORMATION SCIENCE; MONITORS; PERFORMANCE; PROCESSING

Citation Formats

May, J M. MPX: software for multiplexing hardware performance counters in multithreaded programs. United States: N. p., 2000. Web. doi:10.1109/IPDPS.2001.924955.
May, J M. MPX: software for multiplexing hardware performance counters in multithreaded programs. United States. https://doi.org/10.1109/IPDPS.2001.924955
May, J M. 2000. "MPX: software for multiplexing hardware performance counters in multithreaded programs". United States. https://doi.org/10.1109/IPDPS.2001.924955. https://www.osti.gov/servlets/purl/15006160.
@article{osti_15006160,
title = {MPX: software for multiplexing hardware performance counters in multithreaded programs},
author = {May, J M},
abstractNote = {Hardware performance counters are CPU registers that count data loads and stores, cache misses, and other events. Counter data can help programmers understand software performance. Although CPUs typically have multiple counters, each can monitor only one type of event at a time, and some counters can monitor only certain events. Therefore, some CPUs cannot concurrently monitor interesting combinations of events. Software multiplexing partly overcomes this limitation by using time sharing to monitor multiple events on one counter. However, counter multiplexing is harder to implement for multithreaded programs than for single-threaded ones because of certain difficulties in managing the length of the time slices. This paper describes a software library called MPX that overcomes these difficulties. MPX allows applications to gather hardware counter data concurrently for any combination of countable events. MPX data are typically within a few percent of counts recorded without multiplexing.},
doi = {10.1109/IPDPS.2001.924955},
url = {https://www.osti.gov/biblio/15006160}, journal = {},
number = ,
volume = ,
place = {United States},
year = {Wed Aug 23 00:00:00 EDT 2000},
month = {Wed Aug 23 00:00:00 EDT 2000}
}

Conference:
Other availability
Please see Document Availability for additional information on obtaining the full-text document. Library patrons may search WorldCat to identify libraries that hold this conference proceeding.

Save / Share: