Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Concurrency Benchmark

The Concurrency benchmark evaluates the efficiency of the operating system, processor architecture, runtime libraries, and synchronization primitives during parallel execution.

Modern software rarely executes as a single sequential process. Web servers, databases, distributed systems, compilers, game engines, messaging platforms, storage systems, and cloud-native applications continuously coordinate hundreds or thousands of concurrent execution units.

The performance of these systems depends not only on raw processor speed, but also on the efficiency of synchronization mechanisms, scheduler behavior, memory consistency, cache coherency, and inter-thread communication.

Unlike synthetic thread creation benchmarks, the Scalionix Concurrency benchmark measures realistic synchronization workloads representative of production software.

Objectives

The Concurrency benchmark has five primary objectives.

  • Measure synchronization overhead.
  • Evaluate parallel execution efficiency.
  • Measure operating system scheduling behavior.
  • Evaluate runtime synchronization primitives.
  • Measure scalability across increasing numbers of execution workers.

The benchmark intentionally focuses on practical synchronization workloads rather than theoretical thread creation performance.

Why Concurrency?

Concurrency is fundamental to modern computing.

Typical production workloads include:

  • Web servers
  • Databases
  • Task schedulers
  • Message queues
  • Build systems
  • Logging frameworks
  • Distributed storage
  • Game engines
  • Runtime schedulers
  • Background workers

Every one of these systems spends part of its execution coordinating concurrent tasks.

Consequently, synchronization efficiency directly affects practical application performance.

Benchmark Philosophy

The benchmark evaluates synchronization primitives during realistic execution rather than artificial contention loops.

Each workload performs useful computational work while coordinating execution between multiple workers.

Typical execution consists of:

             Create workers
                    │
                    ▼
            Execute workload
                    │
                    ▼
               Synchronize
                    │
                    ▼
             Exchange data
                    │
                    ▼
            Complete execution
                    │
                    ▼
            Measure throughput

The benchmark therefore evaluates practical parallel software behavior rather than isolated operating system calls.

Typical Concurrency Pipeline

           Create Workers
                 │
                 ▼
        Execute Workload
                 │
                 ▼
        Synchronization Phase
                 │
                 ▼
       Shared State Access
                 │
                 ▼
        Worker Completion
                 │
                 ▼
      Throughput Measurement

Benchmark Scenarios

The benchmark evaluates multiple synchronization mechanisms commonly used by production software.

Representative workloads include:

Mutex Synchronization

Measures exclusive access performance using mutual exclusion primitives.

Read-Write Locks

Measures concurrent reader and exclusive writer behavior.

Atomic Operations

Measures lock-free synchronization using atomic variables.

Channels

Measures producer-consumer communication.

Barrier Synchronization

Measures coordinated execution across multiple workers.

Work Queue Processing

Measures dynamic task scheduling between concurrent workers.

Every scenario executes deterministic workloads while measuring synchronization efficiency.

Workload Characteristics

Each workload has been designed to represent common software engineering patterns rather than synthetic contention.

Workloads include combinations of:

  • Shared state
  • Independent computation
  • Synchronization
  • Message passing
  • Task distribution

This approach produces measurements representative of practical concurrent software.

Worker Configuration

Unlike other benchmark categories, Concurrency intentionally emphasizes scaling.

The benchmark executes increasing worker counts to evaluate scheduler efficiency and synchronization overhead.

Representative worker configurations include:

[ 1 / 2 / 4 / 6 / 8 / 12 / 16 / 20 / 24 / 32 ]

The exact worker matrix depends on the detected processor topology.

Verification

Every concurrency workload verifies execution correctness.

Verification includes:

  • Completed work
  • Synchronization correctness
  • Absence of lost updates
  • Deterministic final state

Any synchronization failure immediately invalidates benchmark execution.

Measured Metrics

Primary benchmark metrics include:

  • Operations per second
  • Synchronization latency
  • Worker configuration
  • Execution duration
  • Completed operations

The scoring adapter converts these measurements into normalized operations per second.

Score Calculation

Concurrency workloads fully participate in the Compute Score.

Every workload contributes:

Single-thread Score

Measures sequential execution without synchronization overhead.

Multi-thread Score

Measures maximum throughput under concurrent execution.

Scaling Score

Measures how efficiently synchronization scales as additional workers are introduced.

Scenario scores are aggregated into the Concurrency category score.

Hardware Characteristics Measured

Concurrency workloads exercise several processor and operating system components simultaneously.

Processor Architecture

Instruction execution and cache coherency.

Memory Subsystem

Shared memory traffic generated by concurrent workers.

Cache Coherency

Synchronization frequently requires cache line ownership transfers between processor cores.

Operating System Scheduler

Thread scheduling directly affects execution efficiency.

Runtime Library

Synchronization primitives implemented by the language runtime significantly influence measured throughput.

Consequently, Concurrency represents one of the best indicators of real-world multi-threaded application performance.

Practical Interpretation

High Concurrency benchmark scores generally indicate:

  • Efficient processor cache coherency
  • Low synchronization overhead
  • Strong operating system scheduler performance
  • Efficient runtime implementation
  • Excellent parallel scalability

These characteristics directly benefit backend servers, distributed systems, compilers, messaging platforms, and cloud-native infrastructure.

Design Summary

The Concurrency benchmark evaluates practical synchronization behavior using deterministic workloads representative of modern multi-threaded software.

Rather than measuring isolated synchronization primitives, the benchmark measures complete concurrent execution patterns that continuously occur inside production systems.

The resulting category score therefore reflects the practical ability of a computer system to execute highly parallel software efficiently while maintaining deterministic synchronization behavior.

Scalionix Docs

Keyboard Shortcuts

Navigate the documentation without leaving the keyboard.
Navigation
Previous subject
←
Next subject
→
Previous subsection
Alt + ↑
Next subsection
Alt + ↓
Interface
Documentation Home
Ctrl + Enter
Search
Alt + Q
Open shortcuts
?
Close dialog
Esc
Scalionix Docs

Search Documentation