Advances and future challenges in binary translation and optimization

E.R. Altman, K. Ebcioglu, M. Gschwind, S. Sathaye
2001 Proceedings of the IEEE  
Binary translation and optimization have achieved a high profile in recent years with projects such as the IBM DAISY open-source project, Transmeta Crusoe, HP Dynamo, Java JIT compilers such as LaTTe, and many others. Binary translation has several potential attractions: Architecture can become a layer of software, which allows the implementation of complex legacy architecture(s) through simple hardware and the introduction of novel new architecture and microarchitecture concepts without
more » ... any software changes. Secondly, binary translation enables significant software optimizations of the kind that would push the complexity boundaries if done with hardware alone. While still in its early stages, could binary translation offer a new way to design processors, i.e., is it a disruptive technology, the term popularized by Prof. Clayton Christensen? This paper discusses this interesting question, examines some exciting future possibilities for binary translation, and then gives an overview of selected projects (DAISY, Crusoe, Dynamo, and LaTTe). One future possibility for binary translation is the Virtual IT Shop. Companies such as Loudcloud currently provide computational resources as services over the Web. These services are typically implemented through large and secure server farms. If a variety of customers are to be supported, a variety of architectures (x86, PowerPC, Sparc, etc.) must be present in the farm. Of necessity, the number of machines from each architecture is statically determined at present, thus limiting utilization and increasing cost. Binary translation offers a possible solution for better utilization: architecture as a layer of software, and hence dynamic configuration of the number of machines from each architecture in such farms. The Internet is radically changing the software landscape, and is fostering platform independence and interoperability, with paradigms such as XML, SOAP, and Java. Along the lines of software convergence, recent advances in binary JIT optimizations also present the future possibility of a convergence virtual machine (CVM). CVM is similar to the Java Virtual Machine (JVM) in that both seek to facilitate a write-once, run-anywhere model of software development. However, the JVM suffers from the drawback that existing C/C++ applications and existing operating systems do not run on it. CVM aims to address the remaining research ). Publisher Item Identifier S 0018-9219(01)09690-6. challenges in allowing the same standard OS and application object code to run on different hardware platforms, through state-of-the-art JIT compilation and virtual device emulation.
doi:10.1109/5.964447 fatcat:y7ghv7jhufbynpy3yhhfjghdti