Multi-Core Shared Resource Management with Dependency-Aware Semaphores
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in maintaining memory coherency and regulating access to shared resources among multiple computing resources, particularly in embedded hardware systems where software solutions are inflexible and hardware-based solutions lack flexibility and efficiency.
Innovation Solution
A hardware-based memory manager and semaphore system that manages memory allocation and access to shared resources using a semaphore manager to determine dependencies and grant or deny access based on these dependencies, ensuring coherency and efficient resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a software-based memory management system is used, then flexibility in handling different access patterns is improved, but processing speed and response time deteriorate
Solution Approach 1:
The patent replaces software-based memory management with a hardware-based semaphore manager that automatically controls access to shared resources. The hardware manager uses semaphore mechanisms and dependency tracking circuits to grant or deny access permissions, eliminating the need for software intervention and significantly improving processing speed while maintaining flexibility through configurable access rules.
2Speed
If a hardware-based memory manager is used, then processing speed is improved, but chip area and power consumption increase
Solution Approach 1:
The patent divides the memory management system into separate functional modules: a semaphore manager for access control, a dependency tracker for monitoring resource relationships, and individual last pointer/spare pointer registers for each computing resource. This segmentation allows the hardware manager to be implemented efficiently with minimal chip area by only instantiating necessary components for each resource rather than a monolithic structure.
Solution Approach 2:
The hardware-based memory manager automatically tracks dependencies between computing resources and makes access decisions without external intervention. The dependency tracker continuously monitors resource relationships and the semaphore manager autonomously grants or denies access permissions, eliminating the need for complex control logic and reducing overall system complexity and chip area.
3Ease of operation
If traditional semaphore mechanisms are used, then access control is simplified, but ability to handle complex dependencies deteriorates
Solution Approach 1:
The patent introduces a dependency tracker as an intermediary component between computing resources and the semaphore manager. This tracker maintains records of resource dependencies and relationships, enabling the semaphore manager to make informed access decisions based on complex dependency chains. The intermediary layer preserves the simplicity of semaphore-based control while adding sophisticated dependency analysis capabilities.
Data Source
AI summary
In some examples, a circuit includes a shared resource and a semaphore manager. The semaphore manager is configured to manage access to the shared resource by, responsive to a first computing resource writing to a last pointer allocated to the first computing resource, determining whether the first computing resource has a dependency on a second computing resource that has been granted access to the shared resource, responsive to the first computing resource not having a dependency on the second computing resource, granting access by the first computing resource to the shared resource, and responsive to the first computing resource having the dependency on the second computing resource, denying access by the first computing resource to the shared resource. A spare pointer of the shared resources references a memory address of the shared resource.


