Binary translation and optimization have achieved a high profile in recent
years with projects such as the IBM DAISY open-source project, Transmeta Cr
usoe, HP Dynamo, Java JIT compilers such as LaTTe, and many others. Binary,
translation has several potential attractions: Architecture can become a l
ayer of software, which allows the implementation of complex legacy archite
cture(s) through simple hardware and the introduction of novel new architec
ture and microarchitecture concepts without forcing any soft-ware changes.
Secondly, binary translation enables significant software optimizations of
the kind that would push the complexity boundaries if done with hardware al
one. 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 pop
ularized by Prof. Clayton Christensen? This paper discusses this interestin
g question, examines some exciting future possibilities for binary translat
ion, and then gives an overview of selected projects (DAISY Crusoe, Dynamo,
and LaTTe). One future possibility for binary translation is the Virtual I
T Shop. Companies such as Loudcloud currently provide computational resourc
es as sen,ices over the Web, These seri,ices are typically implemented thro
ugh large and secure server farms. If a variety of customers are to be supp
orted, a variety of architectures (x86, PowerPC, Sparc, etc.) must be prese
nt in the fat-in. of necessity, the number of machines from each architectu
re is statically determined at present, thus limiting utilization and incre
asing cost. Binary translation offers a possible solution for better utiliz
ation: architecture as a layer of software, and hence dynamic configuration
of the number of machines from each architecture in such farms. Vie Intern
et is radically changing the soft-ti,are landscape, and is fostering platfo
rm independence and interoperability, with paradigms such as XML, SOAP, and
Java. Along the lines of software convergence, recent advances in binary J
IT optimizations also present the future possibility of a convergence virtu
al machine (CVM). CVM is similar to the Jam Virtual Machine (JVM) in that b
oth seek to facilitate a write-once, run-anywhere model of software develop
ment. However, the JVM suffers front the drawback that existing C/C++ appli
cations and existing operating Systems do not run on it. CVM aims to addres
s the remaining research challenges in allowing the same standard OS and ap
plication object code to run on different hardware platforms, through state
-of-the-art JIT compilation and virtual dei,ice emulation.