Enclosure Cache Allocation for Server Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computing systems face inefficiencies in cache allocation due to the high cost of over-provisioning direct attached cache to cover all workloads and hotspot sizes, especially when using non-volatile memory, which is less expensive than DRAM but still expensive.
Innovation Solution
The method involves an enclosure in a computing system that allocates memory access information from multiple enclosure attached servers to determine the amount of enclosure cache to be shared among servers and allocated exclusively to each server, optimizing cache usage based on access patterns and cache hit rates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If direct attached cache is over-provisioned to cover all workloads and hotspot sizes, then cache performance is improved, but cost increases
Solution Approach 1:
The patent implements dynamic cache allocation where the enclosure controller continuously monitors memory access information from multiple servers and adjusts cache allocation in real-time. Cache is dynamically assigned to serve hotspots accessed by multiple servers, rather than statically over-provisioning cache for every possible workload scenario.
Solution Approach 2:
The enclosure cache serves multiple servers simultaneously, acting as a shared resource that can be allocated to different servers based on their current workload requirements. This multi-functional cache pool replaces the need for each server to have dedicated over-provisioned cache, reducing total cache requirements while maintaining performance.
2Quantity of substance
If non-volatile memory is used for cache, then cost is reduced compared to DRAM, but performance is still limited
Solution Approach 1:
The patent merges the cache resources of multiple servers into a single shared enclosure cache pool. By consolidating cache demands, the system can more effectively utilize non-volatile memory capacity, achieving better performance per dollar while reducing the total amount of expensive cache memory needed across the system.
Solution Approach 2:
The enclosure controller creates shared copies of frequently accessed data (hotspots) in the enclosure cache that can be served to multiple servers simultaneously. This eliminates the need for each server to maintain separate copies of the same data, reducing total cache requirements while maintaining fast access for all servers needing that data.
Data Source
AI summary
Allocating enclosure cache in a computing system that includes an enclosure and a plurality of enclosure attached servers, including: receiving, by the enclosure, memory access information from each of the plurality of enclosure attached servers; determining, by the enclosure in dependence upon the memory access information, an amount of enclosure cache to allocate as shared cache that can be accessed by two or more of the enclosure attached servers; and determining, by the enclosure in dependence upon the memory access information, an amount of enclosure cache to allocate to each enclosure attached server for exclusive use by the enclosure attached server.


