Force-Directed Graph Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer simulations that distribute computations across processors in a cluster face inefficiencies due to inter-node communication latencies, particularly when dealing with large graph datasets, which hinder processing efficiency, cost-effectiveness, and reliability.

Innovation Solution

A computationally-efficient method using a force-directed graph (FDG) to associate entities by configuring seed nodes with attractions or repulsions, achieving equilibrium to define a solution space, and then mapping this space to network graph vertices for improved resource allocation, reducing the need for inter-node communication and optimizing processor and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If tasks are partitioned across multiple computing nodes to reduce computational demands on individual processors, then the computational load per processor is reduced, but inter-node communication latencies increase and negatively impact system performance

Engineering Contradiction:
Improvecomputational load per processorVSAvoidinter-node communication latency
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The patent segments the graph dataset into multiple partitions and assigns them to different computing nodes, but enhances this by using graph partitioning techniques that specifically minimize the number of edges crossing between partitions. This reduces the amount of data that needs to be communicated between nodes, thereby reducing communication latency while maintaining the benefit of distributed computational load.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to traditional graph processing by implementing a hierarchical partitioning strategy that operates at multiple levels: first partitioning the graph into major components, then further subdividing these components. This multi-dimensional approach allows for optimized data locality and reduced inter-node communication by ensuring that frequently accessed data remains on the same or nearby nodes.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of time

If graph partitioning techniques are used to minimize inter-node communications, then communication efficiency improves, but computational efficiency of the overall system remains insufficient

Engineering Contradiction:
Improveinter-node communication timeVSAvoidcomputational efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies preliminary graph partitioning before the main computational tasks are executed. By pre-processing the graph to identify optimal partitions and data dependencies, the system prepares the data distribution in advance to minimize communication requirements during the actual computation phase, thereby improving both communication efficiency and overall computational productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer in the form of a distributed cache or buffer system that mediates between computing nodes. This intermediary stores frequently accessed graph data and data dependencies, allowing nodes to retrieve needed information without direct communication with source nodes, thereby reducing communication overhead while maintaining high computational throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If large graph datasets are processed in a computing cluster, then the system can handle large-scale simulations, but processor and memory resources are excessively consumed

Engineering Contradiction:
Improvegraph dataset sizeVSAvoidprocessor and memory resource consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent divides large graph datasets into smaller, manageable partitions that can be processed independently or semi-independently across multiple nodes. Each node processes only its local partition and necessary boundary data, dramatically reducing the memory requirements per node and overall processor energy consumption compared to processing the entire graph on a single node or with less efficient distribution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality optimization by ensuring that each computing node has fast access to its local data partition through optimized data structures and caching strategies. This allows nodes to process their local data efficiently without requiring continuous access to remote data, reducing memory access latency and processor energy consumption while maintaining the ability to handle large-scale graphs through coordinated processing.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10216546B1Computationally-efficient resource allocation
Publication Date: 2019.02.26 GOSPACE AI LTD
  • US10216546B1 patent drawing
  • US10216546B1 patent drawing
  • US10216546B1 patent drawing

AI summary

A method to associate a set of first entities to a set of second entities, e.g., computing jobs to processors, agent teams to workspace resources within a physical location, or the like. The NG is seeded using a force directed graph (FDG), whose “seed” particles represents the agents and their relative interconnectedness. The FDG is first brought into an equilibrium state to define a solution space. A relative coordinate system of the FDG solution space is then translated to a number of vertices represented in the NG, and then an initial seeding of the seed particles in the NG (based on their relative positions in the FDG solution space) is carried out. A search is then performed. During the search, each seed vertex releases its embedded agents to adjacent vertices to enable the agents to search for and achieve a required count. During this process, the seed particles grow to the desired size (with their constituent first entities then located at the NG vertices) to complete the agent-to-resource allocation process.