Distributed Task Management Asymmetric Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed processing systems, the management node faces challenges in handling simultaneous execution status update requests from multiple execution nodes, leading to difficulties in coherent and consistent storage of task execution statuses due to processing limitations.
Innovation Solution
The system allocates processing units to execution nodes such that a difference in processing time between nodes is greater than the time required for status updates, thereby distributing the load and preventing simultaneous requests to the management node.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the management node divides the input task equally and allocates to the respective execution nodes, then the respective execution nodes complete execution of the task at almost the same time, but a large number of execution status update requests arrive at the management node at once
Solution Approach 1:
The patent applies asymmetry by intentionally creating unequal task allocations among execution nodes. Specifically, it assigns different numbers of processing items to different execution nodes based on their processing speeds, so that faster nodes receive fewer items and slower nodes receive more items. This asymmetric allocation ensures that all nodes complete their tasks at different times, preventing simultaneous status update requests to the management node.
Solution Approach 2:
The patent changes the allocation parameter from equal distribution to unequal distribution based on processing speed. The management node adjusts the number of processing items assigned to each execution node according to measured or estimated processing speeds, transforming the allocation strategy to optimize the timing of task completion and status update submission.
2Reliability
If the management node receives and processes execution status update requests simultaneously from multiple execution nodes, then coherent execution status update processing becomes difficult, but storing task execution statuses in a concentrated and consistent manner is required
Solution Approach 1:
The patent applies preliminary action by having execution nodes wait until their task execution is fully completed before submitting status update requests. The management node also prepares allocation strategies in advance that anticipate completion timing differences, ensuring that status updates are received and processed sequentially rather than simultaneously, thereby maintaining consistency while simplifying processing.
3Productivity
If the management node has a limitation in the number of execution status update requests which can be processed simultaneously, then it is impossible to receive and process all execution status update requests, but all requests need to be processed for proper task tracking
Solution Approach 1:
The patent applies dynamics by making the task allocation flexible and adaptive to each execution node's processing capabilities. The management node dynamically adjusts the number of processing items assigned to each node based on their individual speeds, creating a distributed completion pattern that matches the management node's processing capacity for status updates, ensuring all requests can be handled without loss.
Data Source
AI summary
A management node includes a distributed task management unit that divides a task including a plurality of processing targets and allocates the task to a plurality of execution nodes, and an execution status information memory update unit that updates execution status information of the task in accordance with execution status update requests from the execution nodes. Based on a first period of time required for processing the processing targets of a unit amount by the execution node and a second period of time required for processing the execution status update request by the management node, the distributed task management unit determines the amount of the task allocated to each of the execution nodes such that a difference in the completion time of the task allocated to any two execution nodes, among the execution nodes, becomes greater than the second period of time.


