Rice-led Project Aims To Boost Performance On Every Chip
The Defense Advanced Research Projects Agency, as part of its Architecture Aware Compiler Environment Program, has awarded Rice University $16 million to develop a new set of tools that can improve the performance of virtually any application running on any microprocessor.
The PACE project – short for “platform-aware compilation environment” – centers on ubiquitous computer programs called compilers. All microprocessors – not just those in PCs but also the ones powering cell phones, game systems, cars and even electronic toys – have their own compilers to translate human-written computer applications into the binary 1s and 0s that a processor can execute.
“To use a new computer system effectively, an applications programmer needs a high-quality compiler, one that can translate the application in a way that achieves a reasonable fraction of the available performance,” said Keith Cooper, Rice’s John and Ann Doerr Professor in Computational Engineering and a principal investigator on the PACE project. “Unfortunately, it typically takes about five years to develop a high-quality compiler for a new computer system, and because that’s longer than the effective life cycle of most microprocessors, we rarely see a case where applications make good use of a processor’s resources.”
The plethora of microprocessors only adds to the problem. Most electronic gadgets — everything from iPhones to digital hearing aids and GPS systems to antilock brakes — have a specialized “embedded” microprocessor. New personal computers and laptops typically contain two or more general-purpose processors on a “multicore” chip from Intel or AMD, as well as a high-performance graphics processor, a sound card processor and other specialized processors. Sony’s PlayStation 3 game system has an IBM Cell Broadband Engine that contains one general-purpose microprocessor and eight specialized processors.
Cooper said the military’s interest in funding PACE stems from its heavy reliance on computing, ranging from supercomputers for global weather forecasts to portable devices used by infantry.
“When a compiler translates human-written code into executable code, it makes myriad choices that have a direct impact on how fast the application runs, how much power it uses and how much memory it uses,” Cooper said.
The tools PACE project researchers hope to build will cut the time needed to create high-quality compilers. In addition, the PACE team will learn as it goes, measuring and weighing the goals, capabilities and performance of each processor, to create compilers that are optimized for particular situations.
Krishna Palem, Rice’s Ken and Audrey Kennedy Professor of Computer Science, said, “It is a rare treat to be working with this ‘dream team’ and continue Rice’s rich tradition in compiler research. PACE involves many innovations using radical ideas intended to allow compilers to learn and adapt, much as humans do during infancy.”
The PACE “dream team” includes researchers from Rice, Texas Instruments, ET International, Ohio State University and Stanford University. Rice’s team consists of five pre-eminent compiler researchers: Keith Cooper, John Mellor-Crummey, Krishna Palem, Vivek Sarkar and Linda Torczon. Each will lead part of the research and development activity. Researchers outside Rice include Reid Tatge of Texas Instruments; Rishi Khan, director of research and development at ET International; P. Sadayappan, professor of computer science and engineering at Ohio State; and Sanjiva Lele, professor of aeronautics and astronautics and of mechanical engineering at Stanford.
Vivek Sarkar, Rice’s E.D. Butcher Chair in Engineering and professor of computer science, likened PACE’s challenge to the famous test computer scientist Alan Turing posed in 1950: A computer could only be said to be truly intelligent if its actions were indistinguishable from a human’s.
“This is akin to a Turing Test for compilers,” Sarkar said. “Our goal is to enable PACE tools to be used as a substitute for the time-consuming human expertise that is currently needed to improve the quality of compilers for any given platform.
“The challenge is daunting,” he said. “It’s not just hard, it is DARPA-hard.”
Because the PACE project will focus on portable performance, Cooper said, the researchers will rely on vendor-supplied compilers — for languages such as C and Fortran — to perform the final steps of code generation for the target systems. The output of the PACE tools will be a distinct version of an application’s code for each kind of processor in the system. Each of those codes will be specifically optimized for the processor, the surrounding system and the vendor compiler.
Sarkar said, “In this way, the PACE system will manage the application performance that can be achieved using less-ambitious compilers for the component processors.”