Proactive Synchronization Arbiter for Multiprocessor Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional synchronization techniques in multiprocessor systems become inefficient as the number of processors increases, leading to significant interference and performance issues due to the optimistic model of repeatedly rerunning synchronization code, which results in wasted time and limited progress.

Innovation Solution

A proactive synchronization method is implemented, where processors request exclusive access to memory resources, and a synchronization arbiter compares addresses to determine the number of contending requestors, returning a count value to allow for proactive avoidance of interference, enabling efficient access to memory resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional optimistic synchronization techniques are used in multiprocessor systems, then processors can attempt synchronization repeatedly, but the number of processors contending for memory resources increases interference and wastes time

Engineering Contradiction:
Improvesynchronization efficiencyVSAvoidtime wasted in repeated synchronization attempts
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having processors proactively check for potential contention before actually attempting synchronization operations. The system predicts which memory resources are likely to be contested and prepares synchronization mechanisms in advance, rather than waiting for conflicts to occur and then retrying repeatedly. This prevents the time waste associated with optimistic retry approaches.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the number of processors in a multiprocessor system increases, then computing performance improves, but the number of requestors contending for the same memory datum increases leading to synchronization inadequacy

Engineering Contradiction:
Improvecomputing performanceVSAvoidsynchronization reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies segmentation by dividing the memory address space into multiple sets or regions, each managed by dedicated synchronization structures. Instead of using a single global lock or synchronization primitive for all processors, the system segments memory access control so that processors contending for different memory segments can proceed independently. This reduces the effective contention ratio and maintains synchronization reliability as processor counts increase.

Inventive Principle:
Principle #1Segmentation

3Reliability

If hardware synchronization primitives like CMPXCHG are used, then atomic updates can be performed, but performance demands in high-performance high processor count multiprocessors are not met

Engineering Contradiction:
Improveatomic update capabilityVSAvoidsynchronization performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces an intermediary synchronization management system that sits between processors and memory resources. This intermediary layer predicts contention, manages synchronization requests, and coordinates access patterns to reduce the need for expensive hardware primitives like CMPXCHG. By acting as a mediator, the system maintains atomic update reliability while improving overall synchronization performance through smarter coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7636819B2Method for proactive synchronization within a computer system
Publication Date: 2009.12.22 ADVANCED MICRO DEVICES INC
  • US7636819B2 patent drawing
  • US7636819B2 patent drawing
  • US7636819B2 patent drawing

AI summary

A method for providing proactive synchronization in a computer system includes a processor requesting exclusive access to a given memory resource. The request may include one or more addresses associated with the given memory resource. The method also includes comparing each of the addresses in the request to each address in a plurality of sets of addresses. Each address in the sets of addresses may correspond to a respective memory resource to which a requestor has exclusive access. In addition, in response to any address of the one or more addresses matching any address in the plurality of sets of addresses, the method includes returning a count value associated with the set including the matching address. The count value may be indicative of the number of requestors contending for the matching address. Software may utilize this count value to proactively choose an item with lower contention probabilities in subsequent attempts.