A more efficient way to notify the CPU - Department of Computer Science - Purdue University Skip to main content

A more efficient way to notify the CPU

04-14-2025

Assistant Professor Kazem Taram discusses research with PhD student, Berk Aydogmus.

Assistant Professor Kazem Taram discusses research with PhD student, Berk Aydogmus. (Purdue University/Steve Scherer photo)

 

Researchers from Purdue have developed a fast and flexible notification without polling

Getting interrupted while at work can cause a person to lose their ability to work quickly and effectively.  Computer central processing unit, or CPU, cores are no different.  If the CPU core has to stop what it is working on each time a new task is assigned, the whole system can get bogged down and slow significantly.

Another option for delegating this traffic is to use polling.  Polling is a system that devotes an entire CPU to checking and routing the traffic.  The issue with this is that it is often inefficient and that CPU could be better used for other tasks. 

 

A smarter, faster notification system

Researchers at Purdue University’s Department of Computer Science have developed a new system that does not use polling, and published their results in International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).  The publication was awarded the 2025 Best Paper Award at the recent ASPLOS Conference. 

Wasted CPU cores are extremely important for datacenters and cloud computing and this discovery is expected to be adopted by CPU manufacturers to make datacenters more efficient. 

The research was led by Berk Aydogmus, PhD student, and the principal investigator is his advisor, Kazem Taram, assistant professor of computer science in the College of Science. Other members of the research team are from the University of California San Diego. They are: PhD student Linsong Guo, PhD student Danial Zuberi, Research Scientist Tal Garfinkel, Professor Dean Tullsen and Assistant Professor Amy Ousterhout.

“In computer systems CPU cores are usually responsible for handling all kinds of events,” explains Taram. “For example, when we receive data from a network interface, the CPU will get interrupted and now has to switch from what it is doing to handle the received data. This has overhead on the CPU as the CPU has to switch between tasks.  

Just like when someone interrupts you when you are talking about important things and that causes overhead on your brain as it becomes harder/slower to come back to the important thought. On the other hand, we also want to process the incoming network data as fast as possible, but this interrupt method is slow as switching to handling network is slow.” 

 

Solving the polling problem

He explains that one solution called ‘polling’ has an entire CPU core constantly check for events, like incoming tasks flows.

“You can think of it as when you constantly refresh your email when you expect an important email. This is obviously wasteful because you can’t do anything else while you are constantly refreshing,” he says.  

“Similarly, polling wastes CPU cores that can be employed to do something useful or simply put to sleep for improving energy. This work presents an alternative to this wasteful method, called extended interrupt (xUI). xUI reduces the interrupt overhead on the CPU and we make the interrupts fast enough that we don’t need to rely on polling and waste CPU cores. They can keep doing the important jobs and we notify them by these fast interrupts and they switch to handle events with minimal overhead.

Taram works in the field of computer architecture and security. His research focuses on high performance CPU architectures, microarchitectural attacks, high-performance mitigations, and architecture support for security and privacy. He is also a member of The Center for Education and Research in Information Assurance and Security (CERIAS).

 

About the Department of Computer Science at Purdue University  

Founded in 1962, the Department of Computer Science was created to be an innovative base of knowledge in the emerging field of computing as the first degree-awarding program in the United States. The department continues to advance the computer science industry through research. US News & World Report ranks the department No. 8 in computer engineering and No. 18 and 19 overall in undergraduate and graduate computer science. Additionally, the program is ranked No. 6 in cybersecurity, No. 8 in software engineering, No. 13 in systems, No. 15 in programming languages and data analytics, and No. 18 in theory. Graduates of the program are able to solve complex and challenging problems in many fields. Our consistent success in an ever-changing landscape is reflected in the record undergraduate enrollment, increased faculty hiring, innovative research projects, and the creation of new academic programs. The increasing centrality of computer science in society, academic disciplines and new research activities—centered around foundations and applications of artificial intelligence and machine learning, such as natural language processing, human computer interaction, vision, and robotics, as well as systems and security—are the future focus of the department. Learn more at cs.purdue.edu


Written by: Cheryl Pierce, pierce81@purdue.edu

Contributions by: Kazem Taram, kazem@purdue.edu

 

Last Updated: Apr 14, 2025 5:12 PM

Department of Computer Science, 305 N. University Street, West Lafayette, IN 47907

Purdue University Indianapolis, 723 W. Michigan St., Indianapolis, IN 46202

Phone: (765) 494-6010 • Fax: (765) 494-0739

Copyright © 2024 Purdue University | An equal access/equal opportunity university | Copyright Complaints | DOE Degree Scorecards

Trouble with this page? Accessibility issues? Please contact the College of Science.