schbench/thread-contention

schbench scheduler benchmark measuring message and worker thread latency under contention.

Benchmark Profile

  • Type: Micro

  • Kernel subsystem: Scheduler, wakeups, contention

  • Coverage: Directly measured

  • Topology: Single role: executer

Overview

schbench creates message threads that dispatch work to worker threads, measuring 99th-percentile and mean latency. Sweeps the number of message and worker threads to characterise scheduler behaviour under varying contention levels.

Fastpath Parameters

Name

Description

message-thread-start

Starting number of message threads. Mandatory.

message-thread-end

Ending number of message threads for sweep. Optional; defaults to min(64, cpus).

message-thread-multiply

Multiplicative step for message thread sweep. Optional; defaults to 2.

worker-thread-start

Starting number of worker threads. Mandatory.

worker-thread-end

Ending number of worker threads for sweep. Optional; defaults to 2 * cpus.

worker-thread-multiply

Multiplicative step for worker thread sweep. Optional; defaults to 4.

runtime

Benchmark run duration in seconds. Mandatory.

sleep-usec

Sleep time between dispatches in microseconds. Mandatory.

Result Classes

Result class names encode message-thread and worker-thread counts and the latency percentile, for example ‘MsgT: 16 WrkT: 8 p99 (usec)’.

Fastpath Metadata

Field

Value

Suite

schbench

Name

thread-contention

Type

scheduler

Container Image

registry.gitlab.arm.com/tooling/fastpath/containers/schbench:v1.0

Documentation Path

documentation/user-guide/benchmarkcatalog/schbench-thread-contention.rst

Documentation URL

https://fastpath.docs.arm.com/user-guide/benchmarkcatalog/schbench-thread-contention.html