SlideShare a Scribd company logo
1 of 22
RetargetableRetargetable
BinaryBinary
TranslatorsTranslators
10 Sep 200710 Sep 2007
National University of SingaporeNational University of Singapore
School of ComputingSchool of Computing
OH KWANG SHINOH KWANG SHIN
Retargetable Binary
Translators
10 Sep 2007 2
AgendaAgenda
• Emulation Summary
• Binary Translators - Example
• Binary Translators - Weakness
• Retargetable Binary Translator
Framework
– Strata
– Walkabout
Retargetable Binary
Translators
10 Sep 2007 3
Emulation SummaryEmulation Summary
Decode-
dispatch
Indirect
Threaded
Direct
Threaded
Binary
Translation
Memory Low Low High High
Start-up Fast Fast Slow Slow
Steady-
state
Slow Slow Medium Fast
Code
Portability
Excellent Excellent Medium Poor
Retargetable Binary
Translators
10 Sep 2007 4
Binary TranslatorsBinary Translators
Example IExample I
• Transmeta’s Code Morphing
– Intel IA-32 binary to run on VLIW
Crusoe processor
• UQDBT System
– Intel IA-32 binary to run on SPARC-
based processor
• FX!32
– x86 binary to run on Alpha processor
Retargetable Binary
Translators
10 Sep 2007 5
Binary TranslatorsBinary Translators
Example IIExample II
• Shade
– Implement high-performance instruction
set simulators
• Embra
– Implement a high-performance
operating system emulator
• Dynamo and Mojo
– Improve the performance of native
binaries
Retargetable Binary
Translators
10 Sep 2007 6
Binary TranslatorBinary Translator
WeaknessWeakness
• Code Portability - Poor
– Typically, written for a single application
and/or platform
– Specialized for the target ISA
– Single-target, single-purpose approach
– Reinvent the wheel!
• Have to develop a new system (Binary
Translator) from scratch!
Retargetable Binary
Translators
10 Sep 2007 7
Retargetable Binary TranslatorRetargetable Binary Translator
FrameworkFramework
• Strata
– A cross-platform infrastructure for
building software binary dynamic
translators
• Walkabout
– A retargetable binary translation
framework for experimenting with
dynamic translation of binary code
Retargetable Binary
Translators
10 Sep 2007 8
Strata - BackgroundStrata - Background
• Strata
– Binary Translator implementation
infrastructure
– Provides common framework for
software engineering principle, Code
Reuse
• Provides simple binary translator for a
variety of architectures
• Allows code reuse through composition
Retargetable Binary
Translators
10 Sep 2007 9
Strata - ArchitectureStrata - Architecture
Target-independent
Common services
Reconfigurable
Retargetable Binary
Translators
10 Sep 2007 10
Strata-SPARCStrata-SPARC
• First Strata software dynamic
translator
• For the SPARC V8/V9 instruction set
architecture and the Solaris
operating system
• A variety of target-independent
techniques
– Reduce the number of context switches
Retargetable Binary
Translators
10 Sep 2007 11
Strata-SPARCStrata-SPARC
PerformancePerformance
• Strata-SPARC with native execution
– From 1.02x to 1.8x, average 1.32x
Retargetable Binary
Translators
10 Sep 2007 12
Strata-MIPSStrata-MIPS
• For MIPS IV instruction set
architecture and the IRIX 6.5.10
operating system
• In porting Strata to the MIPS
– Found Strata’s structure to be flexible
and relatively easy to retarget
• Initial version
– One person less than three weeks
Retargetable Binary
Translators
10 Sep 2007 13
Strata-MIPSStrata-MIPS
PerformancePerformance
• Strata-MIPS with native execution
– From 1.09x to 3.0x, average 1.8x
Retargetable Binary
Translators
10 Sep 2007 14
Strata-X86Strata-X86
• For Intel 80x86 instruction set
architecture
• Difference between CISC and RISC
– Still used Strata-SPARC as the basis for
retargeting to the x86
• Focus on implementing the
instruction fetch and decode function
– To do some amount of decoding of an
instruction to determine its length
Retargetable Binary
Translators
10 Sep 2007 15
Strata-X86Strata-X86
PerformancePerformance
• Strata-X86 with native execution
– From 1.0x to 1.8x, average 1.35x
Retargetable Binary
Translators
10 Sep 2007 16
Walkabout - BackgroundWalkabout - Background
• Walkabout
– Retargetable binary translation
framework for experimenting with
dynamic translation of binary code
– How to instrument interpreters in a
retargetable way
– Inspiration
• University of Queensland Binary Translator
(UQBT) framework
– Enabled static translations of binary codes
Retargetable Binary
Translators
10 Sep 2007 17
Walkabout - ArchitectureWalkabout - Architecture
• Designed with retargetability in mind
Retargetable Binary
Translators
10 Sep 2007 18
Walkabout - RetargetabilityWalkabout - Retargetability
• Supporting binaries for different
input and output machines
• Users could instantiate new
translators out of the framework
– Source and target machines of choice
• Supported through the specifications
– Machine descriptions
– Hot path selection method specifications
Retargetable Binary
Translators
10 Sep 2007 19
Walkabout - InterpreterWalkabout - Interpreter
• Automatically generated from
– Specifications of syntax and semantics of
machine instruction set
• Interpreter Generator
– SLED describes the instruction syntax
– SSL describes the instruction semantics
Retargetable Binary
Translators
10 Sep 2007 20
Walkabout - PerformanceWalkabout - Performance
Performance results for an automatically-generated
C Language interpreter for the SPARC architecture
(Static size in bytes, Interpreter running time in seconds,
Path-Finder with dynamic optimization running time)
Retargetable Binary
Translators
10 Sep 2007 21
ReferencesReferences
• K. Scott, N. Kumar, S. Velusamy, B. R. Childers, J. W. Davidson,
and M. L. Soffa, Retargetable and Reconfigurable Software
Dynamic Translation, International Symposium on Code Generation
and Optimization, pp. 36–47 (March 2003).
• CIFUENTES, C., LEWIS, B., AND UNG, D. Walkabout – A
Retargetable Dynamic Binary Translation Framework. In
Proceedings of the 2002 Workshop on Binary Translation (2002).
• C. Cifuentes, M. Van Emmerik, N. Ramsey, and B. Lewis.
Experience in the design, implementation and use of a retargetable
static binary translation framework. Technical Report TR-2002-
105, Sun Microsystems Laboratories, Palo Alto, CA 94303, January
2002.
• C. Cifuentes, B. Lewis. Walkabout – A framework for Experimental
Dynamic Binary Translation. Sun Microsystems Inc, Palo Alto, CA
94303, January 2002.
Retargetable Binary
Translators
10 Sep 2007 22

More Related Content

What's hot

Learn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVLearn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVGhodhbane Mohamed Amine
 
Generic Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András KovácsGeneric Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András Kovácsharryvanhaaren
 
Designing for Massive Scalability at BackType #bigdatacamp
Designing for Massive Scalability at BackType #bigdatacampDesigning for Massive Scalability at BackType #bigdatacamp
Designing for Massive Scalability at BackType #bigdatacampMichael Montano
 
What Can FPGA Designers Do With Personal Data Centers?
What Can FPGA Designers Do With Personal Data Centers?What Can FPGA Designers Do With Personal Data Centers?
What Can FPGA Designers Do With Personal Data Centers?plunify
 
A tour of Java and the JVM
A tour of Java and the JVMA tour of Java and the JVM
A tour of Java and the JVMAlex Birch
 
PoC Requirements and Use Cases
PoC Requirements and Use CasesPoC Requirements and Use Cases
PoC Requirements and Use Casesjennimenni
 
Advancing OpenFabrics Interfaces
Advancing OpenFabrics InterfacesAdvancing OpenFabrics Interfaces
Advancing OpenFabrics Interfacesinside-BigData.com
 
2015 open storage workshop ceph software defined storage
2015 open storage workshop   ceph software defined storage2015 open storage workshop   ceph software defined storage
2015 open storage workshop ceph software defined storageAndrew Underwood
 
Oak, the Architecture of the new Repository
Oak, the Architecture of the new RepositoryOak, the Architecture of the new Repository
Oak, the Architecture of the new RepositoryMichael Dürig
 
Building high traffic http front-ends. theo schlossnagle. зал 1
Building high traffic http front-ends. theo schlossnagle. зал 1Building high traffic http front-ends. theo schlossnagle. зал 1
Building high traffic http front-ends. theo schlossnagle. зал 1rit2011
 
2016-JAN-28 -- High Performance Production Databases on Ceph
2016-JAN-28 -- High Performance Production Databases on Ceph2016-JAN-28 -- High Performance Production Databases on Ceph
2016-JAN-28 -- High Performance Production Databases on CephCeph Community
 
Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]Jimmy Angelakos
 
LinuxCon NA 2016: When Containers and Virtualization Do - and Don’t - Work T...
LinuxCon NA 2016:  When Containers and Virtualization Do - and Don’t - Work T...LinuxCon NA 2016:  When Containers and Virtualization Do - and Don’t - Work T...
LinuxCon NA 2016: When Containers and Virtualization Do - and Don’t - Work T...Jeremy Eder
 
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...Ian Colle
 
LCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project UpdateLCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project UpdateLinaro
 
Ceph Day Shanghai - Opening
Ceph Day Shanghai - Opening Ceph Day Shanghai - Opening
Ceph Day Shanghai - Opening Ceph Community
 
Ceph Day Melabourne - Community Update
Ceph Day Melabourne - Community UpdateCeph Day Melabourne - Community Update
Ceph Day Melabourne - Community UpdateCeph Community
 
09 yong.luo-ceph in-ctrip
09 yong.luo-ceph in-ctrip09 yong.luo-ceph in-ctrip
09 yong.luo-ceph in-ctripYong Luo
 

What's hot (20)

Learn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVLearn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFV
 
Generic Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András KovácsGeneric Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András Kovács
 
Designing for Massive Scalability at BackType #bigdatacamp
Designing for Massive Scalability at BackType #bigdatacampDesigning for Massive Scalability at BackType #bigdatacamp
Designing for Massive Scalability at BackType #bigdatacamp
 
What Can FPGA Designers Do With Personal Data Centers?
What Can FPGA Designers Do With Personal Data Centers?What Can FPGA Designers Do With Personal Data Centers?
What Can FPGA Designers Do With Personal Data Centers?
 
A tour of Java and the JVM
A tour of Java and the JVMA tour of Java and the JVM
A tour of Java and the JVM
 
PoC Requirements and Use Cases
PoC Requirements and Use CasesPoC Requirements and Use Cases
PoC Requirements and Use Cases
 
Advancing OpenFabrics Interfaces
Advancing OpenFabrics InterfacesAdvancing OpenFabrics Interfaces
Advancing OpenFabrics Interfaces
 
2015 open storage workshop ceph software defined storage
2015 open storage workshop   ceph software defined storage2015 open storage workshop   ceph software defined storage
2015 open storage workshop ceph software defined storage
 
Oak, the Architecture of the new Repository
Oak, the Architecture of the new RepositoryOak, the Architecture of the new Repository
Oak, the Architecture of the new Repository
 
Building high traffic http front-ends. theo schlossnagle. зал 1
Building high traffic http front-ends. theo schlossnagle. зал 1Building high traffic http front-ends. theo schlossnagle. зал 1
Building high traffic http front-ends. theo schlossnagle. зал 1
 
Running Legacy Applications with Containers
Running Legacy Applications with ContainersRunning Legacy Applications with Containers
Running Legacy Applications with Containers
 
2016-JAN-28 -- High Performance Production Databases on Ceph
2016-JAN-28 -- High Performance Production Databases on Ceph2016-JAN-28 -- High Performance Production Databases on Ceph
2016-JAN-28 -- High Performance Production Databases on Ceph
 
Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]
 
LinuxCon NA 2016: When Containers and Virtualization Do - and Don’t - Work T...
LinuxCon NA 2016:  When Containers and Virtualization Do - and Don’t - Work T...LinuxCon NA 2016:  When Containers and Virtualization Do - and Don’t - Work T...
LinuxCon NA 2016: When Containers and Virtualization Do - and Don’t - Work T...
 
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
 
LCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project UpdateLCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project Update
 
ODP Presentation LinuxCon NA 2014
ODP Presentation LinuxCon NA 2014ODP Presentation LinuxCon NA 2014
ODP Presentation LinuxCon NA 2014
 
Ceph Day Shanghai - Opening
Ceph Day Shanghai - Opening Ceph Day Shanghai - Opening
Ceph Day Shanghai - Opening
 
Ceph Day Melabourne - Community Update
Ceph Day Melabourne - Community UpdateCeph Day Melabourne - Community Update
Ceph Day Melabourne - Community Update
 
09 yong.luo-ceph in-ctrip
09 yong.luo-ceph in-ctrip09 yong.luo-ceph in-ctrip
09 yong.luo-ceph in-ctrip
 

Viewers also liked

New turkish code of commerce
New turkish code of commerceNew turkish code of commerce
New turkish code of commercesametinanir
 
S Eghrari metropolitan regions in brazil
S Eghrari  metropolitan regions in brazil S Eghrari  metropolitan regions in brazil
S Eghrari metropolitan regions in brazil Susan Eghrari
 
How to do business in turkey 2011
How to do business in turkey 2011How to do business in turkey 2011
How to do business in turkey 2011sametinanir
 
Chreod Corporate Profile
Chreod Corporate ProfileChreod Corporate Profile
Chreod Corporate ProfileEdward Leman
 
Eetstoornissen bij jongeren
Eetstoornissen bij jongerenEetstoornissen bij jongeren
Eetstoornissen bij jongerenKelly Ronse
 
Municipal finance
Municipal financeMunicipal finance
Municipal financesametinanir
 

Viewers also liked (6)

New turkish code of commerce
New turkish code of commerceNew turkish code of commerce
New turkish code of commerce
 
S Eghrari metropolitan regions in brazil
S Eghrari  metropolitan regions in brazil S Eghrari  metropolitan regions in brazil
S Eghrari metropolitan regions in brazil
 
How to do business in turkey 2011
How to do business in turkey 2011How to do business in turkey 2011
How to do business in turkey 2011
 
Chreod Corporate Profile
Chreod Corporate ProfileChreod Corporate Profile
Chreod Corporate Profile
 
Eetstoornissen bij jongeren
Eetstoornissen bij jongerenEetstoornissen bij jongeren
Eetstoornissen bij jongeren
 
Municipal finance
Municipal financeMunicipal finance
Municipal finance
 

Similar to CS6270 Virtual Machines - Retargetable Binary Translators

Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community
 
KoprowskiT_SQLRelay2014#2_Southampton_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#2_Southampton_MaintenancePlansForBeginnersKoprowskiT_SQLRelay2014#2_Southampton_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#2_Southampton_MaintenancePlansForBeginnersTobias Koprowski
 
What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?Tim Ellison
 
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Joel W. King
 
Run PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
Run PostgreSQL in Warp Speed Using NVMe/TCP in the CloudRun PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
Run PostgreSQL in Warp Speed Using NVMe/TCP in the CloudDoKC
 
G rpc talk with intel (3)
G rpc talk with intel (3)G rpc talk with intel (3)
G rpc talk with intel (3)Intel
 
Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller Cisco DevNet
 
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginnersKoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginnersTobias Koprowski
 
MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014Sanjay Manwani
 
New Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesNew Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesKamesh Pemmaraju
 
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?Red_Hat_Storage
 
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. GrayOVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. Grayharryvanhaaren
 
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...Tesora
 
LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2Linaro
 
TWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RCTWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RCRyusuke Kajiyama
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesTarique Saleem
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL SupportMysql User Camp
 
High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)Arnaud Bouchez
 
RedisDay London 2018 - Layered Orchestration & Redis Enterprise for fun and p...
RedisDay London 2018 - Layered Orchestration & Redis Enterprise for fun and p...RedisDay London 2018 - Layered Orchestration & Redis Enterprise for fun and p...
RedisDay London 2018 - Layered Orchestration & Redis Enterprise for fun and p...Redis Labs
 

Similar to CS6270 Virtual Machines - Retargetable Binary Translators (20)

Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph
 
KoprowskiT_SQLRelay2014#2_Southampton_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#2_Southampton_MaintenancePlansForBeginnersKoprowskiT_SQLRelay2014#2_Southampton_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#2_Southampton_MaintenancePlansForBeginners
 
What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?
 
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
 
Run PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
Run PostgreSQL in Warp Speed Using NVMe/TCP in the CloudRun PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
Run PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
 
G rpc talk with intel (3)
G rpc talk with intel (3)G rpc talk with intel (3)
G rpc talk with intel (3)
 
Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller
 
guna_2015.DOC
guna_2015.DOCguna_2015.DOC
guna_2015.DOC
 
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginnersKoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
KoprowskiT_SQLRelay2014#4_Caerdydd_MaintenancePlansForBeginners
 
MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014
 
New Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesNew Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference Architectures
 
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
 
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. GrayOVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
 
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
 
LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2
 
TWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RCTWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RC
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 
High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)
 
RedisDay London 2018 - Layered Orchestration & Redis Enterprise for fun and p...
RedisDay London 2018 - Layered Orchestration & Redis Enterprise for fun and p...RedisDay London 2018 - Layered Orchestration & Redis Enterprise for fun and p...
RedisDay London 2018 - Layered Orchestration & Redis Enterprise for fun and p...
 

More from Kwangshin Oh

Ruby Programming Language - Introduction
Ruby Programming Language - IntroductionRuby Programming Language - Introduction
Ruby Programming Language - IntroductionKwangshin Oh
 
핀테크 코리아 2014 후기 - 오광신
핀테크 코리아 2014 후기 - 오광신핀테크 코리아 2014 후기 - 오광신
핀테크 코리아 2014 후기 - 오광신Kwangshin Oh
 
CS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsCS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsKwangshin Oh
 
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIsCS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIsKwangshin Oh
 
CS5261 Group 8 Presentation - US Mobile Industry
CS5261 Group 8 Presentation - US Mobile IndustryCS5261 Group 8 Presentation - US Mobile Industry
CS5261 Group 8 Presentation - US Mobile IndustryKwangshin Oh
 
Jini Network Technology
Jini Network TechnologyJini Network Technology
Jini Network TechnologyKwangshin Oh
 
Object-Oriented Programming Concepts
Object-Oriented Programming ConceptsObject-Oriented Programming Concepts
Object-Oriented Programming ConceptsKwangshin Oh
 

More from Kwangshin Oh (7)

Ruby Programming Language - Introduction
Ruby Programming Language - IntroductionRuby Programming Language - Introduction
Ruby Programming Language - Introduction
 
핀테크 코리아 2014 후기 - 오광신
핀테크 코리아 2014 후기 - 오광신핀테크 코리아 2014 후기 - 오광신
핀테크 코리아 2014 후기 - 오광신
 
CS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsCS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design Patterns
 
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIsCS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
 
CS5261 Group 8 Presentation - US Mobile Industry
CS5261 Group 8 Presentation - US Mobile IndustryCS5261 Group 8 Presentation - US Mobile Industry
CS5261 Group 8 Presentation - US Mobile Industry
 
Jini Network Technology
Jini Network TechnologyJini Network Technology
Jini Network Technology
 
Object-Oriented Programming Concepts
Object-Oriented Programming ConceptsObject-Oriented Programming Concepts
Object-Oriented Programming Concepts
 

Recently uploaded

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Recently uploaded (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

CS6270 Virtual Machines - Retargetable Binary Translators

  • 1. RetargetableRetargetable BinaryBinary TranslatorsTranslators 10 Sep 200710 Sep 2007 National University of SingaporeNational University of Singapore School of ComputingSchool of Computing OH KWANG SHINOH KWANG SHIN
  • 2. Retargetable Binary Translators 10 Sep 2007 2 AgendaAgenda • Emulation Summary • Binary Translators - Example • Binary Translators - Weakness • Retargetable Binary Translator Framework – Strata – Walkabout
  • 3. Retargetable Binary Translators 10 Sep 2007 3 Emulation SummaryEmulation Summary Decode- dispatch Indirect Threaded Direct Threaded Binary Translation Memory Low Low High High Start-up Fast Fast Slow Slow Steady- state Slow Slow Medium Fast Code Portability Excellent Excellent Medium Poor
  • 4. Retargetable Binary Translators 10 Sep 2007 4 Binary TranslatorsBinary Translators Example IExample I • Transmeta’s Code Morphing – Intel IA-32 binary to run on VLIW Crusoe processor • UQDBT System – Intel IA-32 binary to run on SPARC- based processor • FX!32 – x86 binary to run on Alpha processor
  • 5. Retargetable Binary Translators 10 Sep 2007 5 Binary TranslatorsBinary Translators Example IIExample II • Shade – Implement high-performance instruction set simulators • Embra – Implement a high-performance operating system emulator • Dynamo and Mojo – Improve the performance of native binaries
  • 6. Retargetable Binary Translators 10 Sep 2007 6 Binary TranslatorBinary Translator WeaknessWeakness • Code Portability - Poor – Typically, written for a single application and/or platform – Specialized for the target ISA – Single-target, single-purpose approach – Reinvent the wheel! • Have to develop a new system (Binary Translator) from scratch!
  • 7. Retargetable Binary Translators 10 Sep 2007 7 Retargetable Binary TranslatorRetargetable Binary Translator FrameworkFramework • Strata – A cross-platform infrastructure for building software binary dynamic translators • Walkabout – A retargetable binary translation framework for experimenting with dynamic translation of binary code
  • 8. Retargetable Binary Translators 10 Sep 2007 8 Strata - BackgroundStrata - Background • Strata – Binary Translator implementation infrastructure – Provides common framework for software engineering principle, Code Reuse • Provides simple binary translator for a variety of architectures • Allows code reuse through composition
  • 9. Retargetable Binary Translators 10 Sep 2007 9 Strata - ArchitectureStrata - Architecture Target-independent Common services Reconfigurable
  • 10. Retargetable Binary Translators 10 Sep 2007 10 Strata-SPARCStrata-SPARC • First Strata software dynamic translator • For the SPARC V8/V9 instruction set architecture and the Solaris operating system • A variety of target-independent techniques – Reduce the number of context switches
  • 11. Retargetable Binary Translators 10 Sep 2007 11 Strata-SPARCStrata-SPARC PerformancePerformance • Strata-SPARC with native execution – From 1.02x to 1.8x, average 1.32x
  • 12. Retargetable Binary Translators 10 Sep 2007 12 Strata-MIPSStrata-MIPS • For MIPS IV instruction set architecture and the IRIX 6.5.10 operating system • In porting Strata to the MIPS – Found Strata’s structure to be flexible and relatively easy to retarget • Initial version – One person less than three weeks
  • 13. Retargetable Binary Translators 10 Sep 2007 13 Strata-MIPSStrata-MIPS PerformancePerformance • Strata-MIPS with native execution – From 1.09x to 3.0x, average 1.8x
  • 14. Retargetable Binary Translators 10 Sep 2007 14 Strata-X86Strata-X86 • For Intel 80x86 instruction set architecture • Difference between CISC and RISC – Still used Strata-SPARC as the basis for retargeting to the x86 • Focus on implementing the instruction fetch and decode function – To do some amount of decoding of an instruction to determine its length
  • 15. Retargetable Binary Translators 10 Sep 2007 15 Strata-X86Strata-X86 PerformancePerformance • Strata-X86 with native execution – From 1.0x to 1.8x, average 1.35x
  • 16. Retargetable Binary Translators 10 Sep 2007 16 Walkabout - BackgroundWalkabout - Background • Walkabout – Retargetable binary translation framework for experimenting with dynamic translation of binary code – How to instrument interpreters in a retargetable way – Inspiration • University of Queensland Binary Translator (UQBT) framework – Enabled static translations of binary codes
  • 17. Retargetable Binary Translators 10 Sep 2007 17 Walkabout - ArchitectureWalkabout - Architecture • Designed with retargetability in mind
  • 18. Retargetable Binary Translators 10 Sep 2007 18 Walkabout - RetargetabilityWalkabout - Retargetability • Supporting binaries for different input and output machines • Users could instantiate new translators out of the framework – Source and target machines of choice • Supported through the specifications – Machine descriptions – Hot path selection method specifications
  • 19. Retargetable Binary Translators 10 Sep 2007 19 Walkabout - InterpreterWalkabout - Interpreter • Automatically generated from – Specifications of syntax and semantics of machine instruction set • Interpreter Generator – SLED describes the instruction syntax – SSL describes the instruction semantics
  • 20. Retargetable Binary Translators 10 Sep 2007 20 Walkabout - PerformanceWalkabout - Performance Performance results for an automatically-generated C Language interpreter for the SPARC architecture (Static size in bytes, Interpreter running time in seconds, Path-Finder with dynamic optimization running time)
  • 21. Retargetable Binary Translators 10 Sep 2007 21 ReferencesReferences • K. Scott, N. Kumar, S. Velusamy, B. R. Childers, J. W. Davidson, and M. L. Soffa, Retargetable and Reconfigurable Software Dynamic Translation, International Symposium on Code Generation and Optimization, pp. 36–47 (March 2003). • CIFUENTES, C., LEWIS, B., AND UNG, D. Walkabout – A Retargetable Dynamic Binary Translation Framework. In Proceedings of the 2002 Workshop on Binary Translation (2002). • C. Cifuentes, M. Van Emmerik, N. Ramsey, and B. Lewis. Experience in the design, implementation and use of a retargetable static binary translation framework. Technical Report TR-2002- 105, Sun Microsystems Laboratories, Palo Alto, CA 94303, January 2002. • C. Cifuentes, B. Lewis. Walkabout – A framework for Experimental Dynamic Binary Translation. Sun Microsystems Inc, Palo Alto, CA 94303, January 2002.

Editor's Notes

  1. Good afternoon, everyone! Today I want to talk about Retargetable Binary Translators.
  2. Here is the agenda of this presentation. Let’s start from the emulation summary of the last lecture. After that, take a look at binary translators example and weakness. Lastly I will introduce two retargetable binary translator framework: Strata and Walkabout.
  3. Here is the summary of 4 emulation techniques which we studied at the last lecture. I will focus on the Binary Translation today. As you know, in the case of Binary Translation, Memory Requirement is high, Start-up performance is slow. However in the factor of steady-state performance is fast. Unfortunately binary translation has a poor code portability. Remember these features, let’s go to the next slide.
  4. I want to share some examples of binary translator. Because the steady-state performance is high, binary translators have been used widely. First one is the Transmeta’s code morphing. This technology allows unmodified intel IA-32 binary to run on the low-power, VLIW Crusoe processor. Similarly, the UQDBT (University of Queensland Dynamic Binary Translator) dynamically translate Intel IA-32 binaries to run on SPARC-based processor, and FX!32 dynamically translates x86 binaries to run on Alpha processor. These examples are used to overcome the barriers to entry associated with the introduction of a new CPU architecture.
  5. Moreover the Binary Translators have proven useful for a variety of other purposes. Shade uses binary translator to implement high-performance instruction set simulators. Embra uses binary translator to implement a high-performance operating system emulator. Dynamo and Mojo use binary translator to improve the performance of native binaries. In this case, both source ISA and target ISA are same.
  6. Although the binary translator has been used widely, it has a weakness in code portability. Because typically the binary translator has written for a single application or platform. Moreover it is specialized only for the target ISA through single-target, single-purpose approach. Reinventing the wheel is a phrase that means a generally accepted technique or solution is ignored in favor of a locally invented solution. To "reinvent the wheel" is to duplicate a basic method that has long since been accepted and even taken for granted.
  7. Because of this weakness, the retargetable binary translator framework has been developed. In this presentation, I will introduce two retargetable binary translator frameworks focusing on the retargetability function. First one is Strata and it is a cross-platform infrastructure for building software binary dynamic translators. The other is Walkabout and it is a retargetable binary translation framework for experimenting with dynamic translation of binary code.
  8. Let’s start from Strata framework. Strata is a binary translator implementation infrastructure which provides common framework for software engineering principle, Code Reuse. As you know, if you want to remove the duplicated codes, then you have to identify the commonality first. In this framework, the simple binary translator for a variety of architectures is a common part among several architectures. User can modify these translators to suit their specific needs without having to build an entire translator from scratch. User can use the work of others to enhance their binary translators. For example, by composing a Strata-based dynamic optimizer with a Strata-based simulator, and optimizing simulator can be realized.
  9. Implementing a new software dynamic translator often requires only a small amount of coding and a simple reconfiguration of the target interface. when retargeting the VM to a new platform, the programmer is only obligated to implement the target-specific functions required by the target interface; common services should never have to be reimplemented or modified.
  10. Then let’s take a look at about Strata framework based on the SPARC architecture. Actually it is a first Strata software dynamic translator for the SPARC V8/V9 ISA and the Solaris OS. They put variety of target-independent techniques to reduce the number of context switches into the common services of Strata architecture.
  11. Here is the performance result of Strata-SPARC.
  12. Second Strata project is porting Strata to the MIPS. In this project, they found Strata’s structure is flexible and relatively easy to retarget. As an evidence, this project’s initial version took less than three weeks for one developer.
  13. Here is the performance result of Strata-MIPS.
  14. Third Strata project is a Strata-X86. 80x86 CISC architecture is quite different with previous two RISC architectures. However they still used Strata-SPARC as the basis for retargeting to the x86. They put a lot of time to implement the instruction fetch and decode function to do some amount of decoding of an instruction to determine its length. RISC architecture has fixed length instruction, but CISC has variable length instruction.
  15. Here is the performance result of Strata-X86.
  16. Walkabout is a retargetable binary translation framework for experimenting with dynamic translation of binary code. It is including ‘How to instrument interpreters in a retargetable way’. They got an inspiration from UQBT framework which is enabled static translations of binary codes
  17. Here is the Architecture of Walkabout which is designed with retargetability in mind. 1. The source binary program is loaded into virtual memory and initially interpreted until a hot path is found. (A hot path is a frequently executed path in a program.) 2. Code is generated for that hot path and placed into a translated instruction cache (called the fragment cache or F$). 3. During code generation, simple optimizations are applied to obtain better code locality. 4. Once the generated code is executed, control transfers to the dispatcher, which decides whether to interpret more code or transfer control to code in the fragment cache. 5. If interpreted, the process repeats. 6. Reoptimization of translated code occurs when a piece of translated code in the fragment cache is executed too often.
  18. Now let’s focus on the retargetability feature of Walkabout framework. They want to achieve supporting binaries for different input and output machines. The framework was designed so that users could instantiate new translators out of the framework for their source and target machines of choice to run on a host machine. Retargetability is supported in the Walkabout framework through the use of specifications: machine descriptions and specifications of the hot path selection methods. (A hot path is a frequently executed path in a program.)
  19. Interpreters in the Walkabout framework are automatically generated from specifications of syntax and semantics of machine instruction sets. While SLED describes the instruction syntax, SSL describes the instruction semantics. The interpreter generator takes as input a SLED and an SSL description for a given machine and generates source code for an interpreter for target machine in either the C or Java language.
  20. Here is the performance results for an automatically-generated C Language interpreter for the SPARC architecture. Actually Walkabout framework is really general for supporting both input and output machines. So generated interpreter running time without dynamic optimization will be around 200 times slower than native program running time. However, the path-finder running time with dynamic optimization is decreased remarkably.