Your browser is unsupported

We recommend using the latest version of IE11, Edge, Chrome, Firefox or Safari.

$500K NSF grant to help UIC project for faster computing

Person typing on laptop

A $500,000, three-year grant from the National Science Foundation will allow researchers in the University of Illinois Chicago College of Engineering to refine a new method of data processing that promises up to 10 times faster speeds for software running on currently available hardware.

The speed with which individual computer processors have grown faster and more efficient has slowed down in recent years due to physical limitations. To get around this apparent speed limit, hardware designers have resorted to designing computer chips that contain multiple independent processors, also known as cores. The resulting machine is known as a multi-core computer.

This work-around is limited by the need to coordinate activities between processors, currently done using what’s called a lock.

When a program uses multiple cores concurrently, there are times when a critical piece of information or data needs to be modified before the next step in computing can take place. To prevent multiple chips from accessing that shared resource simultaneously – which could lead to errors – the data is temporarily “locked,” meaning that only one core can handle and modify it at a time. But locking can be slow. The chip must first “acquire” the lock, or send signals to all the other chips that the data it needs to modify is off-limits; then it does what it needs to do with that data, before finally releasing the lock, making it available to other processors in the computer.

“This method of locking shared data is known as synchronized access, which can be highly inefficient,” said Jakob Eriksson, associate professor of computer science in the UIC College of Engineering and principal investigator on the grant.

Eriksson and his students will refine an alternative approach to handling shared data resources on multi-core computers.

“Instead of synchronization or locking, we are looking at another way of computing called delegation,” Eriksson said.

In delegation, a single core acts as a server whose sole job it is to deal with data that needs to be shared among processors. While delegation often comes with a higher initial cost in terms of time needed, ultimately, performance can be much faster than with locking on modern computers.

“Consider the analogy of a family doing dishes,” Eriksson said. “The locking approach is inefficient: each family member opens the tap, squirts some soap, washes one dish, closes the tap, dries their hands and then waits for their turn to use the sink again. With the delegation approach, the family members hand their dishes to a single designated washer who uses a pre-filled sink of soapy water and quickly does the dishes for everybody. For a single shared resource – in this analogy that’s the sink – with many users contending for it, delegation is always more efficient.”

In previous research, Eriksson’s group showed that an efficient delegation system can dramatically outperform locking-based methods on processes that need shared access to individual items of data. They found that delegation is 10 times faster than using a lock-based processing system.

Under the new grant, Eriksson will continue to refine delegation-based processing by identifying and eliminating roadblocks to additional gains in processing speed, and by adapting delegation to work in a wider range of settings.