When working on a computer, we want certain componets to respond quickly, or responsively, such as opening a program or playing a game. A multi-institutional team of computer scientists will look at how computers can process multiple responsive applications simultaneously and efficiently while balancing priorities.
Kunal Agrawal, associate professor, and I-Ting Angelina Lee, assistant professor, both in the Department of Computer Science in the McKelvey School of Engineering at Washington University in St. Louis, join a team of researchers on a four-year, $1.1 million grant from the National Science Foundation to study responsive parallelism in interactive applications. Their collaborators are Umut Acar, associate professor of computer science at Carnegie Mellon University, and Stefan Muller, the Gladwin Development Chair and assistant professor of computer science at the Illinois Institute of Technology. Washington University’s portion of the grant is $494,997.
Computers run different tasks at the same time, many of them in the background, such as organizing data or doing internal housekeeping. All of these tasks require various levels of responsiveness and computation, though some are not as big of a priority as others.
“Computers must properly allocate resources according to priority for responsiveness without wasting resources,” said Agrawal, who has been working on this project for a few years. “We want to design schedulers that we can mathematically guarantee and design systems that obey these guarantees.”
Agrawal, Lee and their collaborators will design type systems that check for priority inversions, when a high-priority task is superseded by a low-priority task. These type systems tell the programmer that the priority designation is incorrect.
“Even though you want to prioritize the high-priority things, there is still an amount of resources you have to give the low-priority things,” Agrawal said. “The idea is to support the entire ecosystem and understand all of the guarantees and properties you need for these types of applications to systematically support them.”The project could potentially impact the design of various application areas, including web services, games, mobile applications and desktop clients for CAD/CAM.