TY - GEN
T1 - An Efficient Scheduler for Task-Parallel Interactive Applications
AU - Singer, Kyle
AU - Agrawal, Kunal
AU - Lee, I. Ting Angelina
N1 - Publisher Copyright:
© 2023 Owner/Author.
PY - 2023/6/17
Y1 - 2023/6/17
N2 - Modern software is often interactive - applications communicate frequently with the external world. For such applications, responsiveness - how quickly they respond to requests - is as important as throughput. Efficiently implementing these applications using traditional processes or static threads is difficult and error-prone. Task parallelism has the potential to significantly simplify the implementation of these applications - it allows the programmer to express the high-level logical flow of the program and letting the scheduler handle the low level details of scheduling, synchronization, and asynchronous I/O operations. Researchers have begun to study how to best support such interactive applications where different components have different responsiveness on priority-oriented task-parallel platforms. We propose prompt I-Cilk, a practically efficient scheduler for priority-oriented task-parallel interactive applications. Our scheduler exhibits superior performance when compared to the state-of-the-art scheduler design, including on the Memcached object server, a large scale real-world interactive applications that we ported to run on a task-parallel platform. Our scheduler design defies the conventional folk wisdom on how to schedule task-parallel code - we moved away from randomized work stealing, and we implemented "prompt'' scheduling with frequent checking of core-to-priority-level assignments. We show that such design choices make sense based on the workload characteristics of the parallel interactive applications we tested.
AB - Modern software is often interactive - applications communicate frequently with the external world. For such applications, responsiveness - how quickly they respond to requests - is as important as throughput. Efficiently implementing these applications using traditional processes or static threads is difficult and error-prone. Task parallelism has the potential to significantly simplify the implementation of these applications - it allows the programmer to express the high-level logical flow of the program and letting the scheduler handle the low level details of scheduling, synchronization, and asynchronous I/O operations. Researchers have begun to study how to best support such interactive applications where different components have different responsiveness on priority-oriented task-parallel platforms. We propose prompt I-Cilk, a practically efficient scheduler for priority-oriented task-parallel interactive applications. Our scheduler exhibits superior performance when compared to the state-of-the-art scheduler design, including on the Memcached object server, a large scale real-world interactive applications that we ported to run on a task-parallel platform. Our scheduler design defies the conventional folk wisdom on how to schedule task-parallel code - we moved away from randomized work stealing, and we implemented "prompt'' scheduling with frequent checking of core-to-priority-level assignments. We show that such design choices make sense based on the workload characteristics of the parallel interactive applications we tested.
KW - interactive applications
KW - priority scheduling
KW - task parallelism
KW - work stealing
UR - https://www.scopus.com/pages/publications/85164283310
U2 - 10.1145/3558481.3591092
DO - 10.1145/3558481.3591092
M3 - Conference contribution
AN - SCOPUS:85164283310
T3 - Annual ACM Symposium on Parallelism in Algorithms and Architectures
SP - 27
EP - 38
BT - SPAA 2023 - Proceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures
PB - Association for Computing Machinery
T2 - 35th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2023
Y2 - 17 June 2023 through 19 June 2023
ER -