Distributed Local Access Pools for Multi-Core Flow Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-processor and multi-core processor systems, traditional centralized shared-memory access mechanisms lead to high computational overheads due to cache-controller contention and blocking of parallel execution progress, limiting computational bandwidth and efficiency.
Innovation Solution
Distributing local shared-computational-resource access pools to each core or processor, eliminating the need for centralized locking operations and reducing cache-controller contention, thereby allowing non-blocking flow control and enhancing parallel execution efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a centralized shared-computational-resource access pool is used with locking operations, then resource access control is achieved, but computational overhead increases and parallel execution is blocked
Solution Approach 1:
The patent divides the centralized shared-computational-resource access pool into multiple distributed local access pools, with each processing entity having its own local pool. This segmentation eliminates the need for centralized locking operations and reduces cache-controller contention, thereby maintaining resource access control while significantly improving computational bandwidth and parallel execution efficiency.
2Reliability
If centralized locking operations are used for resource access, then resource contention is controlled, but execution speed decreases due to blocking
Solution Approach 1:
By segmenting the centralized access pool into distributed local access pools, the patent eliminates the need for processing entities to wait for centralized lock availability. Each entity can independently access its local pool without blocking others, thereby maintaining contention control through distribution while dramatically improving execution speed.
3Device complexity
If a centralized access pool is used, then resource management is simplified, but cache-controller contention increases
Solution Approach 1:
The patent segments the centralized access pool into multiple local access pools distributed across processing entities. This reduces cache-controller contention by localizing access patterns, as each processor primarily accesses its local pool rather than competing for a centralized resource. The distribution strategy manages complexity through systematic allocation while significantly reducing computational overhead.
Solution Approach 2:
The patent implements local access pools at each processing entity, making the system locally optimized for each processor's access patterns. This local quality approach reduces contention by keeping frequently accessed resources locally available, thereby reducing computational overhead while maintaining manageable resource management through the distributed architecture.
Data Source
AI summary
The current document is directed to an efficient and non-blocking mechanism for flow control within a multi-processor or multi-core processor with hierarchical memory caches. Traditionally, a centralized shared-computational-resource access pool, accessed using a locking operation, is used to control access to a shared computational resource within a multi-processor system or multi-core processor. The efficient and non-blocking mechanism for flow control, to which the current document is directed, distributes local shared-computational-resource access pools to each core of a multi-core processor and/or to each processor of a multi-processor system, avoiding significant computational overheads associated with cache-controller contention-control for a traditional, centralized access pool and associated with use of locking operations for access to the access pool.


