Heterogeneous Buffer Cache Segmentation for Distributed Database Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed database systems face challenges in providing efficient memory management due to multiple servers sharing access to a common disk image, requiring a solution that allows for fast access to frequently used data objects and flexible cache configuration to support varying workloads across different servers in a Shared Disk Cluster environment.
Innovation Solution
The implementation of multiple heterogeneous buffer caches, where each server in the cluster can have a reserved default data cache and named caches configured based on user input for specific data types, allowing for efficient storage and retrieval of data objects by binding them to specific caches for improved access performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single buffer cache is used in distributed database systems, then memory management is simplified, but data access efficiency deteriorates due to contention among multiple servers
Solution Approach 1:
The patent divides the single buffer cache into multiple heterogeneous buffer caches, where each cache is dedicated to specific data types or access patterns. This segmentation reduces contention among servers by allowing different servers to access different caches simultaneously, thereby improving data access efficiency while maintaining manageable complexity through organized cache structures.
Solution Approach 2:
The patent implements caches with localized characteristics by configuring different buffer caches with specific properties optimized for particular data types or access patterns. Each server can be assigned to use specific caches based on its workload requirements, creating local optimization that improves overall system performance without requiring complex global coordination.
2Productivity
If multiple heterogeneous buffer caches are implemented, then data access efficiency is improved by reducing contention, but cache configuration complexity increases
Solution Approach 1:
The patent creates a multi-functional cache management system where buffer caches can serve multiple purposes - some caches can handle both data storage and caching functions, and the system can dynamically allocate caches based on workload demands. This universality allows the system to improve data access efficiency through multiple caches while managing complexity by having caches that can adapt to different functions.
Solution Approach 2:
The patent employs parameter changes by allowing dynamic configuration of cache properties such as size, replacement policies, and allocation strategies based on workload characteristics. This enables the system to optimize data access efficiency for different scenarios while managing complexity through adaptive parameter adjustment rather than fixed complex configurations.
3Ease of manufacture
If LRU/MRU protocol is used for cache management, then implementation is simple, but cache utilization efficiency deteriorates due to inability to handle different data types
Solution Approach 1:
The patent segments the cache management approach by creating different buffer caches with different management protocols optimized for different data types. Instead of using a single LRU/MRU protocol for all data, the system can apply appropriate protocols to specific caches based on their characteristics, thereby improving cache utilization efficiency while keeping each individual cache management implementation relatively simple.
Solution Approach 2:
The patent applies local quality by allowing different cache regions or caches to use different management protocols (LRU, MRU, or other strategies) based on the specific requirements of the data they store. This localized optimization improves overall cache utilization efficiency while maintaining implementation simplicity by keeping each protocol application straightforward and well-defined.
Data Source
AI summary
A method for temporarily storing data objects in memory of a distributed system comprising a plurality of servers sharing access to data comprises steps of: reserving memory at each of the plurality of servers as a default data cache for storing data objects; in response to user input, allocating memory of at least one of the plurality of servers as a named cache reserved for storing a specified type of data object; in response to an operation at a particular server requesting a data object, determining whether the requested data object is of the specified type corresponding to the named cache at the particular server; if the data object is determined to be of the specified type corresponding to the named cache, storing the requested data object in the named cache at the particular server; and otherwise, using the default data cache for storing the requested data object.


