Cracking codes: FSU computer scientists look to develop method to improve app speed, efficiency

David Whalley is a professor of computer science at Florida State University.
David Whalley is a professor of computer science at Florida State University.

Computers process innumerable instructions per day.

Gang-Ryung Uh is a faculty member in computer science at the FSU Panama City campus.

A Florida State University and Michigan Technological University research team wants to make apps, from those found on a cell phone to ones used by super computers at big data centers, run more efficiently.

FSU Professor of Computer Science David Whalley and FSU-Panama City faculty member Gang-Ryung Uh along with MTU Professor of Computer Science Soner Onder have received a $1.2 million grant from the National Science Foundation to improve the speed of general computer applications.  They will use a technique that they refer to as vectorized instruction space, or VIS.

“There are innumerable benefits to having faster, better technology,” Whalley said. “We’re pleased that the National Science Foundation saw value in our approach and are excited to receive their support to investigate this new idea.”

Whalley and Onder have collaborated for almost a decade on NSF-funded research focused on making applications perform faster. The focus of their research is on instruction-level parallelism (ILP) or the ability of a computer to simultaneously execute multiple machine instructions.

“Unfortunately, the amount of ILP that can be automatically harvested from many applications using existing techniques is quite low,” Whalley said.

The reason for that, Whalley said, is a problem called conditional branches.  These are machine instructions that decide based on a condition whether the next instruction will be the one located directly after the branch or at a different location called the branch target.

Some computer designs use a process called predication that eliminates these branches by allowing multiple paths of instructions to simultaneously execute, but only commit their results when a condition or predicate is true. But it’s an imperfect process that can cause applications to slow down.

The researchers believe that this new project has more potential to significantly improve the efficiency and performance of computer applications.

The team’s VIS approach allows the appropriate results to be committed from vectors, or sets, of values based on vectors of conditions.

VIS can provide the benefits of predication while avoiding its weaknesses.

“There has been very little improvement in exploiting ILP in recent decades,” Whalley said. “We are very interested in testing our ideas further because we believe it has the potential to significantly increase ILP and the corresponding performance of computer applications.”