Thread-Level Resource Usage Measurement in Runtime Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-threaded runtime systems, identifying and addressing threads that consume excessive resources is challenging due to the complexity of debugging hundreds of threads, leading to performance issues and potential system stalls or crashes.

Innovation Solution

Implementing thread-level resource usage measurement by taking snapshots of resource usage before and after a thread's execution, allowing for the calculation of resource consumption and enabling the termination of misbehaving threads, thereby improving system performance and troubleshooting efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If thread-level resource usage measurement is implemented, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improvethread-level resource usage measurement precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the measurement process by creating separate measurement threads that independently monitor resource usage of individual target threads. Each measurement thread is responsible for tracking a specific target thread's resource consumption, allowing precise thread-level measurement without requiring complex instrumentation of all threads simultaneously. This segmentation enables the system to achieve fine-grained measurement precision while managing overall system complexity through modular measurement units.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If resource usage measurement is performed for all threads, then measurement precision is improved, but loss of time increases

Engineering Contradiction:
Improvethread-level resource usage measurement precisionVSAvoidtime for measurement and debugging
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements partial measurement by allowing selective monitoring of specific target threads rather than requiring measurement of all threads in the system. The measurement threads can be configured to track only particular threads of interest, enabling precise measurement of problematic threads without the time overhead of instrumenting and measuring every thread. This partial action approach significantly reduces measurement time while maintaining the precision needed to identify resource-hungry threads.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The measurement threads utilize existing system resources and threading mechanisms to perform monitoring, rather than requiring separate dedicated measurement infrastructure. By leveraging the operating system's existing thread management and resource tracking capabilities, the patent achieves precise measurement without adding substantial time overhead. The measurement threads serve themselves by using the same resource management mechanisms they are measuring, thereby reducing the cumulative time cost of comprehensive measurement.

Inventive Principle:
Principle #25Self-service

3Reliability

If comprehensive thread monitoring is implemented, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidthread management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces measurement threads as intermediary components that mediate between the operating system and the threads being monitored. These measurement threads act as intermediaries that capture resource usage information without requiring direct complex interaction with all target threads. The measurement threads collect data from the target threads through standard system interfaces, thereby improving system reliability by providing comprehensive monitoring while avoiding the complexity of deep integration with every thread's execution context.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7624395B2Thread-level resource usage measurement
Publication Date: 2009.11.24 SAP SE
  • US7624395B2 patent drawing
  • US7624395B2 patent drawing
  • US7624395B2 patent drawing

AI summary

Methods and apparatus, including computer program products, that implement thread-level resource usage measurement. A runtime system to run on top of a native operating system can be operable to perform operations including running threads; taking snapshots of usage of one or more resources in the runtime system, including taking a first snapshot corresponding to a start of execution a thread and a second snapshot corresponding to an end of execution of the thread, where the first snapshot is taken before the second snapshot; and calculating usage of the resources by the thread based on the snapshots. The threads can be running in a virtual machine and snapshots can be measurements of resources at the operating system level.