Reducing State Loss For Effective Trace Sampling of Superscalar Processors

Similar documents
Pattern History Table. Global History Register. Pattern History Table. Branch History Pattern Pattern History Bits

Branch History Matching: Branch Predictor Warmup for Sampled Simulation

AFRAMEWORK FOR STATISTICAL MODELING OF SUPERSCALAR PROCESSOR PERFORMANCE

Branch Prediction using Advanced Neural Methods

Summarizing Measured Data

CHARACTERIZATION AND CLASSIFICATION OF MODERN MICRO-PROCESSOR BENCHMARKS KUNXIANG YAN, B.S. A thesis submitted to the Graduate School

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2)

Transposition Mechanism for Sparse Matrices on Vector Processors

A Detailed Study on Phase Predictors

Limits to Branch Prediction

CS 700: Quantitative Methods & Experimental Design in Computer Science

ww.padasalai.net

CPSC 3300 Spring 2017 Exam 2

Portland State University ECE 587/687. Branch Prediction

THE UNIVERSITY OF MICHIGAN. Faster Static Timing Analysis via Bus Compression

Performance, Power & Energy. ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So

Measurement & Performance

Measurement & Performance

CprE 281: Digital Logic

CSCI-564 Advanced Computer Architecture

CMP 338: Third Class

PERFORMANCE METRICS. Mahdi Nazm Bojnordi. CS/ECE 6810: Computer Architecture. Assistant Professor School of Computing University of Utah

Formal Online Methods for Voltage/Frequency Control in Multiple Clock Domain Microprocessors

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1

Project Two RISC Processor Implementation ECE 485

Vector Lane Threading

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

Stochastic Dynamic Thermal Management: A Markovian Decision-based Approach. Hwisung Jung, Massoud Pedram

CSE. 1. In following code. addi. r1, skip1 xor in r2. r3, skip2. counter r4, top. taken): PC1: PC2: PC3: TTTTTT TTTTTT

Architecture-Level Soft Error Analysis: Examining the Limits of Common Assumptions

BETTER BRANCH PREDICTION THROUGH PROPHET/CRITIC HYBRIDS

Performance, Power & Energy

Worst-Case Execution Time Analysis. LS 12, TU Dortmund

A Novel Meta Predictor Design for Hybrid Branch Prediction

ICS 233 Computer Architecture & Assembly Language

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Relyzer: Application Resiliency Analyzer for Transient Faults

9. Datapath Design. Jacob Abraham. Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017

Goals for Performance Lecture

256.bzip2, ref.graphic. Datasets profile vs. Reference Dataset. 256.bzip2, ref.graphic

Lecture 11. Advanced Dividers

Reduction of Detected Acceptable Faults for Yield Improvement via Error-Tolerance

Detecting Support-Reducing Bound Sets using Two-Cofactor Symmetries 1

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 752 Advanced Computer Architecture I.

Temperature Aware Floorplanning

Welcome to MCS 572. content and organization expectations of the course. definition and classification

ECE 172 Digital Systems. Chapter 12 Instruction Pipelining. Herbert G. Mayer, PSU Status 7/20/2018

Pre-characterization Free, Efficient Power/Performance Analysis of Embedded and General Purpose Software Applications

256.bzip2, ref.source. Datasets profile vs. Reference Dataset. 256.bzip2, ref.source

Hardware Design I Chap. 4 Representative combinational logic

/ : Computer Architecture and Design

Design and Comparison of Wallace Multiplier Based on Symmetric Stacking and High speed counters

PERIOD LENGTHS OF CHAOTIC PSEUDO-RANDOM NUMBER GENERATORS

14 Random Variables and Simulation

Binary Decision Diagrams and Symbolic Model Checking

Unit 6: Branch Prediction

Synthesis of Saturating Counters Using Traditional and Non-traditional Basic Counters

NEC PerforCache. Influence on M-Series Disk Array Behavior and Performance. Version 1.0

Performance Metrics for Computer Systems. CASS 2018 Lavanya Ramapantulu

Voltage and Frequency Control With Adaptive Reaction Time in Multiple-Clock-Domain Processors

Computer Architecture

Branch Prediction based attacks using Hardware performance Counters IIT Kharagpur

Parallelization of the QC-lib Quantum Computer Simulator Library

A HIGH-SPEED PROCESSOR FOR RECTANGULAR-TO-POLAR CONVERSION WITH APPLICATIONS IN DIGITAL COMMUNICATIONS *

GPU Acceleration of Cutoff Pair Potentials for Molecular Modeling Applications

Fast Path-Based Neural Branch Prediction

Introduction. An Introduction to Algorithms and Data Structures

Implementation Of Digital Fir Filter Using Improved Table Look Up Scheme For Residue Number System

Lecture 3, Performance

Itanium TM Processor Clock Design

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

Lecture 3, Performance

CSE370: Introduction to Digital Design

webzyme A Web-Based Enzyme Simulation System for Education and Research

Burst Scheduling Based on Time-slotting and Fragmentation in WDM Optical Burst Switched Networks

Quantum Classification of Malware

ECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference)

MICROPROCESSOR REPORT. THE INSIDER S GUIDE TO MICROPROCESSOR HARDWARE

1. Statement of the Problem

Measuring Software Coupling

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

Issue = Select + Wakeup. Out-of-order Pipeline. Issue. Issue = Select + Wakeup. OOO execution (2-wide) OOO execution (2-wide)

Remainders. We learned how to multiply and divide in elementary

Relating Entropy Theory to Test Data Compression

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Exploiting In-Memory Processing Capabilities for Density Functional Theory Applications

IMPLEMENTATION OF SIGNAL POWER ESTIMATION METHODS

COEN6551: Formal Hardware Verification

Word-length Optimization and Error Analysis of a Multivariate Gaussian Random Number Generator

CSC Neural Networks. Perceptron Learning Rule

Data Mining: Concepts and Techniques. (3 rd ed.) Chapter 8. Chapter 8. Classification: Basic Concepts

Model Accuracy Measures

A Combined Analytical and Simulation-Based Model for Performance Evaluation of a Reconfigurable Instruction Set Processor

EECS150 - Digital Design Lecture 27 - misc2

SPECIAL PROJECT PROGRESS REPORT

[2] Predicting the direction of a branch is not enough. What else is necessary?

Cache Contention and Application Performance Prediction for Multi-Core Systems

Automatic Loop Interchange

Simulation of the Evolution of Information Content in Transcription Factor Binding Sites Using a Parallelized Genetic Algorithm

Opleiding Informatica

Transcription:

Reducing State Loss For Effective Trace Sampng of Superalar Processors Thomas M. Conte Mary Ann Hirh Kishore N. Menezes Department of Electrical and Computer Engineering North Carona State University Raleigh, North Carona fconte, mahirh, knmenezeg@eos.ncsu.edu Abstract There is a wealth of technological alternatives that can be incorpted into a processor design. These include reservation station designs, functional unit dupcation, and processor branch handngstrategies. The performance of a given design is measured through the execution of appcation programs and other workloads. Presently, trace-driven simulation is the most popular method of processor performance analysis in the development stage of system design. Current techniques of trace-driven simulation, however, are extremely slow and expensive. In this paper, a fast and accurate method for statistical trace sampng of superalar processors is proposed. Introduction There is a wealth of technological alternatives that can be incorpted into a processor design. These include reservation station design, functional unit dupcation, processor branch handng strategies, and instruction fetch, issue, completion, and retirement pocies. The performance of a given design is measured through the execution of appcation programs and other workloads. The decision to introduce a new technology improvement in a system depends, however, on the relative performance increase versus the cost. Workloads or benchmarks may be instrumented to generate traces that contain enough instruction execution information to test the performance of the proposed processor subsystem. The SPEC suite [] is a set of benchmarks that has been widely used to measure such performance. These benchmarks execute for bilons of instructions; therefore, an exhaustive search of the design space using these workloads is time-consuming and expensive. Statistical sampng [],[], has been used successfully to alleviate these problems in cache simulations and, in recent years, it has also been extended to the simulation of processors [],[],[]. In general, statistical techniques used in experiments reduce a large data set into a smaller representative set. The results obtained from the sampng must be representative of the entire workload to be accurate. The representativeness, therefore, depends on the method of sample collection. One of the earest studies of tracesampled processor simulation was done by Conte [], which showed that a systematic sampng method that utized contiguous traces could estimate processor performance with a relative error of only % []. Poursepanj later successfully developed a performance modeng technique for the PowerPC microprocessor that employed the use of a sample of one milon instructions equally divided into clusters []. At the same time, Lauterbach proposed an iterative sampng-verification-resampng technique for processor performance simulation []. This sampng method extracted clusters at random intervals with each cluster consisting of ; instructions. These selected clusters are checked against the full trace to monitor the sample s representativeness of the instruction frequencies, basic-block densities, and cache statistics. If the representativeness of the sample does not fall within the specified criterion, more clusters are selected. This selection process continues until the required criterion is reached []. All of these previous techniques were relatively accurate but these methods required full traces and were therefore extremely long and costly. In this paper, a fast and accurate method for statistical trace-sampng for processor simulation, the state-reduction method, is proposed. This method can be used to design a sampng regimen without the need for full-trace simulations. In order to achieve this goal, statistical metrics are used in this technique to derive the sampng regimen and predict the accuracy of the estimated results. Section provides a diussion of statistical sampng techniques and sample design for processor simulation. The following section deribes the state-reduction methodin detailand includes a statistical evaluation of its performance. The paper concludes with a summary of the state-reduction technique and a diussion of future work.

Statistical Sampng Sampng has been defined as the process of reducing a large data set into a smaller representative set []. Sampng may be broadly classified into two types: probabity sampng and non-probabity sampng. Probabity sampng requires that samples are chosen by a randomized mechanism which assures the selection of samples that is independent of subjective judgments. Simple random sampng is known to be one of the most accurate methods for sampng large populations. This technique involves a random selection of single, independent elements from the population. However, the cost associated with this approach makes its appcation infeasible in some cases. Another less accurate, but cost-effective technique is cluster sampng. This method collects contiguous groups of elements at random intervals from the population. Cluster sampng is the sampng technique commonly apped to processor simulation []. A sampng unit is an element which has an interesting property that should be studied. The sampng unit for a processor is a single execution cycle of the processor pipene. A sample is defined as the total number of sampng units from which the performance metric is calculated. The accuracy of the sampled results, therefore, increases as the size of the sample increases. Larger samples, however, also increase the time and cost of simulation, thereby making the choice of an efficient sample size critical. A parameter is an interesting population characteristic. The primary parameter for processor simulation is the mean retired instructions per cycle (). Consider a processor running a benchmark which executes in n time cycles, t; t + ;t+;:::;t+n,wheret + i is a single execution cycle. For a processor, these execution cycles constitute a complete st of the sampng units known as the total population. In traditional processor sampng, sampng units of equal length are randomly selected as the entire trace is traversed. This method does not, however, yield any savings in simulation cost because a simulation of the full trace is required. An alternative approach, cluster sampng, extracts subsets of the trace at random gaps during trace generation. The sampled unit of information for processor simulation is the number of instructions executed during a processor simulation. The metric is measured for each execution cycle and is called the instructions/cycle (). The, however, may vary between simulation runs. This variation requires the results to be vadated. The vadation of estimated is calculated as the relative error, RE() which is defined as: RE() = çtrue, ç sample ç true where ç true is the true population mean, and çsample () is the sample mean.. Sample design Sample design involves the choice of a robust (i) sample size, (ii) cluster size and, (iii) number of clusters. The accuracy of estimates for a particular sample design is primarily affected by two kinds of bias []: sampng bias and nonsampng bias. Nonsampng bias arises when the population being sampled (the study population) is different from the actual target population. Nonsampng bias in processor simulation is primarily due to the cold-start effect. The state of a processor is composed of many units including the reservation stations, functional unit pipenes, and branch handng hardware. The cold start effect occurs when sampng is employed and clusters are extracted from different locations in the full trace. This situation then causes the states of the units to be different from the real states produced by the full trace simulation. Sampng bias is measured as the difference between the mean of the sampng distribution and the sample mean. Clusters from different locations may be selected from sample to sample which causes the estimates to vary across repeated simulations. Therefore, the estimates are dependent on the sample design. The means of these samples form a distribution that is known as the sampng distribution. Statistical theory states that, for a well designed sample, the mean of the sampng distribution is representative of the true mean, and, the accuracy of the estimated mean increases as the sample size increases. In case of cluster sampng, this sample size is defined as the product of the number of clusters times the cluster size, yetthe only randomness in cluster sampng is due to the number of clusters. The reduction of sampng bias in cluster sampng requires that the design of the sample be robust and include all factors that could increase error. Some of the methods that have been used to overcome or reduce the total bias are diussed in the following sections.. The Processor Model The processor model must be considered when a sampng regimen is designed. In this study, a highly-parallel processor model is used to develop a robust nonsampng bias reduction technique. In addition, the model is used to test the sample design strategy. The processor model considered is a full-tomasulo, out-of-order execution engine that is based on a RISC design methodology. This model assumes a perfect cache and has different types of functional units (see Table ). Processor instructions are issued at an aggressive rate of eight instructions/cycle. In addition, this model contains multiple copies of key functional units,

and each of these functional units has access to an unmited supply of reservation stations. Highly-accurate branch prediction and speculative execution are generally accepted as essential for high superalar performance, so a hardware predictor with high prediction accuracy is incorpted in this processor model. Specifically, the two-level adaptive training branch predictor [] is employed. This heme consists of a -entry table known as the History Register Table (HRT), which maintains a history of the last eight executions of a branch. The entries in this HRT point to locations in another -entry table called the Pattern Table (PT). A branch prediction is made using a -bit counter predictor in the PT. In addition, this processor is able to use the results of the predictor to speculatively execute beyond three branches. In this paper, the entire branch prediction hardware including the HRT/PT tables for this model will be referred to as the branch history buffer (BHB). Table. Processor model design parameters. Issue rate: instructions/cycle Schedung: Full-Tomasulo, out-of-order Branch handng: Two-level adaptive training ( PAs ) Branch speculation degree: branches ahead Functional unit Deription Number Latency Alu Arithmetic logic unit Load Load Store Store FPAdd FP add FPMul FP multiply FPDiv FP divide, remainder Branch Branch æ FPDiv is unpipened. Table. Relative error for a milon instruction single-cluster sampng technique. Benchmark ç true ç sample RE() compress.. -... -... -...... -... -... -. mdljsp........ -. average:.% Trace Sampng for Processors Many pubshed studies of instruction-level parallesm calculate the based on a single cluster selected from the beginning of a benchmark s execution. This approach has many drawbacks. Table presents the results of simulations using the first milon instructions from the trace of each of the benchmarks studied. In this research, the benchmarks include all of the SPECint benchmarks (compress,,,,,and) and four of the SPECfp benchmarks (, mdljsp,, and). Several of these benchmarks achieve relatively accurate results with this single cluster technique. Yet, the ç sample of is overestimated in excess of %, and the majority of other benchmarks experience errors in excess of %. These overestimations are due to the fact that a single cluster is rarely representative of an entire benchmark. This single cluster is selected at the very beginning of the trace, therefore it may contain all of the instructions for setting up later code execution sequences. This additional code rarely contains instructions that are executed repeatedly (i.e. loops) or have dependencies. The impact of this lack of dependencies causes the estimated to be higher than the real. While previous studies have tried to reduce all bias as a wholeand makeapreriptionfll trace-sampled processor simulation, this study separates bias into its nonsampng and sampng components. This approach solves the statistical sampng problems by analyzing the effects of both sampng and nonsampng bias. In the first step of the sampng process, clusters of instructionsare obtained at random intervals and written to a disk file. The term cluster is used interchangeably for the group of instructions that yields a set of contiguous execution cycles, and for the set of execution cycles themselves. The number of execution cycles that would be obtained on the execution of a sampled instruction trace, N sample E,isgivenby, N sample E = N I cluster æ Ncluster ç where NI cluster is the number of instructions in a cluster, Ncluster is the number of clusters, and ç is the mean. In the following sections, a detailed deription of the techniques employed for reducing sampng and nonsampng bias are given. These techniques are known as the state-reduction method.. Reduction of nonsampng bias In the case of processor simulation, nonsampng bias is due to any loss of state information. The state in a processor is kept in the reservation stations, the functional unit pipenes, and in the branch handng hardware (BHB). For the processor model considered in this research, the largest ()

amount of state is contained in the BHB. Therefore, the state-reduction strategy will focus on the accuracy of BHB state. RE() compress initialpart of each cluster. It is known that the execution of branch instruction is not independent and the execution time of a branch can vary. The fresh-bhb technique, however, incorrectly assumes that a branch will only execute during a given cluster (i.e. it will not execute during the beginning of the next cluster). The stale-bhb method takes the opposite approach. The stale-bhb technique assumes that all of the branches that were active in the previous cluster are active in the beginning of the correct cluster. The results for the stale- BHB approach are presented in the Figure. The behavior pattern for stale-bhb is similar to the fresh-bhb.thestale- BHB, however, has considerably lower overall RE() for all of the benchmarks studied. RE() Instructions in cluster mdljsp Table. Dynamic branch distributions. The E-x columns present the number of branches that occupy x percent of the benchmark s execution. E- is the total number of branches that are dynamically executed. Branches in program is the total number of static branches in the program text. Branch instructions Branches Benchmark E- E- E- E- E- in program compress mdljsp Instructions in cluster Figure. Relative error vs. Cluster size (fresh- BHB, Ncluster = ; ) A study of the nonsampng bias for the processor model is shown in Figure. For these experiments, the number of clusters considered is ;, which is large enough that it does not to contribute the error. The size of each cluster is then varied from, to, instructions. Two different state repair technique for processor sampng were studied. In fresh-bhb, the BHB was completely flushed between the simulation of each cluster. The experimental results for fresh-bhb are shown in Figure. The relative error is high when fresh-bhb is used. For example, it can be as high as.% for, using a cluster size of, instructions. The cluster size and the RE() are inversely related because the BHB warms up the empty buffer with the The characteristics of the branch instructions in the benchmarks presented in Table explain much of the behavior seen in Figure. The data in Table represents the distribution of unique branch instructions during execution. The E-x columnpresentsthe numberofbranches thatoccupy x percent of the benchmark s execution. For example, of the branches in, only are actually executed. Of these, only one branch accounts for % of the execution time and two branches account for % of the execution. These results show that the benchmarks exercise only a very small number of dynamic branches for the majority of their execution. Logically, the benchmarks in this study can be divided into three categories based on the number of branches executed and generally accepted statistical principles. The categories are easily sampled, intermediate, anddifficult to sample. The benchmarks, compress,,, and, fall into the easily sampled category because only a relatively small number of branches are executed. This impes that the probabity for obtaining a representative sampng is high. The second category, intermediate, contains,,,, andmdljsp.

All of these benchmarks have a large number of branches executed therefore a representative sampng is harder to obtain. The difficult to sample category only contains. This benchmark has a very large number of branches executed therefore the chance of obtaining a representative sampng with a small number of clusters is very low. The RE() for fresh-bhb is shown in Figure. These results (see Figure ), however, do not coincide with the sampng difficulty categories. The difficulty of sampng, in general, is not directly correlated to the RE(). The RE() ranges from % to % for easily sampled benchmarks, yet the RE() for immediate benchmarks ranges from % to %. In addition, the most difficult to sample benchmark has an RE() of approximately %. The RE() results for stale-bhb presented in Figure show a similar pattern. The RE() of easily sampled benchmarks range from % to % while the RE() for intermediate benchmarks ranges from % to %. Although in the case of the benchmark,, the RE() is % which is well beyond the range of the intermediate benchmarks RE(). The phenomenon may be accounted for by the choice of state repair techniques. Another classification heme for the benchmarks studied is based on the fetime of branch execution. This approach categorizes benchmarks based on the relative fespans of their component branches. This methodology impes that the choice of state repair technique will have more impact on the accuracy of performance estimates when a benchmark has more branches that have longer overall fetimes (i.e. the branch s execution occurs during more than one cluster). When the results from the fresh-bhb and stale-bhb techniques are compared, the importance of branch execution fetime and state repair technique can be seen. If the fresh-bhb method, all states are cleared at the beginning of each cluster. This approach totally ignores the fetime of the branch. In fact, the fresh-bhb method assumes that a branch s fetime will be shorter than the combined length of a cluster and a gap. Table, however, indicates that the fetime of certain branches may be longer. The stale-bhb approach, appes the alternative philosophy. In this technique, it is assumed that a branch that was active in the previous cluster will be active in the current cluster (i. e. no state loss). The experimental results indicate that the stale- BHB approach is more accurate than the fresh-bhb method. These results imply that very few branches in a benchmark need to have long fetimes in order to substantially impact RE() if the incorrect state repair technique is selected. For example, the benchmark,, has only.% of its branches having a long execution fetime. The use of stale- BHB on, however, can reduce the RE() from approximate % to less than %. In the stale-bhb, the state of the BHB at the end of a cluster was used as the state of the BHB at the beginning of RE() RE() - - - Instructions in cluster compress - Instructions in cluster mdljsp Figure. Relative error vs. Cluster size (stale- BHB, Ncluster = ; )

the next cluster. This method assumed that no substantial changes in BHB state occurred during the gap, which is known not to be the case. In an effort to compensate for the effects of state change during the gap, the use of a warm-up period has been suggested []. During a warm-up period, the instructions contained in a cluster are apped to the BHB but no statistics (i.e. ) are calculated. In essence, the warm-up period tries to stabize the state of the BHB before any calculations are performed. In this research, the effects of a warm-up period in conjunction with the stale- BHB technique are studied. The effects of warm-up on RE() were studied by prepending variable numbers of warm-up instructions to each cluster. The warm-up period during each sample contains a fixed number of instructions. The results from this approach are given in Figure and. These results indicate that RE() decreases as the amount of warm-up increases, regardless of the cluster size. In general, the RE() stabizes at the ; instructions level. This phenomenon supports the conjecture that the closer the simulated state of the BHB is to the true state (calculated by a full trace), the more accurate the estimated will be. In summary, reduction in nonsampng bias can be achieved by manipulating three parameters: state repair method, cluster size and warm-up period. According to the experimental results, the most accurate estimation is achieved using stale-bhb, a cluster size of at least ; instructions, and a warm-up period which contains a minimum of ; instructions. In addition, these small cluster and warm-up period sizes indicate that the state-reduction approach produces a significant reduction in simulation execution. If this method is employed, the is accurately estimated in afraction of theexecution timerequired by afull simulation. These results, however, only apply to a highly parallel processor model that includes a large branch predictor. Current processors designs contain a smaller amount of state information. Therefore, this sample design strategy will be more robust if a current processor design is simulated. (A diussion of sample design for an arbitrary processor model is presented in section.). Reduction in sampng bias and variabity RE() RE() - - - Warm-up compress - Warm-up mdljsp Figure. Relative error vs. Warm-up (fixed, Ncluster = ;, cluster size = ;, stale-bhb). In sampng theory, it is known that bias exists in every sample because of the random nature of the sample. The extent of the error caused by this bias, however, can be predicted. The standard error of the statistic under consideration is used to measure the precision of the sample results []. Standard error is a measure of the expected variation between repeated sampled simulations using a particular sampng methodology. It is not cost-effective to perform repeated sampled simulations to measure the standard error. Sampng theory, however, allows the estimation of the stan-

dard error (S ) from a single simulation. The standard deviation for a cluster sampng design is given by, s = s PNcluster i= èç i, ç sample èncluster, è è ; () RE() RE() - Warm-up compress mdljsp where ç i is the mean for the i th cluster in the sample. The estimated standard error can then be calculated from the standard deviation for the sample as, S = p s : () Ncluster The estimated standard error can be used to calculate the error bounds and confidence interval. Using the properties of the normal distribution, the % confidence interval is given by ç sample æ. S, where the error bound is :S. Moreover, for a well designed sample, with neggible nonsampng bias, the true mean of the population may also be expected to fall within this range. Low standard errors imply ttle variation in repeated estimates and consequently result in higher accuracy. The relationship between sample size and standard error is presented in Figure. These results indicate that the standard error generally decreases as the number of clusters increases. However, the data also shows that there is ttle if any decrease in standard error if the number of clusters is greater than. The floating-point benchmarks have larger standard errors at a smaller number of clusters than integer benchmarks do. By this fact, the rest of this study will set the number of clusters to be ; for further analysis. Table. Confidence interval measurements from estimates obtained from single samples (Ncluster =,). - Warm-up Figure. Relative error vs. Warm-up (fixed, Ncluster = ;, cluster size =,, stale-bhb). True mean Estimated Standard Relative Benchmark (ç true ) mean (çsample ) Error (S ) Error (RE()) compress................... -.... -..... mdljsp... -........ -. The values of S for a sample made up of, clusters are presented in Table. Doduc has the maximum standard error and the largest error bounds. Its confidence interval indicates that the mean for repeated samples should be between.. (ç sample æ :S )to

Standard error Standard error.............. Number of Clusters compress mdljsp obtain a % confidence interval. These results also show that the ç for all of the benchmarks with the exception of fall within the % confidence level. The ç true for is approximately.% out of its % confidence level. This deviation could be due to the lack of a wide variation in its sample means, therefore its standard error is relatively small error. If these sampngs where repeatedly performed, the ç sample for may fall within the overall % confidence level. The variabity of cluster means across all clusters in a sample is presented in the Figure. The results show that the cluster means vary with the number of clusters used. The difficulty of accurately sampng a given benchmark is inversely related to the variabity of the cluster means. Benchmarks, and, exhibit ttlevariabity and are thereforeconducive toaccurate sampng. The benchmarks,,, mdljsp, and, exhibit high variation in the cluster means and are therefore difficult to sample. These results indicate that the precision of a sampng regimen depends upon the homogeneity of the cluster means. In this study, the full-trace simulations were also available, thereby making it possible to test whether sample design using standard error achieves accurate results. The estimates of ç sample when compared to ç true show relative errors of less than % for all benchmarks (see Table ). Furthermore, the relative error was predicted by the % confidence levels. Therefore, a robust sampng regimen can be designed without the need for full-trace simulations. In addition, if nonsampng bias is neggible, the sampng regimen can be designed from the data obtained solely from a single sampled run. Concluding Remarks.. Number of Clusters Figure. Standard Error vs. Number of Clusters (Stale-BHB, Ncluster =, cluster size=, warm-up=) Trace-driven simulation is a popularapproach to evaluating processor design alternatives. This evaluation, however, traditionallyinvolves the use of costly full trace simulations. The need for efficient processor sampng techniques has become more apparent due to the fact that the execution time for a full continuous trace is extremely long. In this paper, a fast and accurate processor sampng design strategy, the state-reduction method,has been presented that does not require full trace simulation. The essential steps to this strategy are centered around the systematic reduction in sampng and nonsampng bias. To reduce sampng bias, statistical sampng design techniques were employed. The experimental results demonstrate that a regimen for sampng a processor simulation can be developed without the need for full-trace simulations. The nonsampng bias is reduced by using a combination parameters that include a state repair method, the cluster size, and a warm-up period. The recommended steps for processor sampng design using the state-reduction technique are:

compress. Reduce nonsampng bias: This requires the selection of a state repair mechanism, a cluster size, and a warm-up period.. Determine the sample design: (a) Select a number of clusters: Simulate using a particular number of clusters. (b) Determine error bounds: Estimate standard error (Equations and ) to determine error bounds/precisionof the results. If the error is acceptable, the experiments are completed. Otherwise, increase the sample size by increasing the number of clusters, and resimulate until the desired precision is achieved. mdljsp The state-reduction method not only can be used for sampng in processor simulation. It can also be extended to processor emulation as developed by Sathaye []. Clearly, the state-reduction technique can easily be supported by generic processor simulation generators such as the VMV proposed by Diep [], []. Future work is needed that will incorpte the use of static branch predictors into the warm-up period for each cluster. This implementation would extend the Fu and Patel prediction technique [] for cache simulation to processor simulation. In the current state-reduction method, the is not calculated during the initial warm-up period. The future extension of this method, however, would calculate the during the warm-up period based on a branch instruction path prediction. During the evaluation interval, the would still be calculated on the actual cluster instruction information. This modified state-reduction method may increase the accuracy of the estimated withoutseverely degrading the speedup achieved by the original technique. References Figure. Variabity of cluster means across all clusters in the samples. X-axis is the cluster number and y-axis is the mean for the cluster. Cluster size =. [] J.C.H.McCall. Sampng and statistics handbook for research. Iowa State University Press, Ames, Iowa,. [] T.M.Conte.Systematic computer architecture prototyping. PhD thesis, Department of Electrical and Computer Engineering, University of Ilnois, Urbana, Ilnois,. [] T. A. Diep. VMW: A Visuazation-based Microarchitecture Workbench. PhD thesis, Carnegie Mellon University, Pittsburgh, Pennsylvania, June. [] T. A. Diep, C. Nelson, and J. P. Shen. Performance evaluation of the powerpc microarchitecture. In Proc. th Ann. Int l. Symp. Computer Architecture, pages, June. [] K. M. Dixit. CINT and CFP benchmark deriptions. SPEC Newsletter, (),. SPEC, Fairfax, VA. [] J. W. C. Fu and J. H. Patel. Trace driven simulation using sampled traces. In Proc. th Hawaii Int l. Conf. on System Sciences, Maui, HI, Jan..

[] G. T. Henry. Practical sampng. Sage Pubcations, Newbury Park, CA,. [] S. Laha, J. A. Patel, and R. K. Iyer. Accurate low-cost methods for performance evaluation of cache memory systems. IEEE Trans. Comput., C-():, Feb.. [] G. Lauterbach. Accelerating architectural simulation by parallel execution. In Proc. th Hawaii Int l. Conf. on System Sciences, Maui, HI, Jan.. [] A. Poursepanj. The PowerPC performance modeng methodology. Commun. ACM, ():, June. [] S. W. Sathaye. Mime: A tool for random emulation and feedback trace collection. Master s thesis, Department of Electrical and Computer Engineering, University of South Carona, Columbia, South Carona,. [] H. S. Stone. High-performance computer architecture. Addison-Wesley, New York, NY,. [] T. Yeh. Two-level adaptive branch prediction and instruction fetch mechanisms for high performance superalar processors. PhD thesis, Department of Electrical Engineering and Computer Science, University of Michigan, Ann Arbor, MI,.