Architectures, Compiler Optimization, and Embedded Systems
Research in this area explores the design, development, and use of computer architectures to improve computational throughput and efficiency. Throughput and efficiency of code execution at the machine level is influenced by the machine architecture, the static and dynamic compilation of high-level languages, and use of parallelism and multi-processors. Researchers in this area use formal analysis, modeling techniques, and experimentation to evaluate code execution at all of these levels. Specific research in this field includes computer architectures supporting speculative thread execution, compiling techniques for parallel computers, dynamic binary translation and optimization techniques, and program execution monitoring for optimization, testing and debugging. Recent accomplishments include the ADORE dynamic optimization system running on Itanium and SPARC, the Agassiz parallelizing compiler, and enhancements to the Open Resource Compiler (ORC).