Dynamic Logging Adjustment for Resource-Constrained Systems
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
Data Source
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.


