Non-blocking Page Fault Architecture for Distributed Database Concurrency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed databases, lock contention occurs when write operations block other operations, leading to reduced concurrency and throughput due to the need for ensuring data integrity, which affects the speed and consistency of data access.

Innovation Solution

Implementing a non-blocking page fault architecture that predicts page faults using a virtual memory model, allowing write operations to suspend and release locks, enabling concurrent execution of other operations while data is read from disk and written into active memory, thereby minimizing lock contention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If write locks are used to ensure data integrity during write operations, then data consistency is improved, but concurrency and throughput are reduced due to blocking other operations

Engineering Contradiction:
Improvedata consistencyVSAvoidconcurrency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system predicts page faults before they occur using a virtual memory model, allowing the database to pre-load data into active memory before write operations need it. This preliminary action eliminates the need for blocking locks during actual write operations, as the data is already available in memory when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a page fault prediction mechanism as an intermediary layer between the write operation and the physical storage system. This mediator predicts which pages will be needed and prepares them in advance, allowing write operations to proceed without blocking other operations while maintaining data integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If write operations block on page faults to ensure data integrity, then data consistency is improved, but data access speed is reduced due to waiting for disk I/O

Engineering Contradiction:
Improvedata consistencyVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system performs preliminary actions by predicting which data pages will be needed for upcoming write operations and loading them into active memory in advance. This eliminates the need for write operations to wait for disk I/O, as the data is already available in fast memory when the write operation executes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a dynamic page fault prediction system that continuously monitors access patterns and adjusts predictions based on current system state. This dynamic approach allows the system to adapt to changing workloads and optimize data access speeds while maintaining consistency through selective pre-loading of pages.

Inventive Principle:
Principle #15Dynamics

3Reliability

If locks are held during data reading from disk to ensure data integrity, then data consistency is improved, but system throughput is reduced due to lock contention

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the lock acquisition step from the data reading process by using page fault prediction. Instead of holding locks while reading data from disk, the system predicts which pages will be needed and prepares them in advance without requiring locks, separating the data preparation phase from the actual write operation phase.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system maintains continuous useful action by allowing unrelated operations to execute concurrently while data is being prepared in the background through prediction. The predicted page loading occurs without blocking other operations, ensuring that the system continues to process requests continuously rather than stalling for lock availability.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10176210B2System and method for minimizing lock contention
Publication Date: 2019.01.08 MONGODB INC
  • US10176210B2 patent drawing
  • US10176210B2 patent drawing
  • US10176210B2 patent drawing

AI summary

The methods and systems can include a database management component configured to manage database instances, the database management component also configured to receive a first data request operation on the distributed database, an execution component configured to process the first data request operation including at least one write request on at least one database instance managed by the database management component, and a fault prediction component configured to detect a potential page fault responsive to a target data of the write request, wherein the execution component is further configured to suspend execution of the first data request operation, request access a physical storage to read the target data into active memory, and re-execute the first data request operation after a period of time for suspending the first data request operation.