Parallel and Distributed Processing Symposium, International (2004)
Santa Fe, New Mexico
Apr. 26, 2004 to Apr. 30, 2004
J. Eliot B. Moss , University of Massachusetts at Amherst
Trek Palmer , University of Massachusetts at Amherst
Timothy Richards , University of Massachusetts at Amherst
Edward K. Walters II , University of Massachusetts at Amherst
Charles C. Weems , University of Massachusetts at Amherst
It is currently difficult fully to understand the performance of a modern dynamic programming language system, such as Java. One must observe execution in the context of specific architectures in order to evaluate the effects of optimizations. To do this we require simulators and compiler back-ends for a wide variety of machines that are capable of handling the demands of today?s dynamically compiled languages and their environments. We introduce here CMDL, a machine description language specifically designed for the automatic generation of simulators and compiler backends. CMDL is a class-based language with a C/Java style syntax aimed at extensibility. CMDL is processed by tools to generate descriptions of architectures represented in an intermediate form; the descriptions are then further combined and processed to produce efficient compiler and simulator components designed to "plug in" to existing frameworks. CMDL provides the necessary flexibility to advance the simulation paradigm to match the state of the art in computer systems.
T. Richards, T. Palmer, J. E. Moss, E. K. Walters II and C. C. Weems, "CMDL: A Class-Based Machine Description Language for Co-generation of Compilers and Simulators," Parallel and Distributed Processing Symposium, International(IPDPS), Santa Fe, New Mexico, 2004, pp. 202b.