home · mobile · calendar · bactac · 2000-2001 · 

BACTAC - Connors

Dynamic Optimization - The Future of Computer Architecture Research
Assistant Professor, Department of Computer Science

Dynamic optimization, the run-time modification of code generated at compile time for an application, is a technique being explored by a number of companies to improve the performance of applications on their systems. Projects like Transmeta's Crusoe processor with their custom Code Morphing software, Sun with their Java HotSpot optimizer, and HP with their Dynamo system all include a transparent layer of software within their system architecture. The software layer provides a mechanism to enable Feedback-directed Dynamic Optimization (FDO), a general technique describing the alteration of an application based on the observed program behavior.

Dynamic optimization grew from the popularity of concepts such as binary translation and virtual machines. However, simultaneous trends in design technology have allowed modern microprocessors to dedicate a large amount of silicon to capturing and exploiting program tendencies within dynamic optimization systems. Up until this point in its evolution, dynamic optimization has been associated with the rearrangement of the dynamic instruction stream or with cross-ISA binary translation; however, there are a number of other benefits that can be created by having a software layer interact with a processor's hardware. This talk will outline concepts related to the research area of dynamic optimization in computer architecture. In particular, I will illustrate some future projects that I intend to direct concentrated efforts. Generally, many compiler-directed architecture concepts and software-controlled technologies can be performed in the dynamic optimization system domain since the transparency of the dynamic software layer overcomes many of the problems associated with software-only techniques. Hopefully, this talk will generate interest in this area of computer architecture research and lead to some discussion about related trends.

Daniel A. Connors is an Assistant Professor of Computer Science and Electrical and Computer Engineering in the College of Engineering and Applied Sciences at the University of Colorado-Boulder. His research focuses on the development of innovative compilation techniques and computer architectures that improve the performance of computer and embedded systems. He has a BS degree in Electrical Engineering from Purdue University, a MS degree and PhD in Electrical Engineering from the University of Illinois Urbana-Champaign. As a graduate student in the IMPACT compiler group at University of Illinois, he developed compiler technology for EPIC and VLIW processors.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:24)