Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3350755.3400236acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
research-article
Public Access

Priority Scheduling for Interactive Applications

Published: 09 July 2020 Publication History

Abstract

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.

References

[1]
Kunal Agrawal, Joseph Devietti, Jeremy T. Fineman, I-Ting Angelina Lee, Robert Utterback, and Changming Xu. 2018. Race Detection and Reachability in Nearly Series-Parallel DAGs. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (SODA). New Orleans, Louisiana.
[2]
K. Agrawal and S. Gilbert. 2018. The Power to Schedule a Parallel Program. In 2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS). 182--193.
[3]
Kunal Agrawal, Yuxiong He, Wen Jing Hsu, and Charles E. Leiserson. 2006. Adaptive Task Scheduling with Parallelism Feedback. In Proceedings of the Annual ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming(PPoPP).
[4]
Kunal Agrawal, Yuxiong He, and Charles E. Leiserson. 2006. An Empirical Evaluation of Work Stealing with Parallelism Feedback. In Proceedings of the International Conference on Distributed Computing Systems (ICDCS). Lisboa, Portugal.
[5]
Kunal Agrawal, Yuxiong He, and Charles E. Leiserson. 2007. Adaptive work stealing with parallelism feedback. In Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '07). ACM,San Jose, California, USA, 112--120.
[6]
Kunal Agrawal, Jing Li, Kefu Lu, and Benjamin Moseley. 2016. Scheduling Parallel DAG Jobs Online to Minimize Average Flow Time. In Proceedings of the Twenty-seventh Annual ACM-SIAM Symposium on Discrete Algorithms (SODA '16). Society for Industrial and Applied Mathematics, Arlington, Virginia, 176--189.
[7]
Nimar S. Arora, Robert D. Blumofe, and C. Greg Plaxton. 1998. Thread Scheduling for Multiprogrammed Multiprocessors. In10th Annual ACM Symposium on Parallel Algorithms and Architectures. 119--129.
[8]
Nimar S. Arora, Robert D. Blumofe, and C. Greg Plaxton. 2001. Thread Scheduling for Multiprogrammed Multiprocessors. Theory of Computing Systems(2001), 115--144.
[9]
Robert D. Blumofe and Charles E. Leiserson. 1994. Scheduling Multithreaded Computations by Work Stealing. In Proceedings of the IEEE Symposium on Foundations of Computer Science. 356--368.
[10]
Robert D. Blumofe and Charles E. Leiserson. 1999. Scheduling Multithreaded Computations by Work Stealing. JACM 46, 5 (1999), 720--748.
[11]
Richard P. Brent. 1974. The Parallel Evaluation of General Arithmetic Expressions. J. ACM 21, 2 (April 1974), 201--206.
[12]
Robert I. Davis and Alan Burns. 2011. A Survey of Hard Real-time Scheduling for Multiprocessor Systems. ACM Comput. Surv. 43, 4, Article 35 (Oct. 2011), 44 pages. https://doi.org/10.1145/1978802.1978814
[13]
R. L. Graham. 1969. Bounds on Multiprocessing Timing Anomalies. SIAM J. Appl. Math. 17, 2 (March 1969), 416--429.
[14]
Cilk Hub. 2018. opencilk.org. (2018). Accessed in July 2019.
[15]
Shams Imam and Vivek Sarkar. 2015. Load Balancing Prioritized Tasks via Work-Stealing. In Proceedings of the 21st International European Conference on Parallel and Distributed Computing (Euro-Par '15). Vienna, Austria, 222--234.
[16]
Institute of Electrical and Electronic Engineers. 1996. Information Technology- Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API) [C Language]. IEEE Standard 1003.1, 1996 Edition.(1996).
[17]
Stefan K. Muller, Umut A. Acar, and Robert Harper. 2017. Responsive Parallel Computation: Bridging Competitive and Cooperative Threading. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2017). ACM, Barcelona, Spain, 677--692.
[18]
Stefan K. Muller, Umut A. Acar, and Robert Harper. 2018. Competitive Parallelism: Getting Your Priorities Right. In Proceedings of the 23rd ACM SIGPLAN International Conference on Functional Programming (ICFP '18). ACM, St. Louis,MO, USA, 95:1--95:30.
[19]
Stefan K. Muller, Kyle Singer, Noah Goldstein, Umut A. Acar, Kunal Agrawal,and I-Ting Angelina Lee. 2020. Responsive Parallelism with Futures and State. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020). ACM, to appear.
[20]
Stefan K. Muller, Sam Westrick, and Umut A. Acar. 2019. Fairness in Responsive Parallelism. In Proceedings of the 24th ACM SIGPLAN International Conference on Functional Programming(to Appear)(ICFP '19). ACM, Berlin, Germany.
[21]
Tao B. Schardl, William S. Moses, and Charles E. Leiserson. 2017. Tapir: Embed-ding Fork-Join Parallelism into LLVM's Intermediate Representation. In Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '17). ACM, Austin, Texas, USA, 249--265.
[22]
Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne. 2013. Operating System Concepts (9th Edition). Wiley.
[23]
Kyle Singer, Kunal Agrawal, and I-Ting Angelina Lee. 2020. Scheduling I/O Latency-Hiding Futures in Task-Parallel Platforms. In Proceedings of the Symposium on Algorithmic Principles of Computer Systems. Society for Industrial and Applied Mathematics, 147--161.
[24]
Kyle Singer, Yifan Xu, and I-Ting Angelina Lee. 2019. Proactive Work Stealing for Futures. In Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming. ACM, Washington, District of Columbia, 257--271.
[25]
Daniel Spoonhower, Guy E. Blelloch, Robert Harper, and Phillip B. Gibbons. 2008. Space Profiling for Parallel Functional Programs. In Proceedings of the 13th ACM SIGPLAN International Conference on Functional Programming (ICFP '08). ACM, Victoria, BC, Canada, 253--264.
[26]
Daniel John Spoonhower. 2009.Scheduling Deterministic Parallel Programs. Ph.D. Dissertation. School of Computer Science, Carnegie Mellon University.
[27]
Robert Utterback, Kunal Agrawal, Jeremy Fineman, and I-Ting Angelina Lee. 2019. Efficient Race Detection with Futures. In Proceedings of the 24th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'19). ACM, Washington, District of Columbia, 340--354.
[28]
Jacobo Valdes. 1978. Parsing Flowcharts and Series-Parallel Graphs. Ph.D. Dissertation. Stanford University. STAN-CS-78--682.
[29]
Martin Wimmer, Daniel Cederman, Jesper Larsson Träff, and Philippas Tsigas. 2013. Configurable Strategies for Work-stealing. CoRRabs/1305.6474 (2013). arXiv:1305.6474 http://arxiv.org/abs/1305.6474
[30]
Martin Wimmer, Daniel Cederman, Jesper Larsson Träff, and Philippas Tsigas.2013. Work-stealing with Configurable Scheduling Strategies. In Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming(PPoPP '13). ACM, Shenzhen, China, 315--316.

Cited By

View all
  • (2023)Responsive Parallelism with SynchronizationProceedings of the ACM on Programming Languages10.1145/35912497:PLDI(712-735)Online publication date: 6-Jun-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '20: Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures
July 2020
601 pages
ISBN:9781450369350
DOI:10.1145/3350755
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 July 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. adaptive scheduling
  2. greedy scheduling
  3. interactive applications
  4. performance bounds
  5. priority inversion
  6. responsive parallelism
  7. scheduling
  8. span
  9. work

Qualifiers

  • Research-article

Funding Sources

Conference

SPAA '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 447 of 1,461 submissions, 31%

Upcoming Conference

SPAA '25
37th ACM Symposium on Parallelism in Algorithms and Architectures
July 28 - August 1, 2025
Portland , OR , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)179
  • Downloads (Last 6 weeks)18
Reflects downloads up to 02 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Responsive Parallelism with SynchronizationProceedings of the ACM on Programming Languages10.1145/35912497:PLDI(712-735)Online publication date: 6-Jun-2023

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media