SPECjbb 2015

官方 PDF:SPECjbb2015 User Guide

三个部分:

  • Controller (Ctr): 分发请求;
  • Transaction Injector(s) (TxI): 转发请求;
  • Backend(s) (BE): 处理请求。

后两者组合称为一个 group,一般来说 Controller 只有一个,TxI 和 BE 都可以有多个,所以把不同个数的 TxI 和 BE 组合称为一个 group。Composite 模式下不需要 group,只有在 MultiJVM 模式下才需要 group。

SPECjbb running modes / Composite, MultiJVM, Distributed

run_composite.sh, run_multi.shrun_distributed_ctrl_txI / run_distributed_sut.

  • Composite 表示所有组件使用一个 JVM 实例,只需要使用 -m composite 指定就可以了。
  • MultiJVM 表示使用多个 JVM 实例,需要起三个 JVM,每一个 JVM 分别指定下面的模式:-m multicontroller, -m txinjector, -m backend

SPECjbb 2015 MultiJVM 模式

可以有以下几种模式。具体怎么执行可以在这里找到:

[!PDF|annotate] [[SPECjbb 2015 User Guide.pdf#page=13&selection=92,0,94,73&color=annotate|SPECjbb 2015 User Guide, p.13]] 5.5.3. Example Multi-JVM run for 1 Group with 1 TxI / Backend (or 1 TxI / Group)

![[SPECjbb 2015 User Guide.pdf#page=14&rect=106,628,349,721&color=annotate SPECjbb 2015 User Guide, p.14]]
![[SPECjbb 2015 User Guide.pdf#page=14&rect=107,351,334,473&color=annotate SPECjbb 2015 User Guide, p.14]]
![[SPECjbb 2015 User Guide.pdf#page=15&rect=108,587,305,721&color=annotate SPECjbb 2015 User Guide, p.15]]
![[SPECjbb 2015 User Guide.pdf#page=15&rect=108,112,346,289&color=annotate SPECjbb 2015 User Guide, p.15]]

SPECjbb 2015 Distributed 模式

只在我们要测试的机器跑 BE,Ctr 和 TxI 跑在其他机器上,能够避免影响。

[!PDF|annotate] [[SPECjbb 2015 User Guide.pdf#page=16&selection=37,0,39,73&color=annotate|SPECjbb 2015 User Guide, p.16]] 5.6.1. Example distributed run for 1 Group with 1 TxI / Backend (or 1 TxI/Group)

如何执行 SPECjbb 2015 测试?

The benchmark user needs to populate:

  • the template file with HW/SW details,
  • the property file for run configuration(对执行过程的一些配置), and
  • launch script to specify intended run category(workload 怎么跑,).

Benchmark kit has templates for each of these.

有一个文件夹 config/,目录下的文件:

config/
    # benchmark 跑的时候,下面三个文件不会用到,是执行结束后
    # controller 调用 reporter 会把他们作为输入用来生成 HTML report 的。
    template-C.raw # for SPECjbb2015-Composite
    template-M.raw # for SPECjbb2015-MultiJVM
    template-D.raw # for SPECjbb2015-Distribute
    # 这个文件用来指导 specjbb 的运行的参数,也可以通过 command line option
    # command line option 会覆盖这里面定义的默认参数。这个一个总的文件,
    # Ctr, TxI, BE 乃至 Composite 和 multijvm 用到的属性都可以直接定义在这个文件里。
    SPECjbb2015.prop

整体是这么执行的:

java <options> -jar specjbb2015.jar <argument> [<value>] …

Properties

  • specjbb.group.count: 指定组的数量;

SPECjbb 如何制定整个 benchmarking 的时长?