Self-Tuning Data Persistence Mechanism for CPU Spike Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Performance monitoring applications face challenges in efficiently persisting large volumes of data without impacting system performance, as the process can consume significant system resources and cause CPU spikes if not managed properly.

Innovation Solution

A self-tuning data persisting mechanism that adjusts persistence time and data rate based on system performance, dividing the persistence cycle into segments and dynamically adjusting segment size and length to maintain efficient and unobtrusive data storage, minimizing resource consumption and data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If performance metrics are persisted to database to reduce memory usage, then memory consumption is reduced, but system performance is affected due to high data volumes and periodic persistence operations

Engineering Contradiction:
Improvememory consumptionVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The persistence cycle is divided into multiple segments, each handling a portion of the data volume. This segmentation allows the system to persist data in smaller, manageable batches rather than processing the entire data volume at once, thereby reducing the impact on system performance while still achieving effective memory reduction through persistence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The persistence mechanism dynamically adjusts the persistence cycle time and segment parameters based on system conditions. When system performance is under stress, the system can extend persistence cycles or adjust segment sizes to reduce processing frequency and impact, while maintaining effective memory management.

Inventive Principle:
Principle #15Dynamics

2Reliability

If persistence cycle time is reduced to persist data faster, then data loss is minimized, but CPU usage increases causing CPU spikes

Engineering Contradiction:
Improvedata loss preventionVSAvoidCPU usage
Core Design Contradiction:
ReliabilityVSPower

Solution Approach 1:

By dividing the persistence operation into segments, the system can process data in smaller chunks over time. This allows the system to maintain a reasonable persistence cycle time that prevents data loss while distributing the CPU workload across multiple segments rather than concentrating it in a single high-frequency operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts persistence cycle time and segment parameters based on current system conditions. When CPU usage is low, the system can use shorter persistence cycles to minimize data loss risk. When CPU usage is high, the system extends persistence cycles to reduce processing frequency and avoid CPU spikes.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If persistence data rate is increased to persist more data, then data persistence efficiency is improved, but system resources are consumed more heavily

Engineering Contradiction:
Improvepersistence efficiencyVSAvoidsystem resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The persistence operation is segmented into multiple smaller persistence cycles rather than one large operation. This allows the system to achieve good persistence efficiency by processing data in manageable segments while distributing resource consumption across time rather than concentrating it in a single high-intensity operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts persistence data rate and cycle time based on system resource availability and data volume. When resources are abundant, the system can persist data at higher rates. When resources are constrained, the system reduces persistence rate while maintaining effectiveness through adaptive parameter adjustment.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9606887B2Persisting large volumes of data in an efficient unobtrusive manner
Publication Date: 2017.03.28 ATERNITY LLC
  • US9606887B2 patent drawing
  • US9606887B2 patent drawing
  • US9606887B2 patent drawing

AI summary

Embodiments provide a data persisting mechanism that allows for efficient, unobtrusive persisting of large volumes of data while optimizing the use of system resources by the persisting process. In an embodiment, the persisting process includes a self-tuning algorithm that constantly monitors persistence performance and that adjusts persistence time to maintain performance within user-defined criteria. From one aspect, this allows the persisting process to seamlessly adapt to changes in system environment (speeding up persistence during times of low processor usage and slowing down persistence during times of high processor usage) and to reduce or eliminate CPU spikes caused by persisting process. From another aspect, the persisting process results in the data being persisted as quickly as possible given the system constraints, thereby minimizing the possibility of data loss.