Performance prediction

Performance prediction

In computer science, performance prediction means to estimate the execution time or other performance factors (such as cache misses) of a program on a given computer. It is being widely used for computer architects to evaluate new computer designs, for compiler writers to explore new optimizations, and also for advanced developers to tune their programs.

There are many approaches to predict program 's performance on computers. They can be roughly divided into three major categories:
* simulation-based prediction
* profile-based prediction
* analytical modeling

imulation-based prediction

Performance data can be directly obtained from computer simulators, within which each instruction of the target program is actually dynamically executed given a particular input data set. Simulators can predict program's performance very accurately, but takes considerable time to handle large programs.

Another type of simulators, trace-based simulators do not run every instruction, but run a trace file which store important program events only. It loses some flexibility and accuracy compared to cycle-accurate simulation mentioned above but is much faster.

Profile-based prediction

The classic approach of performance prediction treats a program as a set of basic blocks connected by execution path. Thus the execution time of the whole program is the sum of execution time of each basic block multiplied by its execution frequency, as shown in the following formula:

T_{program} = sum_{i=1}^{n}{(T_{BB_i}*F_{BB_i})}

The execution frequencies of basic blocks are generated from a profiler, which is why this method is called profile-based prediction. The execution time of a basic block is usually obtained from a simple instruction scheduler.

Classic profile-based prediction worked well for early single-issue, in-order execution processors, but fails to accurately predict the performance of modern processors. The major reason is that modern processors can issue and execute several instructions at the same time, sometimes out of the original order and cross the boundary of basic blocks.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Performance analysis — In software engineering, performance analysis, more commonly today known as profiling, is the investigation of a program s behavior using information gathered as the program executes (i.e. it is a form of dynamic program analysis, as opposed to… …   Wikipedia

  • Performance engineering — Within systems engineering, performance engineering encompasses the set of roles, skills, activities, practices, tools, and deliverables applied at every phase of the Systems Development Lifecycle which ensures that a solution will be designed,… …   Wikipedia

  • Prediction Suffix Tree — The concept of the Markov chain of order L, which we essentially owe to the Russianmathematician Andrej Andreevic Markov (1907), has two drawbacks. First, the number ofparameters of the model grows exponentially with the order L of the chain.… …   Wikipedia

  • Performance (Informatik) — Die Artikel Leistungsbewertung (Computer) und Leistung (Informatik) überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte… …   Deutsch Wikipedia

  • Prédiction statistique des résultats de football — La prédiction statistique des résultats de football est une méthode utilisée pour les paris sportifs afin de prédire l issue des matchs de football à l aide d outils statistiques. L objectif de la prédiction statistique match est de battre les… …   Wikipédia en Français

  • Memory dependence prediction — is a technique, employed by high performance out of order execution microprocessors that execute memory access operations (loads and stores) out of program order, to predict true dependences between loads and stores at instruction execution time …   Wikipedia

  • Nucleic acid structure prediction — This article is about the computational prediction of nucleic acid structure. For experimental methods, see Nucleic acid structure determination. Nucleic acid structure prediction is a computational method to determine nucleic acid secondary and… …   Wikipedia

  • Stock market prediction — is the act of trying to determine the future value of a company stock or other financial instrument traded on a financial exchange. The successful prediction of a stock s future price could yield significant profit. Some believe that stock price… …   Wikipedia

  • Numerical weather prediction — Weather models use systems of differential equations based on the laws of …   Wikipedia

  • Protein structure prediction — is one of the most important goals pursued by bioinformatics and theoretical chemistry. Its aim is the prediction of the three dimensional structure of proteins from their amino acid sequences, sometimes including additional relevant information… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”