Adaptive SLA-Aware Paging System for Data Spill Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face challenges in efficiently managing data spills to secondary storage tiers, leading to suboptimal performance and increased remote I/O operations, particularly in meeting service level agreement (SLA) requirements.

Innovation Solution

The implementation of an adaptive and SLA-aware paging system that employs a spill manager and an input-output (IO) manager to efficiently write and read spilled data in batches, utilizing a cross-data relevancy organization to reduce remote I/O communications and optimize data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is spilled to secondary storage tiers using traditional paging methods, then data capacity is increased, but remote I/O operations increase and performance deteriorates

Engineering Contradiction:
Improvedata capacityVSAvoidperformance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system performs preliminary actions by prefetching data blocks from secondary storage to primary storage before they are actually requested by applications. The spill manager identifies data that is likely to be needed soon and loads it in advance, reducing the impact of remote I/O operations when data is actually accessed. This proactive approach smooths out I/O operations and improves performance by avoiding latency-critical path delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a spill manager as an intermediary component between the application layer and the storage system. This intermediary intelligently manages data spills to secondary storage and prefetches data back to primary storage, acting as a buffer that decouples application performance from remote I/O operations. The spill manager coordinates batch reads and writes, reducing the frequency and impact of remote I/O communications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If traditional paging systems manage data spills, then data can be stored in secondary storage, but network resources are consumed and I/O operations increase

Engineering Contradiction:
Improvestorage capacityVSAvoidnetwork resources
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The system merges multiple small data spill operations into larger batch operations. Instead of transferring data block-by-block between primary and secondary storage, the spill manager consolidates transfers into batches, reducing the total number of remote I/O communications and optimizing network resource utilization. This combining approach maintains storage capacity while minimizing network overhead.

Inventive Principle:
Principle #5Merging (Combining)

3Volume of stationary object

If data is paged to secondary storage, then memory capacity is effectively increased, but access time increases due to remote I/O

Engineering Contradiction:
Improvememory capacityVSAvoidaccess time
Core Design Contradiction:
Volume of stationary objectVSLoss of time

Solution Approach 1:

The spill manager performs preliminary prefetching of data blocks from secondary storage to primary storage based on access patterns and predictions. By loading data before it is actually needed by applications, the system effectively increases memory capacity while minimizing access time delays, as most data accesses can be served from fast primary storage rather than slow secondary storage.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250103229A1Methods and apparatus for an adaptive and service level agreement aware paging system
Publication Date: 2025.03.27 CLOUDERA INC
  • US20250103229A1 patent drawing
  • US20250103229A1 patent drawing
  • US20250103229A1 patent drawing

AI summary

Examples disclosed herein include writing pages of data to blocks, the data associated with an operator; writing the blocks to a file based on a sequential arrangement of the data in the blocks; writing the file to a spill data store; and executing an instruction by programmable circuitry to batch read the blocks in sequential order from the spill data store to a local memory