Need for speed
UD engineer Xiaoming Li tackles new hurdles in computer optimization
1:41 p.m., Aug. 29, 2011--The University of Delaware’s Xiaoming Li is principal investigator of a three year, $259,000 grant from the National Science Foundation (NSF) to improve optimization techniques that will make computer programs and smart phones – even video games – run faster, using fewer resources
The project is the result of an evolution in the computer world from single-core to many-core processors, which are now considered the main computation engine for both everyday computer applications and high-performance computing.
Research Stories
Chronic wounds
Prof. Heck's legacy
“The main performance issue in the new many-core era is helping a multitude of threads to optimally share, not compete for, resources,” Li, an assistant professor of computer engineering, said.
“This subtle but fundamental change in the goal of compilation leads to the overhaul of performance modeling, program profiling and the selection of compiler transformations and their parameter values in traditional compilers. That overhaul is the essence of our project.”
Compilers are software tools that translate programs written in high-level programming languages, such as C or Java, into a format that can run directly on computer hardware. The efficiency of the translation determines how fast a program runs.
Traditional compilation technology is largely designed to maximize the single-thread performance found on single-core processors. When applied to programs on the new generation of many-simple-core processors, which routinely run hundreds or even more threads simultaneously, these same strategies fail, slowing down performance.
This is because while many-core processors employ a simple architectural design, they rely heavily on the sheer number of cores to deliver high performance. By contrast, with single-core based computer processors, resource sharing among threads is limited because each thread has its own core and own power resource.
Li’s research will balance the choice of compilation configurations between the performance of a single thread and the overall performance of all threads in the program.
The project’s goals are threefold:
- Determine how the new many-core computer processors change the way programs run on computers.
- Examine whether traditional compiler optimization techniques are still relevant.
- Develop new techniques to accelerate program performance.
Li’s team will systematically study the strategies needed to adapt existing compiler and code optimization techniques to the new many-simple-core processors, and develop new techniques to specifically improve resource allocation on the new architecture.
“The key,” he said, “is maximizing resource utilization, i.e., computation power, without creating a resource bottleneck.”
About the professor
Xiaoming Li, assistant professor in the Department of Electrical and Computer Engineering, joined the UD faculty in 2006 after earning his doctoral degree in computer science at the University of Illinois at Urbana-Champaign.
In 2008, he was a recipient of the National Science Foundation’s (NSF) prestigious Faculty Early Career Development Award. The five year grant supports his research and education program for a similar optimization code project for high-performance computing platforms.
Li completed his bachelor’s and master’s degrees in computer science at Nanjing University, China.
Article by Karen B. Roberts
Photo by Kathy F. Atkinson