Priority Scheduling for Interactive Applications

SPAA '20: 32nd ACM Symposium on Parallelism in Algorithms and Architectures Virtual Event USA July, 2020(2020)

引用 6|浏览130
暂无评分
摘要
Many modern parallel applications, such as desktop software and cloud-based web services, are service-oriented, long running, and perform frequent interactions with the external world (e.g., responding to user input). We want such interactive applications to provide fast response times because typically at the other end of the external interaction there is a user waiting for a response. Existing parallel platforms designed for multicore hardware do not work well for such interactive applications, because they are designed to maximize throughput (rather than responsiveness). Interactive applications may have a mixture of interactive and compute-intensive tasks occurring concurrently, and the scheduler must be able to discern and prioritize tasks so that tasks which require faster response are prioritized over background tasks. We present Interactive Cilk, or I-Cilk for short, a task parallel platform designed to schedule such parallel interactive applications. I-Cilk supports a C++-based templated library that allows the programmer to specify priorities for task-parallel code, and the underlying runtime schedules the computation so as to optimize for the response time of high-priority tasks. We show that the scheduling algorithm used by I-Cilk provides provably efficient response times for tasks at all levels of priorities, with better response time to high-priority tasks. We also empirically demonstrate that the scheduling algorithm can be implemented efficiently in practice with low scheduling overhead and provides fast response times for high-priority tasks.
更多
查看译文
关键词
scheduling, responsive parallelism, adaptive scheduling, work, span, greedy scheduling, performance bounds, interactive applications, priority inversion
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要