Hardware-Assisted Semaphore for Multi-Core Resource Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core systems, software-based semaphores incur a performance penalty due to shared counter updates across cores, leading to decreased performance as the number of cores increases beyond four.

Innovation Solution

Implementing hardware-assisted semaphores using a memory buffer within a hardware-assisted memory pool, allowing cores to access resources without shared counters, thus eliminating cache coherency issues and maintaining performance scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software-based semaphores with shared counters are used to control resource access in multi-core systems, then resource access control is achieved, but system performance degrades as the number of cores increases beyond four due to cache coherency issues

Engineering Contradiction:
Improveresource access controlVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the software-based semaphore mechanism with a hardware-based memory pool mechanism. Instead of using software counters that require cache coherency maintenance across cores, the invention uses hardware-managed memory buffers where each buffer represents a resource token. This substitution eliminates the need for frequent shared memory accesses and cache synchronization, thereby resolving the performance degradation while maintaining resource access control.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces memory buffers as intermediary objects that mediate resource access between multiple cores. Rather than cores directly interacting through shared counters, each core obtains a memory buffer from the hardware pool as an intermediary token to access the resource. This intermediary mechanism decouples the cores from direct synchronization requirements, eliminating cache coherency problems while preserving controlled access semantics.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If software-based semaphores are implemented to ensure proper resource access control, then resource protection is achieved, but severe performance penalties occur as the number of cores increases

Engineering Contradiction:
Improveresource protectionVSAvoidperformance penalty
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent substitutes the software semaphore timing-critical operations with hardware-based memory pool operations. The hardware automatically manages buffer allocation and deallocation, eliminating the time-consuming software loops, context switches, and cache synchronization that characterize software semaphore operations. This maintains resource protection while dramatically reducing the time loss associated with semaphore operations in multi-core systems.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If shared counters are used for semaphore implementation across multiple cores, then resource access coordination is achieved, but cache coherency maintenance causes severe performance degradation

Engineering Contradiction:
Improveresource access coordinationVSAvoidperformance scalability
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent uses memory buffers as intermediary tokens that eliminate direct shared counter access. Instead of multiple cores reading and writing to a shared counter variable (which requires cache coherency maintenance), each core obtains a unique memory buffer from the hardware pool. The buffer itself serves as the coordination mechanism, with its presence or absence indicating resource availability, thereby maintaining ease of operation while achieving performance scalability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the coordination function from the shared counter mechanism and embeds it directly in the hardware memory pool structure. Rather than having software manage coordination through shared variables, the hardware pool structure itself encodes the coordination state through the presence or absence of memory buffers. This extraction removes the need for cache coherency maintenance while preserving resource access coordination.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9081630B2Hardware-implemented semaphore for resource access based on presence of a memory buffer in a memory pool
Publication Date: 2015.07.14 WIND RIVER SYSTEMS INC
  • US9081630B2 patent drawing
  • US9081630B2 patent drawing
  • US9081630B2 patent drawing

AI summary

A method includes receiving a request to access a resource; determining a presence of a memory buffer in a hardware-assisted memory pool; and determining a response to the request to access the resource based on the presence of the memory buffer. A system includes a plurality of processors, a resource, and a hardware-assisted memory pool including a memory buffer; one of the plurality of processors receives a request to access the resource, determines a presence of the memory buffer, and determines a response to the request to access the resource based on the presence of the memory buffer.