Dynamic Logging Adjustment for Resource-Constrained Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Logging processes are resource-intensive and can cause performance issues in systems, leading to crashes when workloads increase, as they consume significant CPU, memory, and disk I/O resources.

Innovation Solution

A method that identifies current and future resource usage for a computing device's subsystems, applying rules to determine whether to execute traces based on these resources, including thresholds and priority levels to manage resource allocation dynamically and prevent system overload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If logging is executed to investigate run-time issues, then diagnostic capability is improved, but system performance deteriorates due to resource consumption

Engineering Contradiction:
Improvediagnostic capabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The logging system dynamically adjusts its operation based on current system conditions. The controller monitors resource usage metrics and automatically enables or disables logging for different subsystems based on whether resources are available, transforming the static logging configuration into a dynamic adaptive system that responds to real-time system state

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of logging by adjusting the enabled/disabled state of logging for different subsystems based on resource availability. This parameter change allows the system to switch between diagnostic mode (logging enabled) and performance mode (logging disabled) depending on current resource conditions

Inventive Principle:
Principle #35Parameter changes

2Reliability

If logging is enabled to capture system traces, then debugging capability is improved, but resource availability deteriorates due to CPU, memory, and disk I/O consumption

Engineering Contradiction:
Improvedebugging capabilityVSAvoidresource availability
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The logging system is segmented into multiple independent subsystems, each with its own logging capability. The controller can selectively enable or disable logging for individual subsystems based on resource availability, allowing fine-grained control over resource consumption while maintaining debugging capability for critical subsystems

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of enabling logging system-wide or completely disabling it, the system applies partial action by selectively enabling logging only for specific subsystems based on their priority and current resource conditions. This allows sufficient debugging capability while limiting resource consumption to acceptable levels

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the system operates at full capacity to handle increased workload, then productivity is improved, but system stability deteriorates due to resource exhaustion from logging

Engineering Contradiction:
Improveworkload handling capacityVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback control by continuously monitoring resource usage metrics and using this information to adjust logging behavior. The controller receives feedback about current resource availability and automatically modifies logging configuration to prevent resource exhaustion, thereby maintaining system stability under varying workload conditions

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10241882B2System and method for dynamic adjustment of logging
Publication Date: 2019.03.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10241882B2 patent drawing
  • US10241882B2 patent drawing
  • US10241882B2 patent drawing

AI summary

A method, computer program product, and computer system for identifying a current amount of resources used by a computing device. A future amount of resources may be estimated for executing a trace for a subsystem of the computing device. One or more rules may be identified for executing the trace for the subsystem of the computing device, wherein the one or more rules may be based upon, at least in part, at least one of the current amount of resources used by the computing device and the future amount of resources for executing the trace for the subsystem of the computing device. It may be determined whether to execute the trace for the subsystem of the computing device based upon, at least in part, the one or more rules.