Dependable Software Audio Graph Partitioning And Scheduling
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If audio processing graph is partitioned into isolated partial subgraphs, then failure containment and system dependability are improved, but device complexity increases
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.
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.
4Productivity
If ahead-of-time analysis and scheduling is performed, then processing throughput and time predictability are improved, but measurement and analysis requirements increase
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.
Data Source
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).


