Lenovo Global Technology ThinkSystem SD535 V3 646103 SPECjbb2015-MultiJVM max-jOPS
402693 SPECjbb2015-MultiJVM critical-jOPS
Tested by: Lenovo Global Technology Test Sponsor: Lenovo Global Technology Test location: Beijing, China Test date: Apr 17, 2025
SPEC license #: 9017 Hardware Availability: Jun-2025 Software Availability: Mar-2025 Publication: Thu May 1 12:37:21 EDT 2025
Benchmark Results Summary
 
Overall Throughput RT curve
Overall SUT (System Under Test) Description
VendorLenovo Global Technology
Vendor URLhttp://www.lenovo.com
System SourceSingle Supplier
System DesignationServer Rack
Total Systems1
All SUT Systems IdenticalYES
Total Nodes1
All Nodes IdenticalYES
Nodes Per System1
Total Chips1
Total Cores192
Total Threads384
Total Memory Amount (GB)768
Total OS Images1
SW EnvironmentNon-virtual
 
Hardware hw_1
NameThinkSystem SD535 V3
VendorLenovo Global Technology
Vendor URLhttp://www.lenovo.com
AvailableJun-2025
ModelThinkSystem SD535 V3
Form Factor1U
CPU NameAMD EPYC 9965
CPU Characteristics192 Core, 2.25 GHz, 384 MB L3 Cache(Max. Boost Clock Up to 3.70 GHz)
Number of Systems1
Nodes Per System1
Chips Per System1
Cores Per System192
Cores Per Chip192
Threads Per System384
Threads Per Core2
VersionGPE119C
CPU Frequency (MHz)2250
Primary Cache32KB(I)+48KB(D) on chip per core
Secondary Cache1MB (I+D) on chip per core
Tertiary Cache384MB (I+D) on chip per chip
Other CacheNone
Disk1 x 1.92 TB M.2 NVME SSD
File SystemXFS
Memory Amount (GB)768
# and size of DIMM(s)12 x 64 GB
Memory Details64 GB 2Rx4 PC5-6400B-R
# and type of Network Interface Cards (NICs)1 x 10/25 GbE OCP NIC
Power Supply Quantity and Rating (W)3 x 2700W
Other HardwareNone
Cabinet/Housing/EnclosureNone
Shared DescriptionNone
Shared CommentNone
Notes
  • NA: The test sponsor attests, as of date of publication, that CVE-2017-5754 (Meltdown) is mitigated in the system as tested and documented.
  • Yes: The test sponsor attests, as of date of publication, that CVE-2017-5753 (Spectre variant 1) is mitigated in the system as tested and documented.
  • Yes: The test sponsor attests, as of date of publication, that CVE-2017-5715 (Spectre variant 2) is mitigated in the system as tested and documented.
Other Hardware network_1
NameNone
VendorNone
Vendor URLNone
VersionNone
AvailableNone
BitnessNone
NotesNone
Operating System os_1
NameSUSE Linux Enterprise Server 15 SP6
VendorSUSE
Vendor URLhttp://suse.com/
Version6.4.0-150600.21-default
AvailableJun-2024
Bitness64
NotesNone
Java Virtual Machine jvm_1
NameOracle Java SE 24
VendorOracle Corporation
Vendor URLhttp://oracle.com/
VersionJava HotSpot 64-Bit Server VM, version 24
AvailableMar-2025
Bitness64
NotesNone
Other Software other_1
NameNone
VendorNone
Vendor URLNone
VersionNone
AvailableNone
BitnessNone
NotesNone
Hardware
OS Images os_Image_1(1)
Hardware Description hw_1
Number of Systems 1
SW Environment non-virtual
Tuning BIOS Configuration:
  • Operating Mode set to Maximum Performance and then set to Custom Mode
  • NUMA Nodes per Socket set to NPS4
  • P-State set to Enabled
  • L1 Stream HW Prefetcher set to Disabled
  • L2 Stream HW Prefetcher set to Disabled
Notes None
OS Image os_Image_1
JVM Instances jvm_Ctr_1(1), jvm_Backend_1(12), jvm_TxInjector_1(12)
OS Image Description os_1
Tuning
  • cpupower frequency-set -g performance
  • tuned-adm profile throughput-performance
  • echo 950000 > /proc/sys/kernel/sched_rt_runtime_us
  • echo 20000000 > /proc/sys/kernel/sched_latency_ns
  • echo 40000 > /proc/sys/kernel/sched_migration_cost_ns
  • echo 200000 > /proc/sys/kernel/sched_min_granularity_ns
  • echo 40000 > /proc/sys/kernel/sched_wakeup_granularity_ns
  • echo 128 > /proc/sys/kernel/sched_nr_migrate
  • echo 10000 > /proc/sys/vm/dirty_expire_centisecs
  • echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
  • echo 40 > /proc/sys/vm/dirty_ratio
  • echo 10 > /proc/sys/vm/dirty_background_ratio
  • echo 10 > /proc/sys/vm/swappiness
  • echo 0 > /proc/sys/kernel/numa_balancing
  • echo always > /sys/kernel/mm/transparent_hugepage/defrag
  • echo always > /sys/kernel/mm/transparent_hugepage/enabled
  • ulimit -n 1024000
  • UserTasksMax=970000
  • DefaultTasksMax=970000
Notes None
JVM Instance jvm_Ctr_1
Parts of Benchmark Controller
JVM Instance Description jvm_1
Command Line -Xms5g -Xmx5g -Xmn3g -XX:+UseParallelGC -XX:ParallelGCThreads=1 -XX:CICompilerCount=2
Tuning numactl --interleave=all
Notes None
JVM Instance jvm_Backend_1
Parts of Benchmark Backend
JVM Instance Description jvm_1
Command Line -Xms31g -Xmx31g -Xmn28g -XX:AllocatePrefetchInstr=2 -XX:+UseParallelGC -XX:ParallelGCThreads=32 -XX:LargePageSizeInBytes=2m -XX:-UseAdaptiveSizePolicy -XX:+AlwaysPreTouch -XX:+UseLargePages -XX:SurvivorRatio=35 -XX:TargetSurvivorRatio=95 -XX:MaxTenuringThreshold=15 -XX:InlineSmallCode=11k -XX:MaxGCPauseMillis=100 -XX:LoopUnrollLimit=200 -XX:+UseTransparentHugePages -XX:TLABAllocationWeight=2 -XX:CompileThresholdScaling=120 -XX:CICompilerCount=4 -XX:AutoBoxCacheMax=32 -XX:OnStackReplacePercentage=100 -XX:TLABSize=64k -XX:MinTLABSize=64k -XX:-ResizeTLAB -XX:TLABWasteTargetPercent=1 -XX:TLABWasteIncrement=1 -XX:YoungPLABSize=64k -XX:OldPLABSize=64k
Tuning
  • Used numactl to affinitize each Backend JVM to 16 Core / 32 Threads
  • Group1: numactl --physcpubind=0-15,192-207 --localalloc
  • Group2: numactl --physcpubind=16-31,208-223 --localalloc
  • Group3: numactl --physcpubind=32-47,224-239 --localalloc
  • Group4: numactl --physcpubind=48-63,240-255 --localalloc
  • Group5: numactl --physcpubind=64-79,256-271 --localalloc
  • Group6: numactl --physcpubind=80-95,272-287 --localalloc
  • Group7: numactl --physcpubind=96-111,288-303 --localalloc
  • Group8: numactl --physcpubind=112-127,304-319 --localalloc
  • Group8: numactl --physcpubind=128-143,320-335 --localalloc
  • Group10: numactl --physcpubind=144-159,336-351 --localalloc
  • Group11: numactl --physcpubind=160-175,352-367 --localalloc
  • Group12: numactl --physcpubind=176-191,368-383 --localalloc
Notes None
JVM Instance jvm_TxInjector_1
Parts of Benchmark TxInjector
JVM Instance Description jvm_1
Command Line -Xms5g -Xmx5g -Xmn3g -XX:+UseParallelGC -XX:ParallelGCThreads=1 -XX:CICompilerCount=2
Tuning
  • Used numactl to affinitize each Transaction Injector JVM to 16 Core / 32 Threads
  • Group1: numactl --physcpubind=0-15,192-207 --localalloc
  • Group2: numactl --physcpubind=16-31,208-223 --localalloc
  • Group3: numactl --physcpubind=32-47,224-239 --localalloc
  • Group4: numactl --physcpubind=48-63,240-255 --localalloc
  • Group5: numactl --physcpubind=64-79,256-271 --localalloc
  • Group6: numactl --physcpubind=80-95,272-287 --localalloc
  • Group7: numactl --physcpubind=96-111,288-303 --localalloc
  • Group8: numactl --physcpubind=112-127,304-319 --localalloc
  • Group8: numactl --physcpubind=128-143,320-335 --localalloc
  • Group10: numactl --physcpubind=144-159,336-351 --localalloc
  • Group11: numactl --physcpubind=160-175,352-367 --localalloc
  • Group12: numactl --physcpubind=176-191,368-383 --localalloc
Notes None
max-jOPS = jOPS passed before the First Failure
Pass/Fail Pass Pass Pass Fail Fail
jOPS 631903 639003 646103 653203 660303
critical-jOPS = Geomean ( jOPS @ 10000; 25000; 50000; 75000; 100000; SLAs )
Response time percentile is 99-th
SLA (us) 10000 25000 50000 75000 100000 Geomean
jOPS 280451 365652 436652 479252 493452 402693
  Percentile
  10-th 50-th 90-th 95-th 99-th 100-th
500us 7100 / 14200 - / 7100 - / 7100 - / 7100 - / 7100 - / 7100
1000us 433102 / 440202 35500 / 42600 7100 / 14200 7100 / 14200 - / 7100 - / 7100
5000us 575102 / 582202 532502 / 539602 355001 / 340801 276901 / 284001 170401 / 177501 - / 7100
10000us 582202 / 589302 546702 / 553802 461502 / 468602 411802 / 418902 276901 / 284001 - / 7100
25000us 589302 / 596403 560902 / 568002 504102 / 511202 475702 / 482802 362102 / 369202 - / 7100
50000us 596403 / 603503 568002 / 575102 525402 / 532502 497002 / 504102 433102 / 440202 28400 / 35500
75000us 596403 / 603503 575102 / 582202 539602 / 546702 511202 / 518302 475702 / 482802 156201 / 78100
100000us 603503 / 610603 575102 / 582202 546702 / 553802 532502 / 539602 489902 / 497002 262701 / 78100
200000us 624803 / 631903 589302 / 596403 568002 / 575102 560902 / 568002 539602 / 546702 418902 / 78100
500000us 646103 / - 624803 / 631903 596403 / 603503 589302 / 596403 575102 / 582202 497002 / 383402
1000000us 646103 / - 646103 / - 631903 / 639003 631903 / 639003 624803 / 631903 539602 / 475702
Probes jOPS / Total jOPS
Request Mix Accuracy
Note
(Actual % in the Mix - Expected % in the Mix) must be within:
'Main Tx' limit of +/-5.0% for the requests whose expected % in the mix is >= 10.0%
'Minor Tx' limit of +/-1.0% for the requests whose expected % in the mix is < 10.0%
There were no non-critical failures in Response Time curve building
Delay between status pings
IR/PR Accuracy
This section lists properties only set by user
Property Name Default Controller Group1.Backend.beJVM Group1.TxInjector.txiJVM1 Group10.Backend.beJVM Group10.TxInjector.txiJVM1 Group11.Backend.beJVM Group11.TxInjector.txiJVM1 Group12.Backend.beJVM Group12.TxInjector.txiJVM1 Group2.Backend.beJVM Group2.TxInjector.txiJVM1 Group3.Backend.beJVM Group3.TxInjector.txiJVM1 Group4.Backend.beJVM Group4.TxInjector.txiJVM1 Group5.Backend.beJVM Group5.TxInjector.txiJVM1 Group6.Backend.beJVM Group6.TxInjector.txiJVM1 Group7.Backend.beJVM Group7.TxInjector.txiJVM1 Group8.Backend.beJVM Group8.TxInjector.txiJVM1 Group9.Backend.beJVM Group9.TxInjector.txiJVM1
specjbb.comm.connect.client.pool.size 256 160 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320
specjbb.comm.connect.selector.runner.count 0 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
specjbb.comm.connect.timeouts.connect 60000 900000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000
specjbb.comm.connect.timeouts.read 60000 800000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000
specjbb.comm.connect.timeouts.write 60000 800000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000
specjbb.comm.connect.worker.pool.max 256 160 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320 320
specjbb.comm.connect.worker.pool.min 1 16 32 1 32 1 32 1 32 1 32 1 32 1 32 1 32 1 32 1 32 1 32 1 32 1
specjbb.controller.maxir.maxFailedPoints 3 1
specjbb.controller.rtcurve.warmup.step 0.1 0.9
specjbb.customerDriver.threads 64 {probe=90, saturate=180, service=100}
specjbb.forkjoin.workers 384 {Tier1=555, Tier2=12, Tier3=76}
specjbb.group.count 1 12
specjbb.heartbeat.threshold 100000 50000
specjbb.mapreducer.pool.size 384 12
specjbb.txi.pergroup.count 1 1
View table in csv format
 
Level: COMPLIANCE
Check Agent Result
Check properties on compliance All PASSED
 
Level: CORRECTNESS
Check Agent Result
Compare SM and HQ Inventory All PASSED
High-bound (max attempted) is 710003 IR
High-bound (settled) is 671366 IR