Matching Rules Dictionary for Software Session Performance Differencing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


