Abstract
Stream-based Coordination is a promising approach to execute programs on parallel hardware such as multi-core systems. It allows to reuse sequential code at component level and to extend such code with concurrency-handling at the coordination level. In this paper we identify the monitoring information required to enable the calculation of performance metrics, automatic load balancing, and bottleneck detection. The monitoring information is obtained by implicitly instrumenting multiple levels: the runtime system and the operating system.
We evaluate the monitoring overhead caused by different use cases on S-Net as it is a challenging monitoring benchmark with a flexible and fully asynchronous execution model, including dynamic mapping and scheduling policies. The evaluation shows that in most cases the monitoring causes a negligible overhead of less than five percent.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Adhianto, L., Banerjee, S., Fagan, M., Krentel, M., Marin, G., Mellor-Crummey, J., Tallent, N.R.: Hpctoolkit: tools for performance analysis of optimized parallel programs. Concurrency and Computation: Practice and Experience 22(6), 685–701 (2010)
Black, F., Scholes, M.: The Pricing of Options and Corporate Liabilities. The Journal of Political Economy 81(3), 637–654 (1973)
DES. Data Encryption Standard. In: FIPS PUB 46-3. Federal Information Processing Standards Publication (1977)
Dorigo, M., Stützle, T.: Ant Colony Optimization. Bradford Book (2004)
Eager, D.L., Lazowska, E.D., Zahorjan, J.: Adaptive load sharing in homogeneous distributed systems. IEEE Trans. Softw. Eng. 12(5), 662–675 (1986)
Gedik, B., Andrade, H., Frenkiel, A., De Pauw, W., Pfeifer, M., Allen, P., Cohen, N., Wu, K.-L.: Tools and strategies for debugging distributed stream processing applications. Softw. Pract. Exper. 39, 1347–1376 (2009)
Geimer, M., Wolf, F., Wylie, B.J.N., Ábrahám, E., Becker, D., Mohr, B.: The Scalasca performance toolset architecture. Concurrency and Computation: Practice and Experience 22(6), 702–719 (2010)
Grelck, C., Scholz, S., Shafarenko, A.: Asynchronous Stream Processing with S-Net. International Journal of Parallel Programming 38(1), 38–67 (2010)
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), 221–237 (2008)
Kahn, G.: The semantics of a simple language for parallel programming. In: Rosenfeld, J.L. (ed.) Proc. IFIP Congress on Information Processing, Stockholm, Sweden (August 1974) ISBN: 0-7204-2803-3
Lai, A.-C., Shieh, C.-K., Kok, Y.-T.: Load balancing in distributed shared memory systems. In: IEEE International on Performance, Computing, and Communications Conference, IPCCC 1997, pp. 152–158 (February 1997)
Malony, A., Shende, S., Trebon, N., Ray, J., Armstrong, R., Rasmussen, C., Sottile, M.: Performance technology for parallel and distributed component software. Concurrency and Computation: Practice and Experience 17(2-4), 117–141 (2005)
Miller, B., Clark, M., Hollingsworth, J., Kierstead, S., Lim, S.-S., Torzewski, T.: Ips-2: the second generation of a parallel program measurement system. IEEE Transactions on Parallel and Distributed Systems 1(2), 206–217 (1990)
Miller, B.P., Callaghan, M.D., Cargille, J.M., Hollingsworth, J.K., Irvin, R.B., Karavanic, K.L., Kunchithapadam, K., Newhall, T.: The paradyn parallel performance measurement tool. Computer 28, 37–46 (1995)
Mirgorodskiy, A.V., Miller, B.P.: Diagnosing Distributed Systems with Self-propelled Instrumentation. In: Issarny, V., Schantz, R. (eds.) Middleware 2008. LNCS, vol. 5346, pp. 82–103. Springer, Heidelberg (2008)
Penczek, F., Herhut, S., Scholz, S.-B., Shafarenko, A., Yang, J., Chen, C.-Y., Bagherzadeh, N., Grelck, C.: Message Driven Programming with S-Net: Methodology and Performance. In: International Conference on Parallel Processing Workshops, pp. 405–412 (2010)
Petkov, V., Gerndt, M.: Integrating parallel application development with performance analysis in periscope. In: 2010 IEEE International Symposium on Parallel Distributed Processing, Workshops and Phd Forum (IPDPSW), pp. 1–8 (April 2010)
Prokesch, D.: A light-weight parallel execution layer for shared-memory stream processing. Master’s thesis, Technische Universität Wien, Vienna, Austria (February 2010)
Shende, S.S., Malony, A.D.: The tau parallel performance system. Int. J. High Perform. Comput. Appl. 20(2), 287–311 (2006)
Shivaratri, N., Krueger, P.: Two adaptive location policies for global scheduling algorithms. In: Proceedings of 10th International Conference on Distributed Computing Systems, May-1 June, pp. 502–509 (1990)
Shivaratri, N., Krueger, P., Singhal, M.: Load distributing for locally distributed systems. Computer 25(12), 33–44 (1992)
Wadge, W.W., Ashcroft, E.A.: LUCID, the dataflow programming language. Academic Press Professional, Inc., San Diego (1985)
Wenzel, I., Kirner, R., Puschner, P., Rieder, B.: Principles of timing anomalies in superscalar processors. In: Proc. 5th International Conference of Quality Software, Melbourne, Australia (September 2005)
Wilkinson, B., Allen, M.: Parallel programming - techniques and applications using networked workstations and parallel computers, 2nd edn. Pearson Education (2005)
Xu, Z., Larus, J.R., Miller, B.P.: Shared-memory performance profiling. In: Proceedings of the Sixth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1997, pp. 240–251. ACM, New York (1997)
Yang, C.-Q., Miller, B.: Performance measurement for parallel and distributed programs: a structured and automatic approach. IEEE Transactions on Software Engineering 15(12), 1615–1629 (1989)
Zhang, Y., Kameda, H., Shimizu, K.: Adaptive bidding load balancing algorithms in heterogeneous distributed systems. In: Proceedings of the Second International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, MASCOTS 1994, January-2 February, pp. 250–254 (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nguyen, V.T.N., Kirner, R., Penczek, F. (2012). 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) Algorithms and Architectures for Parallel Processing. ICA3PP 2012. Lecture Notes in Computer Science, vol 7439. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33078-0_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-33078-0_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33077-3
Online ISBN: 978-3-642-33078-0
eBook Packages: Computer ScienceComputer Science (R0)