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

韩金池 等: Spike-FlexiCAS: 支持缓存架构灵活配置的 RISC-V 处理器模拟器                                3967


                 系统模式模拟), 之后再在       Linux  环境上进行测试. 所有模拟器设置运行的核数均为              2, 其余配置则和前文描述的保
                 持一致.
                    4  个模拟器运行    PARSEC  测试集   simsmall 规模的速度如图     12  所示. ZSim  依旧是运行速度最快的模拟器,
                 Spike-FlexiCAS  则紧随其后.
                        10 6 5                                       Sniper  gem5  ZSim   Spike-FlexiCAS
                      每秒运行的千条指令数  10 4 3 2 1
                        10

                        10
                        10
                        10
                         0
                        10
                         −1
                       10
                              Blackscholes   Freqmine      Fludanimate    Swaptions    Streamcluster
                                         图 12 各模拟器运行      PARSEC  测试集的速度对比

                    本文还将    ZSim  的缓存架构进行了分离, 使其能够单独地模拟缓存行为, 以此对比                    ZSim-Cache 和  FlexiCAS
                 的性能. 具体地, 首先使用      Spike-FlexiCAS  运行  SPEC CPU2006  测试集并收集执行  10G  条指令的仿存序列. 其次,
                 在相同的缓存配置和编译优化配置下, 测试              ZSim-Cache 和  FlexiCAS  对这些仿存序列重放的时间, 结果如图       13  所
                 示. 对于所有基准测试的仿存序列, FlexiCAS         的重放时间均少于       ZSim-Cache 的重放时间. 特别地, 对于某些基准
                 测试, 如  400.perlbench  和  401.bzip2, ZSim-Cache 的重放时间甚至达到了  FlexiCAS  重放时间的  2.8–3.2  倍. 总体而
                 言, ZSim-Cache 对于所有基准测试的仿存轨迹的平均重放时间是               FlexiCAS  的  2.31  倍.

                       1 800                                                       ZSim-Cache  FlexiCAS
                       1 600
                     重放时间 (s) 1 400
                       1 200
                       1 000
                        800
                        600
                        400
                        200
                          0
                                           436.cactusADM
                                       434.zeusmp
                        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
                                                                   458.sjeng
                                                                                         482.sphinx3
                                                                      462.libquantum
                                                               456.hmmer
                                                   445.gobmk
                                                         450.soplex
                                 410.bwaves
                      图 13 ZSim-Cache 和  FlexiCAS  重放  SPEC CPU2006  测试集  10G  条指令的仿存序列花费时间对比

                 5   总结与展望
                    本文对   RISC-V  处理器模拟器    Spike 的缓存模型进行了升级, 新升级的缓存模型具有可配置、易扩展以及高
                 性能的特性, 此外它还支持对任意不同的缓存特性进行组合. 性能测试的结果表明, FlexiCAS 对比当前最快的执
                 行驱动型模拟器      ZSim  的缓存模型具有明显的性能优势. 例如, 它们在对相同的仿存序列仿真时, FlexiCAS                   的仿真
                 性能是   ZSim  缓存模型的   2.31  倍. 后续工作除了为   FlexiCAS  添加更多的缓存特性外, 本文还计划参考和借鉴这些
                 工作  [36,37] 升级  Spike-FlexiCAS  以使其支持多线程并行的多核仿真并与真实处理器进行比较与校准.

                 References:
                  [1]   Karandikar S, Mao H, Kim D, Biancolin D, Amid A, Lee D, Pemberton N, Amaro E, Schmidt C, Chopra A, Huang QJ, Kovacs K,
                     Nikolic B, Katz R, Bachrach J, Asanovic K. FireSim: FPGA-Accelerated cycle-exact scale-out system simulation in the public cloud. In:
                     Proc. of the 45th Annual Int’l Symp. on Computer Architecture. Los Angeles: IEEE, 2018. 29–42. [doi: 10.1109/ISCA.2018.00014]
                  [2]   Binkert N, Beckmann B, Black G, Reinhardt SK, Saidi A, Basu A, Hestness J, Hower DR, Krishna T, Sardashti S, Sen R, Sewell K,
                     Shoaib M, Vaish N, Hill MD, Wood DA. The gem5 simulator. ACM SIGARCH Computer Architecture News, 2011, 39(2): 1–7. [doi: 10.
   51   52   53   54   55   56   57   58   59   60   61