Data Space Profiling for Memory Bottleneck Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional profiling tools fail to effectively detect bottlenecks in modern multi-core, multi-threaded systems, particularly in the memory subsystem, and do not provide mechanisms to operate on context-specific data, leading to inefficiencies in scalability and performance optimization.

Innovation Solution

A data space profiling system that defines custom cost metrics using user-specified mathematical functions, applies queries to event sets, and uses relational agents to extract profile data from software applications, focusing on runtime events like cache misses and branch mispredictions to identify performance bottlenecks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Difficulty of detecting and measuring

If traditional instruction-centric profiling tools are used, then profiling support is provided, but they fail to detect bottlenecks in memory subsystem and data motion

Engineering Contradiction:
Improvebottleneck detection capabilityVSAvoidapplicability to modern multi-core systems
Core Design Contradiction:
Difficulty of detecting and measuringVSAdaptability or versatility

Solution Approach 1:

The patent changes the fundamental parameter of profiling from instruction-centric to data-space-centric. Instead of measuring instruction execution characteristics, the system measures data motion characteristics including cache misses, memory accesses, and data dependency patterns. This parameter transformation enables detection of memory subsystem bottlenecks that traditional tools miss.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a new dimension of analysis by moving from the instruction level to the data space level. The system profiles data objects, their locations, and motion patterns across memory hierarchy and between cores, adding a spatial and temporal dimension that reveals data motion bottlenecks invisible to traditional instruction profiling.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If code instrumentation techniques are used to profile code, then profiling data is collected, but overhead is imposed on original program code and behavior may be altered

Engineering Contradiction:
Improveprofiling data accuracyVSAvoidprogram execution efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent replaces the mechanical approach of code instrumentation with a hardware-assisted profiling mechanism. The system uses processor performance counters and data space tracking hardware to collect profiling information without modifying program code. This substitution eliminates the overhead and behavior alteration caused by inserted instrumentation instructions.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If hardware assisted profiling techniques are used, then overhead on program code is reduced, but they do not provide mechanisms to operate on context-specific data

Engineering Contradiction:
Improveprogram execution efficiencyVSAvoidcontext-specific data processing capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal data space profiling framework that can operate on any data object, memory location, or data motion pattern. The system provides a general-purpose mechanism for profiling data characteristics across different contexts, applications, and hardware configurations, enabling flexible analysis of context-specific data without requiring application-specific profiling implementations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Ease of manufacture

If instruction-centric profiling paradigm is used, then existing tools can be used, but they fail to accurately characterize data motion and memory operations

Engineering Contradiction:
Improvetool availabilityVSAvoiddata motion characterization accuracy
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The patent fundamentally changes the measurement parameters from instruction execution metrics to data motion metrics. By tracking data objects, their locations, access patterns, and motion between memory hierarchy levels and processor cores, the system achieves precise characterization of data motion that instruction-centric tools cannot provide.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8032875B2Method and apparatus for computing user-specified cost metrics in a data space profiler
Publication Date: 2011.10.04 ORACLE AMERICAN INC
  • US8032875B2 patent drawing
  • US8032875B2 patent drawing
  • US8032875B2 patent drawing

AI summary

A system and method for profiling a software application may include means for defining a custom cost metric that includes a cost metric identifier and a cost function. The cost function may apply a mathematical formula to data extracted from an event set to calculate a respective cost metric value for each of one or more events in the event set. The data extracted from the event set may include one or more respective profiling object identifiers and one or more other respective costs associated with each of the one or more events. A cost associated with an event in the event space may be associated with a function or basic block of instructions. The cost function may include a distribution formula for attributing at least a portion of the cost associated with a function or basic block to each of the instructions comprising the function or basic block.