Page 53 - 《软件学报》2025年第9期
P. 53

3964                                                       软件学报  2025  年第  36  卷第  9  期


                 果差异最小, 这在一定程度上说明了           Spike-FlexiCAS  针对缓存仿真的准确性和正确性.

                 4.2   不同配置下  Spike-FlexiCAS  的性能测试
                    本文评估了     Spike-FlexiCAS  仿真时缓存携带数据和不携带数据对整体仿真速度的影响以及对缓存仿真速度
                 的影响. 具体地, 本文测试了在        Spike-FlexiCAS  运行  SPEC CPU2006  测试集时, 仿真  100G  条指令携带数据和不携
                 带数据所需的时间, 测试的结果如图           7  所示. 所有基准测试在携带数据运行时在缓存操作花费的时间和整体仿真
                 的时间均高于不携带数据运行. 特别地, 对于某些基准测试, 如                  454.calculix  和  481.wrf, 携带数据时的缓存操作时
                 间较不携带数据增加了        35%  以上, 整体仿真时间的增幅也超过了           10%. 对于所有的基准测试, 携带数据时的缓存
                 花费时间与整体仿真时间的增幅分别约为               15%  和  5%.仿真时间增加的原因是由于携带数据运行会涉及到对数据
                 的拷贝和迁移, 因此降低了仿真的速度.

                        12
                              不携带数据      携带数据
                       时间 (×10 3  s) 10 8 6




                         2 4
                         0
                                           436.cactusADM
                                                   445.gobmk
                                       434.zeusmp
                       400.perlbench 401.bzip2 403.gcc  429.mcf 435.gromacs  444.namd  447.dealll  454.calculix  458.sjeng 462.libquantum  465.tonto 470.lbm 473.astar 481.wrf 483.xalancbmk  mean
                                 410.bwaves
                                                         450.soplex
                                                                  459.GemsFDTD
                                                                                         482.sphinx3
                                                              456.hmmer
                                                                          464.h264ref
                                                            (a) 缓存操作
                        35
                              不携带数据      携带数据
                        30
                       时间 (×10 3  s)  20
                        25
                        15
                        10
                         5
                         0
                                                   445.gobmk
                                                         450.soplex
                                       434.zeusmp
                                           436.cactusADM
                                                                     462.libquantum
                                                                                         482.sphinx3
                                                              456.hmmer
                                                                  458.sjeng
                                 410.bwaves
                       400.perlbench 401.bzip2 403.gcc  429.mcf 435.gromacs  444.namd  447.dealll  454.calculix  459.GemsFDTD  464.h264ref 465.tonto 470.lbm 473.astar 481.wrf 483.xalancbmk  mean
                                                            (b) 整体仿真
                     图 7 Spike-FlexiCAS 携带数据和不携带数据运行         SPEC CPU2006  测试集  100G  条指令花费时间对比

                    本文评估了不同的缓存层级对           Spike-FlexiCAS  的整体仿真速度影响以及对缓存仿真速度的影响. 具体地, 本
                 文首先测试了     Spike-FlexiCAS  在缓存层级为一级、二级、三级缓存以及都设置为包含性的上下级缓存关系时, 仿
                 真  SPEC CPU2006  测试集  100G  条指令花费的时间, 测试的结果如图         8  所示. 所有基准测试在缓存操作花费时间
                 和整体仿真时间都随着缓存层级的提升有所延长. 其中二级缓存和三级缓存对比一级缓存在缓存操作花费的时间
                 分别平均增长了      36.6%  和  60.3%, 整体仿真的时间分别平均增加了        9.9%  和  16.7%. 仿真时间增加的原因是由于缓
                 存层级的增加会导致维护缓存一致性的操作变多, 因此仿真的速度也会变慢.
                    本文评估了不同的上下级缓存包含关系对               Spike-FlexiCAS  的整体仿真速度影响以及对缓存仿真速度的影响.
                 具体地, 本文首先测试了       Spike-FlexiCAS  在缓存层级为三级, 二级缓存是一级缓存的包含性缓存, 三级缓存是一级
                 和二级缓存的包含性和排他性缓存时, 仿真              SPEC CPU2006  测试集  100G  条指令花费的时间, 测试的结果如图          9
                 所示. 在不同的基准测试下, 包含性缓存和排他性缓存的缓存运行时间和整体仿真时间并无绝对的优劣. 如对于
                 429.mcf 和  465.tonto  来说, 包含性缓存的仿真性能更优, 但对于      436.cactusADM  和  464.h264ref 等基准测试, 排他
                 性缓存的仿真性能则更胜一筹. 导致这种现象的原因是, 排他性缓存相对包含性缓存能容纳的缓存数据更多, 但维
   48   49   50   51   52   53   54   55   56   57   58