Audio Thread Profiling With Preemption-Aware Load Measurement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-threaded audio processing systems, accurately profiling processor load for lower priority threads is challenging due to preemption by higher priority threads, leading to inaccurate and inconsistent profiling results.

Innovation Solution

A method where higher priority threads share their profiling information with lower priority threads, allowing the latter to adjust their profiling by subtracting the time spent in preemption, and this process is cascaded for additional threads, ensuring accurate processor load estimation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If multithreading is used to improve audio processing capability, then processing power and functionality are improved, but accurate profiling of processor load becomes difficult due to thread preemption

Engineering Contradiction:
Improveaudio processing powerVSAvoidprocessor load profiling accuracy
Core Design Contradiction:
PowerVSMeasurement precision

Solution Approach 1:

The patent implements a feedback mechanism where higher priority threads report their execution time and preemption information to lower priority threads. This feedback loop allows the profiling system to accurately account for time spent in preemption by collecting data from all threads and adjusting the profile accordingly, resolving the measurement inaccuracy caused by multithreading

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces an intermediary profiling mechanism that mediates between multiple threads. The system uses a common profiling buffer and coordination mechanism that collects execution time information from all threads, including preemption data from higher priority threads, and synthesizes accurate processor load profiles for each thread despite the complex multithreaded execution environment

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If thread preemption is allowed to maintain system responsiveness, then real-time performance is improved, but profiling results become inconsistent and inaccurate

Engineering Contradiction:
Improvesystem responsivenessVSAvoidprofiling consistency
Core Design Contradiction:
SpeedVSStability of the object's composition

Solution Approach 1:

The patent applies preliminary action by having higher priority threads proactively report their execution time and preemption information to lower priority threads before the lower priority threads complete their execution. This advance notification allows the profiling system to pre-adjust for preemption time, ensuring consistent and accurate profiling results even though preemption occurs during execution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system establishes a feedback mechanism where preemption information flows from higher priority threads to lower priority threads. This feedback enables the profiling system to dynamically adjust measurements and maintain consistency despite the variable execution paths caused by preemption, resolving the instability in profiling results

Inventive Principle:
Principle #23Feedback

3Ease of manufacture

If simple profiling methods are used to reduce complexity, then ease of implementation is improved, but accuracy in multithreaded environments deteriorates

Engineering Contradiction:
Improveprofiling implementation simplicityVSAvoidprocessor load measurement accuracy
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The patent segments the profiling task into manageable components: each thread maintains its own execution time counter, higher priority threads report preemption information, and a central profiling system aggregates and adjusts the data. This segmentation allows the complex multithreaded profiling problem to be solved through simple, modular operations that maintain accuracy without excessive complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism that coordinates between threads and the profiling system. This intermediary handles the complex task of collecting, adjusting, and synthesizing profiling data from multiple threads, maintaining measurement accuracy while keeping the implementation approachable through a clear intermediary layer that manages the complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12596572B2Audio multithreaded profiling
Publication Date: 2026.04.07 DSP CONCEPTS INC
  • US12596572B2 patent drawing
  • US12596572B2 patent drawing
  • US12596572B2 patent drawing

AI summary

A method of thread-level cycle processing includes determining a clock value at the start of execution of a first thread, receiving preemption of the first thread by a second thread; determining a clock value at the start and end of execution of the second thread, determining a duration of the second thread by subtracting the clock value at the start of execution of the second thread from the clock value at the end of execution of the second thread. A clock value at the end of execution of the first thread is then determined and a duration of the first thread is determined by subtracting the duration of the second thread from the difference between the clock value at the end of execution of the first thread and the clock value at the end of execution of the first thread.