Executable Graph Workload Adaptation via Parameter Modification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for parallel computing are limited in their ability to efficiently modify and reuse executable graphs for performing different workloads, as they are typically designed for a single workload and lack flexibility.
Innovation Solution
The development of techniques to modify and adapt executable graphs to accommodate various workloads by utilizing advanced processing systems and software frameworks, such as CUDA and OpenCL, which enable the translation and execution of task graphs across diverse processing units, including CPUs and GPUs, allowing for the reuse of task graphs for multiple workloads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If an executable graph is designed for a single workload, then it can perform that specific workload efficiently, but it cannot be reused for different workloads
Solution Approach 1:
The executable graph is designed to perform multiple different workloads by maintaining a generic structure with placeholder nodes and edges that can be configured for various computational tasks. The graph includes computing nodes, data transfer nodes, and synchronization nodes that can be adapted to different workload requirements through parameter modification rather than structural redesign.
Solution Approach 2:
The executable graph employs dynamic configuration where computing parameters, data transfer specifications, and synchronization settings can be modified between workload executions. This allows the same graph structure to adapt to different computational requirements by changing operational parameters rather than the graph topology itself.
2Adaptability or versatility
If an executable graph is modified to perform different workloads, then versatility improves, but the modification process becomes complex
Solution Approach 1:
The executable graph is pre-configured with a comprehensive structure that anticipates multiple workload types. Placeholder nodes and edges are established in advance with generic configurations, allowing future workload adaptations to be achieved through parameter assignment rather than structural creation. This preliminary setup reduces modification complexity when new workloads are introduced.
Solution Approach 2:
The system achieves workload diversity primarily through parameter modification rather than structural changes. Computing parameters, data transfer rates, synchronization intervals, and resource allocation settings are adjusted to match different workload requirements while maintaining the same underlying graph topology, thereby simplifying the adaptation process.
3Reliability
If computing resources are configured for each workload separately, then workload specificity is achieved, but resource utilization efficiency decreases
Solution Approach 1:
A single executable graph serves multiple workload functions, eliminating the need to create and configure separate computing resources for each workload. The same computing nodes, data transfer mechanisms, and synchronization structures are reused across different workloads by modifying operational parameters rather than deploying duplicate infrastructure.
Solution Approach 2:
Multiple workload requirements are merged into a unified executable graph structure that handles diverse computational tasks. By combining different workload configurations within one graph framework, the system avoids the overhead of maintaining separate resource configurations and achieves better overall resource utilization while maintaining workload-specific execution accuracy.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Techniques to modify executable graphs to perform different workloads. In at least one embodiment, an executable graph created from a task graph for a first workload is modified to perform a second workload that differs from first workload.