Automatic User Interaction Detection and Scheduling with RSIO

Haoqiang Zheng, Jason Nieh

Department of Computer Science, Columbia University Technical Report , CUCS-028-08, May 2008


Response time is one of the most important factors for the overall usability of a computer system. We present RSIO, a processor scheduling framework for improv- ing the response time of latency-sensitive applications by monitoring accesses to I/O channels and inferring when user interactions occur. RSIO provides a general mech- anism for all user interactions, including direct interac- tions via local HCI devices such as mouse and keyboard, indirect interactions through middleware, and remote in- teractions through networks. It automatically and dy- namically identifies processes involved in a user inter- action and boosts their priorities at the time the inter- action occurs to improve system response time. RSIO detects processes that directly handle a user interaction as well as those indirectly involved in processing the in- teraction, automatically accounting for dependencies and boosting their priorities accordingly. RSIO works with existing schedulers, processes that may mix interactive and batch activities, and requires no application modifi- cations to identify periods of latency-sensitive applica- tion activity. We have implemented RSIO in Linux and measured its effectiveness on microbenchmarks and real applications. Our results show that RSIO is easy to use and can provide substantial improvements in system per- formance for latency-sensitive applications.



Columbia University Department of Computer Science