Priority Queues Are Not Good Concurrent Priority Schedulers

  • Andrew LenharthEmail author
  • Donald Nguyen
  • Keshav Pingali
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9233)


The need for priority scheduling arises in many algorithms. In these algorithms, there is a dynamic pool of lightweight, unordered tasks, and some execution orders are more efficient than others. Therefore, each task is given an application-specific priority that is a heuristic measure of its importance for early scheduling, and the runtime system schedules these tasks roughly in this order. Concurrent priority queues are not suitable for this purpose. We show that by exploiting the fact that algorithms amenable to priority scheduling are often robust to small deviations from a strict priority order, and by optimizing the scheduler for the cache hierarchy of current multicore and NUMA processors, we can implement concurrent priority schedulers that improve the end-to-end performance of complex irregular benchmarks by orders of magnitude compared to using state-of-the-art concurrent priority queues.


Active Node Priority Queue Priority Schedule Priority Inversion Delaunay Mesh 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Bertsekas, D.P., Guerriero, F., Musmanno, R.: Parallel asynchronous label-correcting methods for shortest paths. J. Optim. Theory Appl. 88(2), 297–320 (1996)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Brandes, U.: A faster algorithm for betweenness centrality. J. Math. Sociol. 25(2), 163–177 (2001)CrossRefzbMATHGoogle Scholar
  3. 3.
    Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: A practical concurrent binary search tree. In: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 257–268. ACM (2010)Google Scholar
  4. 4.
    Cherkassy, B.V., Goldberg, A.V.: On implementing push-relabel method for the maximum flow problem. In: Balas, E., Clausen, J. (eds.) IPCO 1995. LNCS, vol. 920, pp. 157–171. Springer, Heidelberg (1995) CrossRefGoogle Scholar
  5. 5.
    Dijkstra, E.: A note on two problems in connexion with graphs. Numer. Math. 1(1), 269–271 (1959)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Elidan, G., McGraw, I., Koller, D.: Residual belief propagation: informed scheduling for asynchronous message passing. In: Proceedings of the Twenty-Second Conference on Uncertainty in AI (2006)Google Scholar
  7. 7.
    Hunt, G.C., Michael, M.M., Parthasarathy, S., Scott, M.L.: An efficient algorithm for concurrent priority queue heaps. Inf. Process. Lett. 60, 151–157 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Karypis, G., Kumar, V.: Multilevel k-way partitioning scheme for irregular graphs. J. Parallel Distrib. Comput. 48(1), 96–129 (1998)MathSciNetCrossRefGoogle Scholar
  9. 9.
    Kulkarni, M., Burtscher, M., Casçaval, C., Pingali, K.: Lonestar: a suite of parallel irregular programs. In: IEEE International Symposium on Performance Analysis of Systems and Software, pp. 65–76 (2009)Google Scholar
  10. 10.
    Lenharth, A., Nguyen, D., Pingali, K.: Priority queues are not good concurrent priority schedulers. Technical report 2056, University of Texas at Austin (2011)Google Scholar
  11. 11.
    Lew, A., Marsden, J.E., Ortiz, M., West, M.: Asynchronous variational integrators. Arch. Ration. Mech. Anal. 167, 85–146 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Mehlhorn, K., Näher, S.: LEDA: A Platform for Combinatorial and Geometric Computing. Cambridge University Press, Cambridge (1999) zbMATHGoogle Scholar
  13. 13.
    Meyer, U., Sanders, P.: Delta-stepping: a parallel single source shortest path algorithm. In: Proceedings of the European Symposium on Algorithms, pp. 393–404 (1998)Google Scholar
  14. 14.
    Pingali, K., Nguyen, D., Kulkarni, M., Burtscher, M., Hassaan, M.A., Kaleem, R., Lee, T.H., Lenharth, A., Manevich, R., Méndez-Lojo, M., Prountzos, D., Sui, X.: The TAO of parallelism in algorithms. In: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 12–25 (2011)Google Scholar
  15. 15.
    Shavit, N., Lotan, I.: Skiplist-based concurrent priority queues. In: International Parallel and Distributed Processing Symposium/International Parallel Processing Symposium, pp. 263–268 (2000)Google Scholar
  16. 16.
    Shavit, N., Zemach, A.: Scalable concurrent priority queue algorithms. In: Proceedings of the Eighteenth Annual ACM Symposium on Principles of Distributed Computing, pp. 113–122 (1999)Google Scholar
  17. 17.
    Tang, Y., Zhang, Y., Chen, H.: A parallel shortest path algorithm based on graph-partitioning and iterative correcting. Comput. Syst. Sci. Eng. 24(5), 155–161 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Andrew Lenharth
    • 1
    Email author
  • Donald Nguyen
    • 1
  • Keshav Pingali
    • 1
  1. 1.The University of Texas at AustinAustinUSA

Personalised recommendations