Microarchitecture-Aware Program Sampling via Multi-Task ML
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional program-sampling techniques are microarchitecture-agnostic, leading to limited accuracy and reliability in hardware simulation, as they fail to represent relevant microarchitecture information in sampled programs.
Innovation Solution
A method for microarchitecture-aware program sampling involves receiving traces from microarchitectures, training a multi-task machine learning model, generating embedded vectors representing the computer program, and updating these vectors based on the trained model, allowing for sampling that is aware of microarchitecture-specific information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional random or rule-based program sampling is used, then the workload of running entire benchmark programs on simulators is reduced, but the accuracy and reliability of hardware simulation deteriorates due to lack of microarchitecture information representation
Solution Approach 1:
The system performs preliminary actions by collecting execution traces from target microarchitectures and training a multi-task machine learning model before the actual sampling process. This pre-training enables the model to understand microarchitecture-specific patterns, which are then applied during sampling to select representative program sections that accurately reflect the target hardware behavior, thus maintaining simulation accuracy while reducing workload.
Solution Approach 2:
The patent replaces conventional mechanical/random sampling methods with an intelligent machine learning-based sampling system. The multi-task machine learning model substitutes the traditional rule-based approach, using learned representations from execution traces to intelligently select program sections. This substitution enables the system to capture microarchitecture-specific behaviors that random sampling would miss, thereby improving measurement precision while maintaining productivity benefits.
2Ease of operation
If microarchitecture-agnostic sampling techniques are used, then the sampling process is simple and fast, but the representation of relevant hardware microarchitecture information in sampled programs is insufficient
Solution Approach 1:
The system performs preliminary trace collection and model training to encode microarchitecture information into the sampling process. By pre-training the multi-task machine learning model with execution traces from target microarchitectures, the system prepares the necessary knowledge base before sampling, enabling informed selection of program sections that preserve microarchitecture-specific information without complicating the actual sampling operation.
Solution Approach 2:
The multi-task machine learning model acts as an intermediary between the sampling process and microarchitecture information. The model learns to represent microarchitecture characteristics from execution traces and uses this knowledge to guide sampling decisions. This intermediary enables the system to capture subtle microarchitecture-specific patterns while maintaining the simplicity of the sampling interface, effectively bridging the gap between simple sampling operations and complex microarchitecture information representation.
Data Source
AI summary
This application describes methods, systems, and apparatus, including computer programs encoded on computer storage media, for microarchitecture-aware program sampling. An exemplary method includes receiving one or more traces collected from one or more microarchitectures executing a computer program for evaluating hardware configurations; training a machine learning (ML) model with multi-task learning based on the one or more traces as one or more training tasks; generating a plurality of embedded vectors representing the computer program; and updating, based on the trained ML model, the plurality of embedded vectors.


