Compute Replica Cache Priming Using Aggregate Page Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database management systems face performance degradation during failover events due to the need for fetching data from disk or remote sources when secondary compute replicas take over as primary replicas, as their caches are not adequately primed with frequently accessed pages.

Innovation Solution

Implement a system where primary and secondary compute replicas maintain page statistics, aggregate them across replicas, and use exponential smoothing to estimate page access frequencies, iteratively preloading frequently accessed pages into secondary replicas' caches based on these statistics to minimize disk access during failover.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If secondary compute replicas do not maintain their own caches, then device complexity is reduced, but performance degrades during failover due to disk access delays

Engineering Contradiction:
Improvefailover performanceVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary action by having secondary compute replicas continuously preload frequently accessed pages into their caches before failover events occur. The page server identifies frequently accessed pages based on aggregate access patterns and proactively loads them into secondary replicas' caches, so that when failover happens, the secondary replica already has the needed data and can immediately process requests without disk access delays.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If each compute replica maintains separate page statistics, then measurement precision is improved, but loss of information increases due to redundant data storage

Engineering Contradiction:
Improvepage access frequency accuracyVSAvoidredundant statistics data
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The system merges the page statistics from multiple compute replicas by having them send their individual statistics to a central page server. The page server then aggregates these statistics to calculate aggregate access patterns across all replicas. This merging approach allows the system to identify frequently accessed pages based on global access patterns rather than local patterns, improving the accuracy of cache priming decisions while reducing redundant data storage at each replica.

Inventive Principle:
Principle #5Merging (Combining)

3Loss of time

If caches are not preloaded with frequently accessed pages, then device complexity is reduced, but loss of time increases during failover due to disk access

Engineering Contradiction:
Improvefailover timeVSAvoidcache priming complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements feedback by continuously monitoring page access patterns at compute replicas and using this information to dynamically update the list of frequently accessed pages. The page server receives access statistics from replicas, processes them to identify hot pages, and sends updated preload recommendations back to replicas. This feedback loop ensures that the cache priming strategy adapts to changing access patterns and continuously optimizes failover performance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250363057A1Caching pages in compute replicas based on aggregate usage of pages across the compute replicas
Publication Date: 2025.11.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250363057A1 patent drawing
  • US20250363057A1 patent drawing
  • US20250363057A1 patent drawing

AI summary

Systems, methods, apparatuses, and computer program products are disclosed for caching pages in a compute replica of a set of compute replicas. Page statistics associated with requests to read or write pages are maintained at a first compute replica of a set of compute replicas. A subset of the page statistics associated with pages served by a page server are provided to the page server. The first compute replica receives, from the page server, a set of aggregate page statistics associated with pages served by the page server, the aggregate page statistics including aggregate page access frequencies of the pages by the set of compute replicas. The first compute replica determines, based on the set of aggregate page statistics, frequently accessed pages that are missing from a cache of the first compute replica, and obtains, from the page server, the missing pages.