Machine Learning Module for Dynamic Message Scheduling in Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face challenges in optimizing the frequency of sending discard track messages to non-volatile storage, which affects response times and processor utilization, leading to suboptimal system performance.

Innovation Solution

A machine learning module is trained to determine the optimal send message parameter values based on current operating conditions, adjusting parameters such as maximum time to wait and maximum number of discard requests to balance message frequency and processor utilization, thereby optimizing system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If discard track messages are sent more frequently, then discard response time is improved, but processor utilization increases

Engineering Contradiction:
Improvediscard response timeVSAvoidprocessor utilization
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies dynamics by making the message sending frequency adjustable rather than fixed. The system dynamically modifies the send message parameter based on monitored performance conditions (processor utilization, message processing time) to adapt to changing system states, resolving the contradiction between response time and processor utilization

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback by continuously monitoring performance conditions (processor utilization percentage, average message processing time) and using this information to adjust the send message parameter. The machine learning module receives this feedback and produces adjusted parameter values that optimize the balance between discard response time and processor utilization

Inventive Principle:
Principle #23Feedback

2Productivity

If discard track messages are sent less frequently, then processor utilization is reduced, but discard response time worsens

Engineering Contradiction:
Improveprocessor utilizationVSAvoiddiscard response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically adjusts message frequency based on current system conditions. When processor utilization is high, the send message parameter is increased to reduce frequency and lower utilization. When conditions improve, frequency can be increased again to improve response time

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The feedback mechanism monitors processor utilization and message processing time to determine when to adjust message frequency. This closed-loop control ensures that reductions in message frequency only occur when necessary to protect processor utilization, preventing permanent degradation of response time

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10628241B2Determining when to send message to computing node to process items by training a machine learning module
Publication Date: 2020.04.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10628241B2 patent drawing
  • US10628241B2 patent drawing
  • US10628241B2 patent drawing

AI summary

Provided are a computer program product, system, and method for determining when to send message to a computing node to process items by training a machine learning module. A machine learning module receives as input information related to sending of messages to the computing node to process items and outputs a send message parameter value for a send message parameter indicating when to send a message to the computing node. The send message parameter value is adjusted based on a performance condition and a performance condition threshold to produce an adjusted send message parameter value. The machine learning module is retrained with the input information related to the sending of messages to produce the adjusted send message parameter value. The retrained machine learning module is used to produce a new send message parameter value used to determine when to send a message.