Flexible Cache Pooling for Uneven Multicore Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing architectures face challenges in evenly dividing complex computations among multicore processors, leading to resource mismatch and underutilization due to varying workloads across cores.
Innovation Solution
Computational nodes share access to local memory, allowing repartitioning and reallocating private caches to serve as remote caches for other nodes based on expected or dynamic computational needs, enabling efficient utilization of resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If private caches are allocated to each computational node, then each node has dedicated memory access, but resource utilization decreases when workloads vary significantly
Solution Approach 1:
The patent merges private caches from multiple computational nodes into a shared cache pool that can be dynamically allocated to any node. Instead of each node having dedicated cache memory, the caches are combined and managed as a shared resource, allowing efficient utilization when workloads vary across nodes.
Solution Approach 2:
The patent implements dynamic cache allocation where the amount of cache memory assigned to each computational node changes based on real-time workload demands. The system can repartition and reallocate cache resources dynamically, transitioning from static private allocation to adaptive shared allocation.
2Use of energy by moving object
If computational nodes are powered down to reduce power consumption, then energy efficiency improves, but memory availability decreases for remaining active nodes
Solution Approach 1:
The patent makes cache memory universal by allowing it to serve multiple purposes and multiple computational nodes. Cache memory that would normally be dedicated to a single node can be shared across multiple nodes, enabling the system to power down nodes while maintaining memory availability through the shared pool.
Solution Approach 2:
The patent introduces a cache pooling mechanism as an intermediary layer between computational nodes and memory resources. This mediator manages the allocation and sharing of cache memory, allowing nodes to access memory resources even when their local cache is unavailable due to power down.
3Speed
If complex computations are divided into component computations for parallel execution, then processing speed increases, but resource mismatch occurs between homogeneous cores and varying workloads
Solution Approach 1:
The patent applies local quality by allowing different computational nodes to have different amounts of cache memory allocated based on their specific workload requirements. Instead of uniform resource allocation, each node receives the appropriate quality and quantity of memory resources matched to its computational needs.
Data Source
AI summary
Systems and methods related to networks of computational nodes such as cores in a multicore processor are disclosed herein. A disclosed method for executing a computation using a network of computational nodes includes assigning a component computation of the complex computation to a first computational node in the network of computational nodes. The first computational node includes a local memory. The local memory is reserved to be used for a cache by the computational node for executing the component computation. The disclosed method also includes reserving a remote memory on a second computational node in the network of computational nodes to be used for the cache by the computational node for executing the component computation.


