21 lines
1,001 B
TeX
21 lines
1,001 B
TeX
|
\section{Related works}
|
||
|
Throughput prediction tools, however, are not all static.
|
||
|
\gus~\cite{phd:gruber} dynamically predicts the throughput of a whole program
|
||
|
region, instrumenting it to retrieve the exact events occurring through its
|
||
|
execution. This way, \gus{} can more finely detect bottlenecks by
|
||
|
sensitivity analysis, at the cost of a significantly longer run time.
|
||
|
|
||
|
\smallskip
|
||
|
|
||
|
The \bhive{} profiler~\cite{bhive} takes another approach to basic block
|
||
|
throughput measurement: by mapping memory at any address accessed by a basic
|
||
|
block, it can effectively run and measure arbitrary code without context, often
|
||
|
---~but not always, as we discuss later~--- yielding good results.
|
||
|
|
||
|
\smallskip
|
||
|
|
||
|
The \anica{} framework~\cite{anica} also attempts to evaluate throughput
|
||
|
predictors by finding examples on which they are inaccurate. \anica{} starts
|
||
|
with randomly generated assembly snippets, and refines them through a process
|
||
|
derived from abstract interpretation to reach general categories of problems.
|