Data Rule Operator Grouping for Balanced Compute Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The distribution of data rules to compute nodes is often uneven, leading to inefficiencies due to some nodes receiving too many rules relative to others, despite varying CPU usage, which affects overall performance and throughput.
Innovation Solution
The method involves grouping similar data rules together based on shared rule tables, reusing table data within these groups, and continuously monitoring time and resource costs to evenly distribute workload across compute nodes, using modules like rule analysis, checker, and data reuse to balance the workload.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data rules are distributed to compute nodes without grouping, then each node can independently process rules, but the workload becomes uneven and some nodes receive too many rules relative to others
Solution Approach 1:
The patent groups rule operators that share common rule tables into rule operator groups, which are then assigned to the same compute node. This merging approach ensures that related operations are co-located, improving cache utilization and reducing redundant data loading while achieving more balanced workload distribution across compute nodes.
Solution Approach 2:
The patent creates rule operator groups that can be universally applied across multiple data rules. By grouping operators with similar rule tables, the system enables a single compute node to efficiently handle multiple rules that share common processing logic, improving resource utilization and throughput.
2Reliability
If table data is loaded for each rule operator individually, then each operator has its own data, but redundant data loading occurs and resource utilization decreases
Solution Approach 1:
The patent merges rule operators that share common rule tables into groups, allowing table data to be loaded once and shared across multiple operators within the same group. This eliminates redundant data loading while maintaining data accuracy, as all operators in the group access the same validated table data.
Solution Approach 2:
The patent performs preliminary grouping of rule operators based on their rule table dependencies before execution. By identifying and grouping operators that share common tables in advance, the system prepares the data loading strategy beforehand, ensuring that table data is loaded only once per group rather than repeatedly for each individual operator.
3Productivity
If compute nodes process rules independently without monitoring, then nodes have autonomy, but workload balancing cannot be achieved and performance suffers
Solution Approach 1:
The patent implements a feedback mechanism where the system continuously monitors compute node performance metrics and workload distribution. Based on this feedback, the system dynamically adjusts the assignment of rule operator groups to compute nodes, ensuring balanced workload distribution and optimized performance while maintaining manageable system complexity.
Data Source
AI summary
A computer-implemented method may include generating a rule operator comprising a rule table; generating a rule operator group comprising rule operators containing similar rule tables; communicating the rule operator group to a shared compute node; retrieving table data associated with the rule table of a first rule operator within the rule operator group; reusing the table data associated with the first rule operator in a first runtime of additional rule operators corresponding to the rule operator group; determining at least one checker metric associated with a second runtime of a data rule; determining a workload state for the shared compute node based on the at least one checker metric; determining time taken and resource usage for a data rule during the second runtime; and balancing a workload of each compute node based on the workload state, time taken, and resource usage for the data rule during the second runtime.


