diff options
Diffstat (limited to 'chap/chap5.tex')
-rw-r--r-- | chap/chap5.tex | 189 |
1 files changed, 130 insertions, 59 deletions
diff --git a/chap/chap5.tex b/chap/chap5.tex index f7020a8..bbda05d 100644 --- a/chap/chap5.tex +++ b/chap/chap5.tex @@ -98,69 +98,69 @@ Glibc 2.24 静态链接。 方法是先用 gem5 的 AtomicSimpleCPU 运行 10000000000 条指令进行程序的预 热,再用待评测的处理器配置运行 1000000000 条指令,得出评测结果。 -表\ref{tab:spec2006}中列出每个 SPEC CPU2006 在 Baseline 模式下运行的指 -令数和操作数,在其他处理器配置下,实际运行的指令数可能有增加或减少,相 -应的操作数也有增加或减少。 - -\begin{table} -\begin{tabular}{|c|c|c|c|} -\hline -基准测试程序 & 类型 & 指令数 & 操作数\tabularnewline -\hline -\hline -401.bzip2 & int & 1000000015 & 1607899217\tabularnewline -\hline -429.mcf & int & 1000000012 & 1308544223\tabularnewline -\hline -445.gobmk & int & 1000000014 & 1932674840\tabularnewline -\hline -456.hmmer & int & 1000000013 & 1980694497\tabularnewline -\hline -458.sjeng & int & 1000000010 & 1827828221\tabularnewline -\hline -462.libquantum & int & 1000000011 & 1714852019\tabularnewline -\hline -464.h264ref & int & 1000000017 & 1545541668\tabularnewline -\hline -471.omnetpp & int & 1000000011 & 1971636254\tabularnewline -\hline -473.astar & int & 1000000010 & 1702905457\tabularnewline -\hline -410.bwaves & fp & 1000000011 & 1839010239\tabularnewline -\hline -433.milc & fp & 1000000018 & 1285963875\tabularnewline -\hline -434.zeusmp & fp & 1000000014 & 1524235186\tabularnewline -\hline -435.gromacs & fp & 1000000013 & 1630938771\tabularnewline -\hline -436.cactusADM & fp & 1000000014 & 1320986203\tabularnewline -\hline -437.leslie3d & fp & 1000000010 & 1415843900\tabularnewline -\hline -444.namd & fp & 1000000009 & 1333316425\tabularnewline -\hline -450.soplex & fp & 1000000013 & 1664925057\tabularnewline -\hline -454.calculix & fp & 1000000010 & 1691328153\tabularnewline -\hline -459.GemsFDTD & fp & 1000000014 & 1320385828\tabularnewline -\hline -470.lbm & fp & 1000000011 & 1191402714\tabularnewline -\hline -482.sphinx3 & fp & 1000000016 & 1618883137\tabularnewline -\hline -\end{tabular} -\caption{SPEC CPU2006 各基准程序的指令数和操作数} -\label{tab:spec2006} -\end{table} +%% 表\ref{tab:spec2006}中列出每个 SPEC CPU2006 在 Baseline 模式下运行的指 +%% 令数和操作数,在其他处理器配置下,实际运行的指令数可能有增加或减少,相 +%% 应的操作数也有增加或减少。 + +%% \begin{table} +%% \begin{tabular}{|c|c|c|c|} +%% \hline +%% 基准测试程序 & 类型 & 指令数 & 操作数\tabularnewline +%% \hline +%% \hline +%% 401.bzip2 & int & 1000000015 & 1607899217\tabularnewline +%% \hline +%% 429.mcf & int & 1000000012 & 1308544223\tabularnewline +%% \hline +%% 445.gobmk & int & 1000000014 & 1932674840\tabularnewline +%% \hline +%% 456.hmmer & int & 1000000013 & 1980694497\tabularnewline +%% \hline +%% 458.sjeng & int & 1000000010 & 1827828221\tabularnewline +%% \hline +%% 462.libquantum & int & 1000000011 & 1714852019\tabularnewline +%% \hline +%% 464.h264ref & int & 1000000017 & 1545541668\tabularnewline +%% \hline +%% 471.omnetpp & int & 1000000011 & 1971636254\tabularnewline +%% \hline +%% 473.astar & int & 1000000010 & 1702905457\tabularnewline +%% \hline +%% 410.bwaves & fp & 1000000011 & 1839010239\tabularnewline +%% \hline +%% 433.milc & fp & 1000000018 & 1285963875\tabularnewline +%% \hline +%% 434.zeusmp & fp & 1000000014 & 1524235186\tabularnewline +%% \hline +%% 435.gromacs & fp & 1000000013 & 1630938771\tabularnewline +%% \hline +%% 436.cactusADM & fp & 1000000014 & 1320986203\tabularnewline +%% \hline +%% 437.leslie3d & fp & 1000000010 & 1415843900\tabularnewline +%% \hline +%% 444.namd & fp & 1000000009 & 1333316425\tabularnewline +%% \hline +%% 450.soplex & fp & 1000000013 & 1664925057\tabularnewline +%% \hline +%% 454.calculix & fp & 1000000010 & 1691328153\tabularnewline +%% \hline +%% 459.GemsFDTD & fp & 1000000014 & 1320385828\tabularnewline +%% \hline +%% 470.lbm & fp & 1000000011 & 1191402714\tabularnewline +%% \hline +%% 482.sphinx3 & fp & 1000000016 & 1618883137\tabularnewline +%% \hline +%% \end{tabular} +%% \caption{SPEC CPU2006 各基准程序的指令数和操作数} +%% \label{tab:spec2006} +%% \end{table} 图\ref{fig:is_spec06_result}是每种配置的处理器运行 SPEC CPU2006 相对于 Baseline 的运行时间。 \begin{figure}[htbp] \centering - \includegraphics[width=0.8\textwidth]{result.eps} + \includegraphics[width=\textwidth]{result.eps} \caption{每种配置的处理器运行 SPEC CPU2006 的相对运行时间} \label{fig:is_spec06_result} \end{figure} @@ -168,6 +168,77 @@ Baseline 的运行时间。 从评测结果可以看出,在使用 DIFT 识别可能泄露数据的 load 指令后,推迟这 些指令的执行,有 15\% 的性能开销,平均性能开销比 InvisiSpec 小。在此基 础上,用 InvisiSpec 的方案执行这些 load 指令,可以进一步将性能开销减少 -至 8.5\%. +至 8.5\%. 其中在 IS+DIFT 方案中,有 12 个基准程序的性能开销在 3\% 以下, +6 个在 10\% 至 20\%. 性能开销最大的是 omnetpp, 所有安全的方案都会造成 +94\% 以上的性能开销。 + +为了观察使用基于信息流追踪的检测机制的效果,可以统计 IS 和 IS+DIFT 方 +案中 SpecLoad 请求的数量。 + +\begin{table} +\center +\begin{tabular}{|c|c|c|c|} +\hline +基准测试 & IS & IS+DIFT & SpecLoad 减少量\tabularnewline +\hline +\hline +astar & 592665385 & 337046726 & 43.13\%\tabularnewline +\hline +bwaves & 197767307 & 4175863 & 97.89\%\tabularnewline +\hline +bzip2 & 194937438 & 88235308 & 54.74\%\tabularnewline +\hline +cactusADM & 6789192 & 1730316 & 74.51\%\tabularnewline +\hline +calculix & 167229407 & 51778868 & 69.04\%\tabularnewline +\hline +GemsFDTD & 82999260 & 1731800 & 97.91\%\tabularnewline +\hline +gobmk & 243636621 & 50238751 & 79.38\%\tabularnewline +\hline +gromacs & 12385627 & 899474 & 92.74\%\tabularnewline +\hline +h264ref & 83954284 & 14540555 & 82.68\%\tabularnewline +\hline +hmmer & 188615797 & 95542441 & 49.35\%\tabularnewline +\hline +lbm & 16619502 & 4 & 100.00\%\tabularnewline +\hline +leslie3d & 84725917 & 1497323 & 98.23\%\tabularnewline +\hline +libquantum & 34125171 & 4306 & 99.99\%\tabularnewline +\hline +mcf & 138128311 & 27634366 & 79.99\%\tabularnewline +\hline +milc & 41388836 & 1224233 & 97.04\%\tabularnewline +\hline +namd & 35643072 & 11144890 & 68.73\%\tabularnewline +\hline +omnetpp & 117181327 & 38237525 & 67.37\%\tabularnewline +\hline +sjeng & 241108901 & 49780302 & 79.35\%\tabularnewline +\hline +soplex & 161218472 & 77026596 & 52.22\%\tabularnewline +\hline +sphinx3 & 107409895 & 22898074 & 78.68\%\tabularnewline +\hline +zeusmp & 102149604 & 431352 & 99.58\%\tabularnewline +\hline +\end{tabular} +\caption{DIFT 对 SPEC CPU2006 各基准测试的效果} +\label{tab:specload} +\end{table} + +可以看出,几乎所有的基准程序中,DIFT 可以过滤一半以上被认为不安全的装 +载操作,其中 bwaves, GemsFDTD, libquantum, milc 中,推测式执行中的装载 +指令只有 3\% 以下需要用安全的方式执行,因此使用 Fence+DIFT 即可以获得 +与 Baseline 几乎同等的性能。在 IS+DIFT 性能开销最大的 omnetpp 中, +SpecLoad 的数量只减少了 67\%,而性能开销接近 20\% 的 calculix 和 astar, +SpecLoad 减少的数量也在 70\% 以下。 + +%\Todo: 评测结果的分析 +\section{本章总结} -\Todo: 评测结果的分析 +本章先介绍了评测环境,列出了各个处理器配置的基本参数。其后给出了评测指 +标,包括安全性的测试和性能测试的指标。最后给出了安全测试的方法和结果, +以及用 SPEC CPU2006 进行性能评测得出的性能结果与分析。 |