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.

Kazem Taram, assistant professor of computer science, discusses research with PhD student Berk Aydogmus. (Purdue University photo/Steve Scherer)

 

Purdue researchers have developed a fast and flexible notification without polling

Getting interrupted while at work can cause you to lose your ability to work quickly and effectively. A computer’s central processing unit (CPU) core is 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.

Researchers in Purdue University’s Department of Computer Science have developed a new method that does not use polling, which is a system that devotes an entire CPU to checking and routing the traffic. The issue with this method is that it is often inefficient and the CPU could be better used for other tasks. 

 

A smarter, faster notification system

The researchers presented their findings at the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).  The publication was awarded the 2025 Best Paper Award at the 2025 ASPLOS Conference. 

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

The research was led by Berk Aydogmus, a computer science PhD student, and the principal investigator is his advisor, Kazem Taram, assistant professor of computer science in the College of Science.

“In computer systems, CPU cores are usually responsible for handling all kinds of events,” Taram explained. “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.”

This discovery impacts cloud systems and large data centers, which would in turn impact the entire computational chain of users. It would drive efficiency at the top, which translates to smoother operations throughout the networks.

“CPUs in data center and cloud systems are required to handle all types of events quickly, as there are billions of events that they need to handle every second,” Taram said. “Examples of events that CPU handles are receiving a packet from network, scheduling a new task (preemption) on a processor core, a completion of a task by other modules in the system like Graphics Processing Units (PGUs). Being efficient on handling these events can improve performance and energy efficiency of data centers.”

 

Solving the polling problem

Taram explained that his work is more efficient than polling, which 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 said.  

“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),” Taram said. “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).

“All the modern high-performance processors right now flush the in-flight instructions when they receive an interrupt,” Taram said. “The novelty of this work is that it shows that we don’t actually need to flush those instructions, leading to efficiency of dealing with interrupts.”

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. 

 

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. U.S. News & World Report ranks the department No. 8 in computer engineering and No. 16 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

 

About Purdue University

Purdue University is a public research university leading with excellence at scale. Ranked among top 10 public universities in the United States, Purdue discovers, disseminates and deploys knowledge with a quality and at a scale second to none. More than 107,000 students study at Purdue across multiple campuses, locations and modalities, including more than 58,000 at our main campus in West Lafayette and Indianapolis. Committed to affordability and accessibility, Purdue’s main campus has frozen tuition 14 years in a row. See how Purdue never stops in the persistent pursuit of the next giant leap — including its comprehensive urban expansion, the Mitch Daniels School of Business, Purdue Computes and the One Health initiative — at https://www.purdue.edu/president/strategic-initiatives.


Written by: Cheryl Pierce, pierce81@purdue.edu 

Contributions by: Kazem Taram, kazem@purdue.edu

Media contact: Brian Huchel, bhuchel@purdue.edu

 

Last Updated: Apr 22, 2025 3:38 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.