[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1109/CGO.2006.27acmconferencesArticle/Chapter ViewAbstractPublication PagescgoConference Proceedingsconference-collections
Article

Optimizing Dynamic Binary Translation for SIMD Instructions

Published: 26 March 2006 Publication History

Abstract

Dynamic binary translation technology allows a program written for one architecture to be executed on a second architecture without recompiling the source code. Effective dynamic binary translation of SIMD (Single Instruction Multiple Data) instructions has become more and more important as SIMD extensions have gained popularity among general-purpose CPUs within the last decade. Many SIMD extensions allow an SIMD1 register to hold data of different types at different times. Supporting multiple data types within the same register complicates the task of a dynamic translator, which may or may not be able to determine the type of the register at translation time. We propose the SIMD data type tracking algorithm to translate the SIMD instructions and three algorithms to further optimize the translation. Our results show that the three optimizing algorithms give overall 3.89% performance improvement for SPEC2K INT benchmarks and 6.61% for SPEC2K FP benchmarks.

References

[1]
{1} Intel Corporation, "Intel@ IA-32 Architecture, Software Developer's Manual", Vol. 1-3, http://developer.intel.com/design/Pentium4/documentation.ht m
[2]
{2} Intel Corporation, "Intel@ Itanium@ Architecture, Software Developer's Manual", Vol. 1-3, http://www.intel.com/design/itanium/manuals/iiasdmanual.ht m
[3]
{3} Dehnert, J. C.; Grant, B. K.; Banning, J.P .; Johnson, R.; Kistler, T.; Klaiber, A. and Mattson, J., "The Transmeta code morphing software: using speculation, recovery, and adaptive retranslation to address real-life challenges" in the Proceedings of the International Symposium on Code Generation and Optimization, 2003.
[4]
{4} Anton Chernoff, Mark Herdeg, Ray Hookway, Chris Reeve, Norman Rubin, Tony Tye, S. Bharadwaj Yadavall and John Yates "FX!32: A Profile-Directed Binary Translator". IEEE Micro(18), March/April 1998.
[5]
{5} Cindy Zheng and Carol Thompson, "PA-RISC to IA-64: Transparent Execution, No Recompilation", IEEE Computer 33(3), March 2000.
[6]
{6} Garnett, T., Dynamic Optimization of IA-32 Applications under DynamoRIO http://www.cag.lcs.mit.edu/commit/papers/03/garnett-meng-thesis.pdf
[7]
{7} Bruening, D., Garnett, T., Amarasinghe, S. An infrastructure for adaptive dynamic optimization. In 1st International Symposium on Code Generation and Optimization (CGO-2003), March 2003.
[8]
{8} Probst, M., Dynamic Binary Translation, http://www.ukuug.org/events/linux2002/papers/pdf/Dynamic BinaryTranslation.pdf
[9]
{9} Transitive Corp., http://www.transitive.com/
[10]
{10} Todd M. Austin. A hacker's guide to the SimpleScalar architectural research tool set, December 1996.
[11]
{11} Linley Gwennap. AltiVec vectorizes PowerPC. Microprocessor Report, 12(6):1, 6-9, May 1998.
[12]
{12} Koukourechkov, E., Grozdanov, N., Gaydadjiev, G., and Vassiliadis, S. SCISM IA-32 Binary Translator, http://ce.et.tudelft.nl/publicationfiles/825_425_koukourechko v.pdf.
[13]
{13} Duesterwald, E., Design and Engineering of a Dynamic Binary Optimizer, in Proceedings of the IEEE, Vol. 93, NO. 2, Feb. 2005, pp. 436-448.
[14]
{14} L. Baraz, T. Devor, O. Etzion, S. Goldenberg, A. Skaletsky, Y. Wang and Y. Zemach, "IA-32 execution layer: A two phase dynamic translator designed to support IA-32 applications on Itanium®-based systems," in Proc. 36th Annu. Int. Symp. Microarchitecture, 2003, pp. 191-204.
[15]
{15} K. Ebcioglu and E. Altman, "DAISY: Dynamic compilation for 100% architectural compatibility," in Proc. 24th Annu. Int. Symp. Computer Architecture, 1997, pp. 26- 37.
[16]
{16} Kevin Scott, Naveen Kumar, Siva Velusamy, Bruce Childers, Jack W. Davidson and Mary Lou Soffa. Retargetable and Reconfigurable Software Dynamic Translation. CGO'03, pages 36-47, 2003.
[17]
{17} Troger, Jens, Specification-Driven Dynamic Binary Translation, Ph. D Thesis, December 2004.
[18]
{18} Cristina Cifuentes, Mike Van Emmerik and et.al. Preliminary Experiences with the Use of the UQBT Binary Translation Framework. In Workshop on Binary Translation, Technical Committee on Computer Architecture Newsletter, 1999.
[19]
{19} Bob Cmelik and David Keppel. Shade: A Fast Instruction-Set Simulator for Execution Profiling. ACM SIGMETRICS Performance Evaluation Review, 22(1):128- 137, May 1994.
[20]
{20} Drew Northup and Eric Laberge. Plex, 2003.http://savannah.nongnu.org/projects/plex86/.
[21]
{21} Kevin Lawton. Bochs - a x86 Emulator, 2004. http://bochs.sourceforge.net/.
[22]
{22} The SimpleScalar Architectural Research Tool Set, Version 2.0, http://www.cs.wisc.edu/~mscalar/simplescalar.html
[23]
{23} VMWare, http://www.vmware.com/
[24]
{24} XEN, http://sourceforge.net/projects/xen
[25]
{25} R. Lee and J. Huck, "64-bit and Multimedia Extensions for the PA-RISC 2.0 Architecture," Proc. Compcon, IEEE Computer Society Press, Los Alamitos, Calif., 1996, pp, 152-160.
[26]
{26} L. Kohn et al., "The Visual Instruction Set (VIS) in UltraSPARC," Proc. Compcon, IEEE CS Press, 1995, pp. 462-469.
[27]
{27} Keith Diefendorff, Pradeep K. Dubey, Ron Hochsprung, Hunter Scales, "Altivec Extension to PowerPC Accelerates Media Processing," IEEE Micro 20(2): 85-95 (2000).
[28]
{28} "MIPS Digital Media Extensions," Instruction Set Architecture Specification, http://www.mips.com/MDMXspec.ps, Oct.21, 1997.

Cited By

View all
  • (2021)Effective exploitation of SIMD resources in cross-ISA virtualizationProceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3453933.3454016(84-97)Online publication date: 7-Apr-2021
  • (2020)A Retargetable System-level DBT HypervisorACM Transactions on Computer Systems10.1145/338616136:4(1-24)Online publication date: 30-May-2020
  • (2019)A retargetable system-level DBT hypervisorProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358850(505-520)Online publication date: 10-Jul-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
CGO '06: Proceedings of the International Symposium on Code Generation and Optimization
March 2006
347 pages
ISBN:0769524990

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 26 March 2006

Check for updates

Qualifiers

  • Article

Conference

CGO06

Acceptance Rates

CGO '06 Paper Acceptance Rate 29 of 80 submissions, 36%;
Overall Acceptance Rate 312 of 1,061 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Effective exploitation of SIMD resources in cross-ISA virtualizationProceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3453933.3454016(84-97)Online publication date: 7-Apr-2021
  • (2020)A Retargetable System-level DBT HypervisorACM Transactions on Computer Systems10.1145/338616136:4(1-24)Online publication date: 30-May-2020
  • (2019)A retargetable system-level DBT hypervisorProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358850(505-520)Online publication date: 10-Jul-2019
  • (2019)Unleashing the power of learningProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358815(77-89)Online publication date: 10-Jul-2019
  • (2019)Cross-ISA execution of SIMD regions for improved performanceProceedings of the 12th ACM International Conference on Systems and Storage10.1145/3319647.3325832(55-67)Online publication date: 22-May-2019
  • (2019)The janus triad: exploiting parallelism through dynamic binary modificationProceedings of the 15th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3313808.3313812(88-100)Online publication date: 14-Apr-2019
  • (2019)Revec: program rejuvenation through revectorizationProceedings of the 28th International Conference on Compiler Construction10.1145/3302516.3307357(29-41)Online publication date: 16-Feb-2019
  • (2019)Exploiting SIMD Asymmetry in ARM-to-x86 Dynamic Binary TranslationACM Transactions on Architecture and Code Optimization10.1145/330148816:1(1-24)Online publication date: 13-Feb-2019
  • (2018)Improving SIMD Parallelism via Dynamic Binary TranslationACM Transactions on Embedded Computing Systems10.1145/317345617:3(1-27)Online publication date: 12-Feb-2018
  • (2016)Assisting Static Compiler Vectorization with a Speculative Dynamic Vectorizer in an HW/SW Codesigned EnvironmentACM Transactions on Computer Systems10.1145/280769433:4(1-33)Online publication date: 4-Jan-2016
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media