Directed Acyclic Graph Parallel Computation for Database Task Dependency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database calculation methods in enterprise systems, such as inventory management, face complexity in computing production costs due to indirect overhead costs, which require sequential processing and result in high time complexity, especially when dealing with large datasets and intricate data relations.
Innovation Solution
The implementation of parallel-computation of tasks in a directed acyclic graph, where task dependencies are converted into a topologically ordered graph, allowing for parallel processing across layers, reducing the time complexity from O(N*R) to O*D, where D is the depth of dependency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If sequential processing is used for database calculations in inventory management, then task dependency accuracy is maintained, but computational time complexity increases to O(N*R)
Solution Approach 1:
The patent segments the computation tasks into multiple layers based on their dependency relationships, represented as a directed acyclic graph. Tasks with the same dependency level are grouped into the same layer, allowing independent parallel execution within each layer while maintaining inter-layer dependency constraints. This segmentation enables the system to process N tasks with R dependencies in O(D) time where D is the depth of the dependency graph, rather than sequential O(N*R) time.
Solution Approach 2:
The patent introduces a new dimension of parallel processing by organizing tasks across multiple computational layers. Instead of processing tasks in a single sequential dimension, the system creates a multi-layered computational structure where each layer represents a level of dependency depth. This dimensional transformation allows simultaneous execution of independent tasks across different processing units while preserving the original dependency relationships through the layer hierarchy.
2Productivity
If parallel processing is implemented without topological ordering, then computational speed increases, but task dependency relationships become incorrect
Solution Approach 1:
The patent performs preliminary topological sorting of tasks before parallel execution begins. This preliminary action establishes the correct execution order by assigning each task to a specific layer based on its dependency relationships. By pre-organizing tasks into layers where all dependencies of a task are satisfied by tasks in previous layers, the system ensures that parallel processing within each layer will not violate dependency constraints, thus maintaining reliability while enabling speedup.
Solution Approach 2:
The patent introduces layer assignment as an intermediary mechanism between task dependency specification and parallel execution. The topological ordering algorithm acts as a mediator that translates the complex web of task dependencies into a simplified layered structure. This intermediary representation allows the parallel processing system to execute tasks concurrently within layers while automatically respecting all dependency relationships, thus bridging the gap between speed and correctness requirements.
Data Source
AI summary
Disclosed herein are technologies related to database calculation that utilizes parallel-computation of tasks in a directed acyclic graph. In accordance with one aspect, dependency of tasks is converted into a directed acyclic graph that topologically orders the tasks into layers of tasks. A database calculation may be performed, wherein the database calculation computes in parallel the tasks in each layer of the layers of tasks.


