Matching Rules Dictionary for Software Session Performance Differencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Analyzing performance differences in multi-core processors, particularly in parallel-executed applications, is challenging due to non-deterministic task assignment and execution, making it difficult to determine one-to-one correspondences between tasks across different application sessions.

Innovation Solution

A matching rules dictionary is employed to correlate tasks between application sessions by using matching rules based on task IDs or parameters, allowing for performance differencing analysis, with the dictionary being populated and updated through user interaction and task selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional differencing algorithms are used for serial applications, then the correspondence between records can be determined quickly, but the method fails to work effectively for parallel-executed applications with non-deterministic task assignment

Engineering Contradiction:
Improvedifferencing speedVSAvoidapplicability to parallel executions
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the task correspondence problem into multiple levels: first establishing thread-level correspondences through deterministic matching, then performing task-level correspondences within matched threads. This segmentation allows the algorithm to handle non-deterministic task assignment by breaking down the complex matching into manageable, solvable components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces thread identity as an intermediary element between task execution and performance analysis. By first establishing which threads correspond across sessions through deterministic criteria, then using these thread correspondences to match tasks, the system creates a reliable bridge that enables differencing in parallel executions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If task assignment to threads is made non-deterministic for parallel execution, then application performance can be improved through better load balancing, but it becomes difficult to determine one-to-one correspondences between tasks across sessions

Engineering Contradiction:
Improveapplication performanceVSAvoidtask correspondence accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent segments the matching problem into thread-level and task-level components. Thread-level matching uses deterministic criteria to establish correspondences, while task-level matching occurs within the context of matched threads. This segmentation preserves measurement precision by ensuring that both levels of matching are performed with appropriate deterministic criteria.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a dimensional layer by introducing thread identity as an intermediate dimension between task execution and performance measurement. Instead of directly matching tasks across sessions, the system matches threads first, then uses this intermediate correspondence to enable accurate task-level differencing, thereby resolving the non-deterministic task assignment problem.

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

3Adaptability or versatility

If a matching rules dictionary is used to correlate tasks between sessions, then performance differencing analysis can be enabled, but the system complexity increases due to dictionary population and maintenance requirements

Engineering Contradiction:
Improveperformance analysis capabilityVSAvoidsystem structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having the system automatically populate and maintain the matching rules dictionary during execution. The dictionary is dynamically updated based on observed task patterns and thread behaviors, eliminating the need for manual configuration and reducing operational complexity while maintaining high adaptability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary action by pre-establishing deterministic matching criteria for threads and tasks before actual differencing analysis is needed. The matching rules dictionary is populated in advance with patterns and characteristics that enable rapid correspondence determination during performance analysis, reducing real-time processing complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8671400B2Performance analysis of software executing in different sessions
Publication Date: 2014.03.11 INTEL CORP
  • US8671400B2 patent drawing
  • US8671400B2 patent drawing
  • US8671400B2 patent drawing

AI summary

A technique includes providing first objects that are associated with an application session and in a processor-based system, identifying second objects in another application session corresponding to the first objects based at least in part on a comparison of the second objects to matching rules associated with the first objects.