Content-Aware Storage Tiering in Job Scheduling Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tier storage systems face challenges in balancing storage capacity and performance requirements, particularly in MapReduce environments where transparent and content-aware storage tiering techniques are needed to optimize data access and storage efficiency.

Innovation Solution

The implementation of content-aware storage tiering techniques within a job scheduling system, where data nodes prefetch related file portions and move data between performance and capacity tiers based on anticipated access patterns and grey box knowledge of the application client, optimizing storage resource utilization and access times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in performance storage tier to improve access speed, then access time is reduced, but storage capacity cost increases

Engineering Contradiction:
Improvedata access timeVSAvoidstorage capacity cost
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system performs preliminary actions by prefetching data blocks from the capacity tier to the performance tier before they are actually needed for job execution. The job scheduler analyzes upcoming jobs and proactively loads required data blocks into high-performance storage, ensuring fast access when jobs execute while minimizing the time data resides in expensive performance storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes storage parameters by moving data blocks between performance and capacity tiers based on temporal access patterns. Data is placed in performance tier when access is anticipated and moved back to capacity tier when no longer needed, optimizing the balance between access speed and storage cost through dynamic parameter adjustment.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If multi-tier storage is made transparent to applications, then ease of operation is improved, but storage efficiency deteriorates

Engineering Contradiction:
Improveapplication transparencyVSAvoidstorage efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system implements feedback mechanisms where the job scheduler receives information about upcoming jobs and their data requirements. This feedback enables the scheduler to make intelligent decisions about which data blocks to prefetch to performance storage, optimizing storage efficiency while maintaining transparency. Applications continue to operate without knowing about the multi-tier architecture, yet the system achieves high efficiency through this feedback-driven approach.

Inventive Principle:
Principle #23Feedback

3Speed

If data blocks are prefetched to performance tier, then access speed is improved, but storage capacity is wasted on data not needed soon

Engineering Contradiction:
Improvedata access speedVSAvoidunnecessary data in performance tier
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system performs preliminary prefetching actions only for data blocks that are anticipated to be needed based on job scheduling information. By analyzing upcoming jobs before they execute, the system prefetches only the specific data blocks that will be required, avoiding the waste of loading unnecessary data into performance storage while still achieving fast access for needed data.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9934147B1Content-aware storage tiering techniques within a job scheduling system
Publication Date: 2018.04.03 DELL EMC
  • US9934147B1 patent drawing
  • US9934147B1 patent drawing
  • US9934147B1 patent drawing

AI summary

Techniques are provided for content-aware storage tiering techniques within a job scheduling system. A data node in a job scheduling environment receives at least one job to be executed for a portion of a larger logical file, and notifies one or more sibling data nodes to prefetch one or more related portions of the larger logical file. A write operation performed by an application client to store data on the data node is optionally intercepted at the data node and the associated data is stored in a performance storage tier of the data node. The data is optionally moved from the performance storage tier to a capacity storage tier if one or more predefined eviction criteria are satisfied. Data objects to be evicted are selected based on an anticipated future access of the data objects. The eviction selection is optionally based on grey box knowledge of the application client and/or information obtained from the application client.