Binary Translation Performance Scaling via Dynamic Power Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Binary translation of executable code from one instruction set architecture (ISA) to another often results in performance degradation, leading to noticeable speed differences in user experiences, particularly in interactive applications, due to architectural differences and the overhead of translation.
Innovation Solution
The solution involves dynamically adjusting the power-performance state of processing hardware to compensate for translation overhead by identifying translated code and adjusting parameters such as clock frequency, voltage, and core assignment, ensuring translated code executes faster than non-translated code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If binary translation is used to enable cross-ISA execution, then code portability is improved, but execution performance deteriorates
Solution Approach 1:
The system dynamically changes hardware parameters (clock frequency, voltage, core assignment) based on whether code is translated or native, adjusting performance parameters to compensate for translation overhead and eliminate measurable performance differences between translated and native code execution
2Use of energy by moving object
If translated code executes at normal speed, then power consumption is reduced, but user experience deteriorates due to noticeable speed differences
Solution Approach 1:
The system uses feedback from identifying translated code to dynamically adjust power-performance state, creating a closed-loop control that monitors code translation status and responds by adjusting hardware parameters to maintain consistent user experience across both translated and native code
Solution Approach 2:
Hardware parameters such as clock frequency and voltage are dynamically changed based on the translation status of executing code, allowing the system to optimize between power consumption and performance based on real-time conditions
Data Source
AI summary
Embodiments relate to improving user experiences when executing binary code that has been translated from other binary code. Binary code (instructions) for a source instruction set architecture (ISA) cannot natively execute on a processor that implements a target ISA. The instructions in the source ISA are binary-translated to instructions in the target ISA and are executed on the processor. The overhead of performing binary translation and/or the overhead of executing binary-translated code are compensated for by increasing the speed at which the translated code is executed, relative to non-translated code. Translated code may be executed on hardware that has one or more power-performance parameters of the processor set to increase the performance of the processor with respect to the translated code. The increase in power-performance for translated code may be proportional to the degree of translation overhead.


