Autonomous Co-Processors Proactively Retrieve Tasks to Reduce CPU Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multiprocessing approaches are inefficient due to significant CPU bandwidth consumption for task distribution, waiting for task completion, and idle co-processors, as they rely heavily on CPU management and instruction-dependent interactions.

Innovation Solution

A parallel processing architecture where autonomous co-processors proactively retrieve tasks from a task pool populated by a central processing unit, allowing them to operate independently and collaboratively, reducing CPU management overhead and harnessing available co-processing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPU manages task distribution to co-processors, then tasks are assigned and executed, but CPU bandwidth is significantly consumed and co-processors remain idle waiting for tasks

Engineering Contradiction:
Improvetask execution efficiencyVSAvoidCPU bandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

Co-processors are empowered to autonomously retrieve tasks from the task pool without CPU intervention. Each co-processor independently monitors the task pool, selects appropriate tasks based on its capabilities, and executes them, thereby serving itself rather than being serviced by the CPU.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The traditional master-slave relationship is inverted: instead of the CPU (master) assigning tasks to co-processors (slaves), co-processors actively seek and retrieve tasks from the shared task pool, reversing the direction of initiative in task acquisition.

Inventive Principle:
Principle #13The other way round (Inversion)

2Reliability

If CPU distributes tasks sequentially to co-processors, then task dependencies are managed, but co-processors wait idle for task completion and new task assignment

Engineering Contradiction:
Improvetask dependency managementVSAvoidco-processor idle time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Co-processors continuously monitor the task pool for available tasks without idle waiting periods. When a co-processor completes a task, it immediately seeks the next available task, ensuring continuous productive operation. The system maintains constant useful action by eliminating idle waiting states.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The task pool pre-populates available tasks that co-processors can immediately execute. Tasks are prepared and staged in advance in the shared pool, allowing co-processors to continuously retrieve and execute tasks without waiting for CPU assignment, thereby maintaining continuous productive action.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If co-processors communicate with CPU for task completion notification, then task status is tracked, but CPU management overhead increases

Engineering Contradiction:
Improvetask completion statusVSAvoidCPU management overhead
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The task pool serves as an intermediary between co-processors and the CPU. Co-processors notify the task pool of their completion status, and the task pool manages the information flow, eliminating the need for direct CPU involvement in task completion notifications and reducing CPU management overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The task management and status tracking functions are extracted from the CPU and placed in the task pool. The CPU is relieved of the burden of tracking task completion status, as this function is handled independently by the task pool through co-processor notifications.

Inventive Principle:
Principle #2Taking out (Extraction)

4Adaptability or versatility

If co-processors wait for CPU task assignment, then task allocation is controlled, but co-processor utilization is reduced

Engineering Contradiction:
Improvetask allocation controlVSAvoidco-processor utilization
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The task allocation system becomes dynamic: co-processors actively adapt to available tasks by autonomously selecting and retrieving tasks from the task pool based on their capabilities and current workload, rather than passively waiting for static CPU assignment. This dynamic approach maximizes co-processor utilization while maintaining adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12159161B2System and method for swarm collaborative intelligence using dynamically configurable proactive autonomous agents
Publication Date: 2024.12.03 SWARM TECHNOLOGY LLC
  • US12159161B2 patent drawing
  • US12159161B2 patent drawing
  • US12159161B2 patent drawing

AI summary

A parallel processing architecture includes a CPU, a task pool populated by the CPU, and a plurality of autonomous co-processing cells each having an agent configured to proactively interrogate the task pool to retrieve tasks appropriate for a particular so-processor. Each co-processor communicates with the task pool through a switching fabric, which facilitates connections for data transfer and arbitration between all system resources. Each so-processor notifies the task pool when a task or task thread is completed, whereupon the task pool notifies the CPU.