summaryrefslogtreecommitdiff
path: root/chap/chap5.tex
diff options
context:
space:
mode:
Diffstat (limited to 'chap/chap5.tex')
-rw-r--r--chap/chap5.tex189
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 进行性能评测得出的性能结果与分析。