Parallel Computer Node Allocation via Pre-computed Search Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional parallel computer systems face inefficiencies in processing time when searching for successive free computation nodes, leading to prolonged node selection processes due to the high number of condition judging processes required, especially as the number of computation nodes increases.
Innovation Solution
A parallel computer system with a management apparatus that employs a search data storage unit and a hierarchical data storage unit to store and manage search data across multiple axes, reducing the number of condition judging processes by using virtual axes and hierarchical data structures to efficiently locate successive free nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional search methods are used to locate successive free computation nodes, then the system can allocate jobs to computation nodes, but the processing time increases significantly due to the large number of condition judging processes required
Solution Approach 1:
The patent pre-calculates and stores the number of successive free nodes in each direction for every computation node before actual job allocation occurs. This search data is maintained in memory, so when a job allocation request comes in, the system can directly query the pre-computed data instead of performing time-consuming condition judgments during the allocation process itself.
Solution Approach 2:
The patent divides the search space into multiple directional segments (positive and negative directions along each axis) and pre-computes the successive free node counts for each segment independently. This segmentation allows the system to store organized search data that can be quickly queried without having to scan the entire computation node space during job allocation.
2Quantity of substance
If the number of computation nodes increases to improve system capacity, then the system can handle larger jobs, but the number of condition judging processes increases exponentially, prolonging the node selection process
Solution Approach 1:
The patent performs the complex condition judging processes in advance, before the actual job allocation. By pre-computing the successive free node counts for all computation nodes in all directions and storing this search data, the system transforms the complex O(N^2) condition judging problem into a simple O(1) data lookup operation during job allocation, regardless of how many computation nodes are in the system.
Solution Approach 2:
The patent creates a virtual copy of the computation node space by storing search data that represents the free node status without physically scanning the actual nodes during allocation. This virtual representation allows the system to work with large numbers of computation nodes without proportionally increasing the complexity of the allocation process.
3Productivity
If conventional allocation methods are used, then jobs can be allocated to computation nodes, but fragmentation occurs over time making it difficult to allocate large jobs
Solution Approach 1:
The patent examines the local quality of free space in different directional segments around each computation node. By pre-computing successive free node counts in multiple directions (positive and negative axes) for each node, the system can identify allocation patterns that maintain larger continuous free spaces rather than creating fragmented small spaces, thus preserving the ability to allocate large jobs in the future.
Data Source
AI summary
A node state storage unit stores therein information about a free state of each of the computation nodes. A search data storage unit has a data structure in which a state where the X-axis is crossed is developed into a virtual X-axis provided on the right end of the X-axis. By referring to the node state storage unit, a searching unit searches for the number of successive free nodes in the increasing directions of the X-axis including the virtual X-axis and the Y-axis, while using the computation node at each of the X-Y coordinate positions as a starting point, and writes a search result into the search data storage unit.


