Skip to main content

Demand-Based Scheduling Priorities for Performance Optimisation of Stream Programs on Parallel Platforms

  • Conference paper
Algorithms and Architectures for Parallel Processing (ICA3PP 2013)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8285))

Abstract

This paper introduces a heuristic-based scheduler to optimise the throughput and latency of stream programs with dynamic network structure. The novelty is the utilisation of positive and negative demands of the stream communications. It is a centralised approach to provide load balancing for stream programs with dynamic network structures. The approach is designed for shared-memory multi-core platforms. The experiments show that our scheduler performs significantly better than the reference implementation without demand considerations.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bhattacharyya, S.S.: Optimization trade-offs in the synthesis of software for embedded dsp. In: IN CASES (1999)

    Google Scholar 

  2. Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M., Hanrahan, P.: Brook for GPUs: stream computing on graphics hardware. ACM Trans. Graph. 23(3) (August 2004)

    Google Scholar 

  3. Burke, M.G., Knobe, K., Newton, R., Sarkar, V.: Concurrent Collections programming model. In: Padua, D. (ed.) Encyclopedia of Parallel Computing. Springer US (2011)

    Google Scholar 

  4. Chen, J., Gordon, M.I., Thies, W., Zwicker, M., Pulli, K., Durand, F.: A reconfigurable architecture for load-balanced rendering. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware, HWWS 2005. ACM, New York (2005)

    Google Scholar 

  5. Collins, R.L., Carloni, L.P.: Flexible filters: load balancing through backpressure for stream programs. In: Proceedings of the Seventh ACM International Conference on Embedded Software, EMSOFT 2009. ACM, New York (2009)

    Google Scholar 

  6. Farhad, S.M., Ko, Y., Burgstaller, B., Scholz, B.: Orchestration by approximation: mapping stream programs onto multicore architectures. In: Proc. 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2011), New Port Beach, CA, USA, pp. 357–368 (March 2011)

    Google Scholar 

  7. Gordon, M.I., Thies, W., Amarasinghe, S.: Exploiting coarse-grained task, data, and pipeline parallelism in stream programs. SIGARCH Comput. Archit. News 34(5) (October 2006)

    Google Scholar 

  8. Gordon, M.I., Thies, W., Karczmarek, M., Lin, J., Meli, A.S., Lamb, A.A., Leger, C., Wong, J., Hoffmann, H., Maze, D., Amarasinghe, S.: A stream compiler for communication-exposed architectures. SIGOPS Oper. Syst. Rev. 36(5) (October 2002)

    Google Scholar 

  9. Grelck, C., Scholz, S.-B., Shafarenko, A.: A Gentle Introduction to S-Net: Typed Stream Processing and Declarative Coordination of Asynchronous Components. Parallel Processing Letters 18(2) (2008)

    Google Scholar 

  10. Huston, L., Nizhner, A., Pillai, P., Sukthankar, R., Steenkiste, P., Zhang, J.: Dynamic load balancing for distributed search. In: Proceedings of the High Performance Distributed Computing, HPDC 2005. IEEE Computer Society, Washington, DC (2005)

    Google Scholar 

  11. Karczmarek, M., Thies, W., Amarasinghe, S.: Phased scheduling of stream programs. SIGPLAN Not. 38(7) (June 2003)

    Google Scholar 

  12. Kudlur, M., Mahlke, S.: Orchestrating the execution of stream programs on multicore platforms. SIGPLAN Not. 43(6) (June 2008)

    Google Scholar 

  13. Little, J.D.C.: A Proof for the Queuing Formula: L= W. Operations Research 9(3), 383–387 (1961)

    Article  MathSciNet  MATH  Google Scholar 

  14. Nguyen, V.T.N., Kirner, R., Penczek, F.: A multi-level monitoring framework for stream-based coordination programs. In: Xiang, Y., Stojmenovic, I., Apduhan, B.O., Wang, G., Nakano, K., Zomaya, A. (eds.) ICA3PP 2012, Part I. LNCS, vol. 7439, pp. 83–98. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  15. Prokesch, D.: A light-weight parallel execution layer for shared-memory stream processing. Master’s thesis, Technische Universität Wien, Vienna, Austria (February 2010)

    Google Scholar 

  16. Stephens, R.: A survey of stream processing. Acta Informatica, 34 (1997)

    Google Scholar 

  17. Tassiulas, L., Ephremides, A.: Stability properties of constrained queuing systems and scheduling policies for maximum throughput in multihop radio networks. IEEE Transaction on Automatic Control 37(12), 1936–1948 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  18. Thies, W., Karczmarek, M., Amarasinghe, S.: StreamIt: A language for streaming applications. In: Nigel Horspool, R. (ed.) CC 2002. LNCS, vol. 2304, p. 179. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  19. Wang, Z., O’Boyle, M.F.: Partitioning streaming parallelism for multi-cores: a machine learning based approach. In: Proceedings of the 19th International Conference on Parallel Architectures and Compilation Techniques, PACT 2010. ACM, New York (2010)

    Google Scholar 

  20. Xing, Y., Zdonik, S., Hwang, J.-H.: Dynamic load distribution in the borealis stream processor. In: Proceedings of the 21st International Conference on Data Engineering, ICDE 2005. IEEE Computer Society, Washington, DC (2005)

    Google Scholar 

  21. Zhang, D., Li, Q.J., Rabbah, R., Amarasinghe, S.: A lightweight streaming layer for multicore execution. SIGARCH Comput. Archit. News, 36(2) (May 2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer International Publishing Switzerland

About this paper

Cite this paper

Nguyen, V.T.N., Kirner, R. (2013). Demand-Based Scheduling Priorities for Performance Optimisation of Stream Programs on Parallel Platforms. In: Kołodziej, J., Di Martino, B., Talia, D., Xiong, K. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2013. Lecture Notes in Computer Science, vol 8285. Springer, Cham. https://doi.org/10.1007/978-3-319-03859-9_31

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-03859-9_31

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-03858-2

  • Online ISBN: 978-3-319-03859-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics