Dependable Software Audio Graph Partitioning And Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing audio processing systems face challenges in achieving dependability due to the use of unreliable software audio processor modules, leading to failures that are not contained and result in reduced processing throughput and increased jitter, as general-purpose schedulers fail to make optimal scheduling decisions and introduce context-switching overhead.

Innovation Solution

The system partitions the audio processing graph into isolated partial subgraphs, measures performance, and analyzes audio processors to generate schedules, using deterministic scheduling and redundancy to ensure timely task completion and fault containment, allowing for complex processing graphs while minimizing latency and jitter.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If general-purpose schedulers are used to manage audio processor tasks, then system flexibility and ease of operation are improved, but processing throughput deteriorates due to context-switching overhead and failures are not contained

Engineering Contradiction:
Improvesystem flexibilityVSAvoidprocessing throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The audio processing graph is partitioned into isolated partial subgraphs, where each subgraph represents a distinct processing domain. This segmentation allows failures to be contained within individual subgraphs rather than propagating system-wide, while enabling independent scheduling and execution of each subgraph to maximize processing throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A custom scheduler acts as an intermediary between the audio processing graph and the execution environment. This scheduler performs ahead-of-time analysis and generates optimized schedules for each subgraph, eliminating the need for continuous context-switching and improving processing throughput while maintaining system flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If general-purpose schedulers introduce context-switching overhead, then adaptability to dynamic conditions is improved, but processing throughput and time predictability deteriorate

Engineering Contradiction:
Improveadaptability to dynamic conditionsVSAvoidcontext-switching overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs ahead-of-time analysis of the audio processing graph to determine optimal execution schedules before runtime. This preliminary action generates fixed schedules for each subgraph that can be executed efficiently without frequent context-switching, reducing time loss while maintaining adaptability through configurable subgraph definitions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides dynamic configuration capabilities through the audio processing graph model, allowing users to define complex processing chains with multiple subgraphs. The scheduler dynamically assigns execution resources to subgraphs based on the graph structure, maintaining adaptability while minimizing runtime context-switching through efficient schedule generation.

Inventive Principle:
Principle #15Dynamics

3Reliability

If audio processing graph is partitioned into isolated partial subgraphs, then failure containment and system dependability are improved, but device complexity increases

Engineering Contradiction:
Improvefailure containmentVSAvoidsystem structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The audio processing graph is segmented into isolated partial subgraphs, where each subgraph is enclosed in its own execution sandbox. This segmentation provides automatic failure containment - if one subgraph fails, only that subgraph is affected, not the entire system. The segmentation is achieved through standard graph partitioning algorithms that create meaningful domains based on processing dependencies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates executable copies of subgraphs as independent units that can be scheduled and executed separately. Each subgraph copy includes its own resource requirements and execution parameters, allowing them to be managed independently. This copying approach simplifies failure containment while maintaining manageable system complexity through modular replication.

Inventive Principle:
Principle #26Copying

4Productivity

If ahead-of-time analysis and scheduling is performed, then processing throughput and time predictability are improved, but measurement and analysis requirements increase

Engineering Contradiction:
Improveprocessing throughputVSAvoidperformance measurement requirements
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The system incorporates performance measurement and analysis feedback into the scheduling process. By measuring actual execution times and resource consumption of subgraphs, the system refines its ahead-of-time analysis to generate more accurate schedules. This feedback loop improves processing throughput while managing measurement requirements through targeted monitoring of key performance indicators.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250284535A1Dependable software audio processing system
Publication Date: 2025.09.11 FOURIER AUDIO LTD
  • US20250284535A1 patent drawing
  • US20250284535A1 patent drawing
  • US20250284535A1 patent drawing

AI summary

A method is described for generating a dependable real-time audio processing system. An acyclic audio processing graph is partitioned 404-405 to generate one or more isolated partial subgraphs. The performance is measured 412 of one or more audio processors in the isolated partial subgraphs. The measured performance is analyzed 412 of the one or more audio processors to generate audio processor analysis data 413. Inter-subgraph scheduling 421 may be performed using the isolated partial subgraphs and the audio processor analysis data 413 to generate a per-CPU schedule 431. Intra-subgraph scheduling 422 may be performed using the isolated partial subgraphs and the audio processor analysis data 413 to generate a per-subgraph schedule (432).