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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bhattacharyya, S.S.: Optimization trade-offs in the synthesis of software for embedded dsp. In: IN CASES (1999)
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)
Burke, M.G., Knobe, K., Newton, R., Sarkar, V.: Concurrent Collections programming model. In: Padua, D. (ed.) Encyclopedia of Parallel Computing. Springer US (2011)
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)
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)
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)
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)
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)
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)
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)
Karczmarek, M., Thies, W., Amarasinghe, S.: Phased scheduling of stream programs. SIGPLAN Not. 38(7) (June 2003)
Kudlur, M., Mahlke, S.: Orchestrating the execution of stream programs on multicore platforms. SIGPLAN Not. 43(6) (June 2008)
Little, J.D.C.: A Proof for the Queuing Formula: L= W. Operations Research 9(3), 383–387 (1961)
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)
Prokesch, D.: A light-weight parallel execution layer for shared-memory stream processing. Master’s thesis, Technische Universität Wien, Vienna, Austria (February 2010)
Stephens, R.: A survey of stream processing. Acta Informatica, 34 (1997)
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)
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)
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)
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)
Zhang, D., Li, Q.J., Rabbah, R., Amarasinghe, S.: A lightweight streaming layer for multicore execution. SIGARCH Comput. Archit. News, 36(2) (May 2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)