Atomic Range Modification Operations for Multiprocessing Task Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessing systems, the overhead of real-time synchronization and task allocation across multiple processors limits the performance gains from parallelism, as existing solutions have not adequately addressed these challenges.

Innovation Solution

The implementation of atomic range operations within processors, which allow for locking access to a set of range indices, checking range size, and performing modifications while ensuring instantaneous operations to all observers, enables efficient task allocation and synchronization among multiple processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processors execute tasks in parallel using SPMD, then processing speed is improved, but synchronization overhead increases

Engineering Contradiction:
Improveprocessing speedVSAvoidsynchronization overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the task space by dividing the range of task indices into distinct ranges, with each processor assigned specific ranges to execute. This segmentation eliminates the need for continuous synchronization by allowing processors to independently select and execute tasks within their assigned ranges, resolving the contradiction between parallel processing speed and synchronization overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-establishing atomic range operations that lock and allocate task ranges to processors before execution begins. These preliminary atomic operations ensure that once ranges are assigned, processors can execute tasks independently without further synchronization, thus improving processing speed while minimizing synchronization overhead.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If atomic range operations are implemented, then task allocation efficiency is improved, but operation complexity increases

Engineering Contradiction:
Improvetask allocation efficiencyVSAvoidoperation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism in the form of atomic range operations that mediate between multiple processors competing for task allocation. This intermediary provides a standardized interface for range locking and allocation, simplifying the task allocation process while ensuring atomicity and consistency, thus improving efficiency without proportionally increasing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements universal atomic range operations that can be applied to any task range allocation scenario. These operations serve multiple functions including range locking, allocation, and validation through a unified interface, reducing overall system complexity by eliminating the need for multiple specialized synchronization mechanisms.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10528345B2Instructions and logic to provide atomic range modification operations
Publication Date: 2020.01.07 INTEL CORP
  • US10528345B2 patent drawing
  • US10528345B2 patent drawing
  • US10528345B2 patent drawing

AI summary

Instructions and logic provide atomic range operations in a multiprocessing system. In one embodiment an atomic range modification instruction specifies an address for a set of range indices. The instruction locks access to the set of range indices and loads the range indices to check the range size. The range size is compared with a size sufficient to perform the range modification. If the range size is sufficient to perform the range modification, the range modification is performed and one or more modified range indices of the set of range indices is stored back to memory. Otherwise an error signal is set when the range size is not sufficient to perform said range modification. Access to the set of range indices is unlocked responsive to completion of the atomic range modification instruction. Embodiments may include atomic increment next instructions, add next instructions, decrement end instructions, and/or subtract end instructions.