Distributed Single-Writer B-Tree Buffering for Disaggregated Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional B-tree designs do not translate well to high-performance distributed settings required for disaggregated memory architectures, leading to inefficiencies in cloud database systems.

Innovation Solution

A single writer B-tree architecture is implemented across multiple servers, utilizing a fixed-size buffer pool and a cluster-level file system to manage writes and reads efficiently, with a B-tree controller that integrates with a cluster-level file system to maintain a B-tree across multiple computing machines without relying on global lock tables, ensuring high performance and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional B-tree designs are used in distributed settings, then implementation simplicity is maintained, but performance and scalability are insufficient for disaggregated memory architectures

Engineering Contradiction:
ImproveperformanceVSAvoidarchitecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The B-tree is segmented and distributed across multiple servers in a disaggregated memory architecture. Each server stores portions of the B-tree in its local memory, dividing the monolithic structure into manageable segments that can be independently accessed and modified, thereby improving performance while maintaining architectural clarity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A buffer pool is introduced as an intermediary layer between the distributed B-tree segments and the client requests. The buffer pool caches frequently accessed B-tree portions and coordinates write operations across servers, reducing direct access overhead and improving overall system performance without significantly increasing complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If writes are coordinated across multiple servers in a distributed B-tree, then data integrity is maintained, but write performance and throughput are reduced

Engineering Contradiction:
Improvewrite throughputVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Write operations are buffered in advance in the buffer pool before being applied to the distributed B-tree segments. This preliminary buffering allows multiple write requests to be accumulated and processed together, improving throughput while ensuring that all writes are eventually applied in the correct order to maintain data integrity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Multiple write operations that target different portions of the distributed B-tree are merged into single batched update operations. By combining independent writes that can be executed in parallel, the system achieves higher throughput while maintaining the consistency and integrity of the overall B-tree structure

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If a buffer pool is introduced to manage distributed B-tree writes, then write efficiency is improved, but memory resource requirements increase

Engineering Contradiction:
Improvewrite efficiencyVSAvoidmemory resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The buffer pool uses a fixed-size design with configurable parameters that can be adjusted based on available memory resources. By allowing the buffer pool size and segmentation parameters to be dynamically tuned, the system can optimize write efficiency while adapting to different memory resource constraints across various deployment scenarios

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12547598B2Single-writer B-tree architecture on disaggregated memory
Publication Date: 2026.02.10 GOOGLE LLC
  • US12547598B2 patent drawing
  • US12547598B2 patent drawing
  • US12547598B2 patent drawing

AI summary

A method for a single writer B-tree architecture on disaggregated memory includes receiving a write request for a distributed database that requests the data processing hardware update the distributed database. The distributed database is indexed using a B-tree stored on a plurality of servers. Each server of the plurality of servers stores a portion of the B-tree. The method includes modifying, using the write request, a portion of a fixed-size buffer pool. The fixed-size buffer pool is stored at local memory of a primary server of the plurality of servers and corresponds to a portion of the B-tree. The method includes, in response to modifying the portion of the fixed-size buffer pool, writing, to a respective server of the plurality of servers that stores the corresponding portion of the B-tree, the modified portion of the fixed-size buffer pool.