Execution Graph Resource Selection for Media Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing programs face challenges in efficiently executing media modification functions across different hardware resources like CPUs and GPUs, as they often require manual specification of resources, which is time-consuming and inefficient, especially when legacy functions need to be executed on updated hardware.
Innovation Solution
The system receives a resource-independent input graph from the user indicating functions to be performed on media input and automatically determines the optimal set of resources for execution, reducing memory footprint, execution time, and avoiding overuse of a single resource by converting data between resources as needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual specification of hardware resources is required for executing data processing functions, then execution control is precise, but system complexity and user input time increase
Solution Approach 1:
The system automatically determines and selects appropriate hardware resources for executing data processing functions without requiring manual user specification. The resource determination module autonomously analyzes the input graph and selects optimal execution resources, making the system self-serve in resource allocation decisions
Solution Approach 2:
The system is designed to handle multiple types of data processing functions (image processing, audio processing, video processing) across different hardware resources (CPU, GPU, specialized processors) through a unified framework. The single system can adapt to various function types and hardware configurations without requiring separate manual configuration for each case
2Productivity
If multiple hardware resources are available for executing data processing functions, then execution efficiency improves, but resource selection complexity increases
Solution Approach 1:
The system performs preliminary resource determination by analyzing the input graph and pre-selecting appropriate hardware resources before actual function execution. The resource determination module prepares the execution plan in advance, identifying which resources to use based on function characteristics and hardware capabilities
Solution Approach 2:
The system changes execution parameters by dynamically selecting different hardware resources based on the specific data processing function being executed. The resource selection adapts parameters such as processing architecture type (CPU vs GPU vs specialized processor) according to the function requirements and available hardware
3Adaptability or versatility
If data conversions between different resources are performed, then resource flexibility improves, but execution time increases
Solution Approach 1:
The system performs preliminary resource determination and conversion planning before execution, identifying necessary data conversions between different hardware resources in advance. By pre-planning the execution graph with appropriate conversion nodes, the system minimizes runtime overhead
Data Source
AI summary
Various embodiments herein provide one or more systems, methods, software, and data structures for executing multiple functions using more than one resource within a computing system. Examples of functions comprise data processing filters and effects. Resources include, for example, a central processing unit (CPU) and a graphics processing unit (GPU). Based on an input graph received from a user, one or more execution graphs may be generated to indicate the resources to be used and data conversions to be performed.


