2002
DOI: 10.1145/635508.605403
|View full text |Cite
|
Sign up to set email alerts
|

Automatically characterizing large scale program behavior

Abstract: Understanding program behavior is at the foundation of computer architecture and program optimization. Many programs have wildly different behavior on even the very largest of scales (over the complete execution of the program). This realization has ramifications for many architectural and compiler techniques, from thread scheduling, to feedback directed optimizations, to the way programs are simulated. However, in order to take advantage of time-varying behavior, we .must first develop the analytical tools ne… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

2
660
0
4

Year Published

2005
2005
2018
2018

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 423 publications
(674 citation statements)
references
References 25 publications
2
660
0
4
Order By: Relevance
“…Since network bandwidth is a bottleneck in the CMP, we also show CMP results with twice as much bandwidth. As a workload, we employ SPEC2k programs executed for 100 million instruction windows identified by the Simpoint toolkit [33]. The composition of programs in our multi-programmed CMP workload is described in the next sub-section.…”
Section: Methodsmentioning
confidence: 99%
“…Since network bandwidth is a bottleneck in the CMP, we also show CMP results with twice as much bandwidth. As a workload, we employ SPEC2k programs executed for 100 million instruction windows identified by the Simpoint toolkit [33]. The composition of programs in our multi-programmed CMP workload is described in the next sub-section.…”
Section: Methodsmentioning
confidence: 99%
“…We use the Simpoint tool [23] to obtain a representative slice for each benchmark (with full reference input set) and each benchmark is fast-forwarded to its representative point before detailed simulation takes place. The simulations continue until one benchmark within a workload finishes the execution of the representative interval of 250M instructions.…”
Section: Workloads and System Configurationsmentioning
confidence: 99%
“…Being aware of this large-scale timevarying behavior is key to understanding the behavior of the program as a whole. Phase behavior can be exploited for various purposes, ranging from performance modeling [1], compiler optimizations [2], hardware adaptation [3][4] [5][6] [7], etc. For example in phase-based hardware adaptation, if we know that particular parts of the processor are unused during some program phase, we can turn off those parts during that phase resulting in a reduced energy consumption without affecting overall performance.…”
Section: Introductionmentioning
confidence: 99%
“…One way of identifying phases is to divide the complete program execution into fixed-length instruction intervals and to group instruction intervals based on the code that is being executed during those intervals-this is often referred to as the temporal approach [1]. This means that intervals that execute the same code will be grouped together in what will be called a phase.…”
Section: Introductionmentioning
confidence: 99%