Memory Page Allocation Using Cache Color Bitmaps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems, the displacement of data objects across memory pages of the same cache color leads to performance impairment due to slower retrieval from physical memory compared to the cache, as these objects tend to displace each other, necessitating frequent retrieval and storage, which slows down system performance.
Innovation Solution
A method for allocating memory pages based on cache colors, using bitmaps (system available colors bitmap, process bitmap, and object bitmap) to select and allocate pages across multiple cache colors, reducing displacement and improving performance by logical operations to determine available and recently used cache colors for allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data objects are allocated to memory pages of the same cache color, then allocation simplicity is maintained, but cache hit rate decreases due to frequent displacement and retrieval from physical memory
Solution Approach 1:
The invention segments the cache into multiple cache colors and divides memory pages according to these cache colors. By allocating data objects to memory pages across different cache colors rather than concentrating them in one color, the system reduces cache displacement and increases cache hit rates. This segmentation approach directly addresses the contradiction by organizing memory allocation to match cache structure.
Solution Approach 2:
The invention applies local quality by treating different cache colors differently in the allocation process. Each cache color is monitored individually through bitmaps that track available pages and recent allocations. This localized tracking and allocation strategy optimizes each cache color's utilization independently, improving overall cache efficiency without requiring complete reorganization of the memory system.
2Reliability
If data objects are frequently retrieved from physical memory due to cache displacement, then memory utilization is maximized, but system performance deteriorates due to slower retrieval time
Solution Approach 1:
The invention performs preliminary action by pre-allocating memory pages across different cache colors before data objects experience displacement. The system proactively tracks cache color utilization using bitmaps and makes allocation decisions in advance to prevent displacement. This preliminary organization of memory pages reduces the need for frequent retrieval operations from physical memory.
Solution Approach 2:
The invention implements feedback mechanisms through bitmaps that continuously monitor cache color status, tracking both available pages and recent allocation patterns. This feedback information is used to dynamically adjust allocation decisions, ensuring that data objects are placed in cache colors that will minimize displacement. The feedback loop prevents time-consuming retrieval operations by making informed allocation choices.
Data Source
AI summary
A method involving receiving an indication of a requirement to allocate at least one page for a process, where pages are associated with cache colors; generating a selection bitmap by performing a logical operation of a system available colors bitmap and a process bitmap, where the system available colors bitmap and the process bitmap each include one bit corresponding to each cache color, where each bit of the system available colors bitmap indicates whether a number of pages associated with a corresponding cache color that are available to be allocated is above a minimum threshold, and where each bit of the process bitmap indicates whether any pages associated with the corresponding cache color have been recently allocated for the process. The method also includes selecting, using the selection bitmap, a cache color; and allocating a page for the process, wherein the allocated page is associated with the selected cache color.


