ABSTRACT
This is a work-in-progress presentation in which we will argue that approaches based on components coordinated declaratively, such as S-Net, are ideally placed for automatic multicore optimisation. We will present our case for a component compiler producing not only object code, but also symbolic constraints describing the functional, and more importantly extra-functional, properties of the source component, such as computational complexity, resource and configuration requirements. We also argue that if the coordination language is well structured, which is easily achievable when it is declarative, it is possible to aggregate the constraints yielded by the components stage-wise and to represent the multicore optimisation problem in standard CSP form to use general-purpose constraint solvers. The use of symbolic constraints to describe system behaviour is shown by some examples of S-Net network combinators. If successful our approach will achieve an unprecedented degree of flexibility in programming for a wide range of heterogeneous multi-/many-core architectures. We would like to initiate a discussion on the interplay of constraint solving and declarative coordination programming.
- C. Grelck, S.-B. Scholz, and A. Shafarenko, SA Gentle Introductionto S-Net: Typed Stream Processing and Declarative Coordination of Asynchronous Components, T Parallel Processing Letters, vol. 18, no. 2,pp. 221 V237, 2008.Google Scholar
- Newton, R., Schlimbach, F., Hampton, M., Knobe, K.: Capturing and composing parallel patterns with Intel CnC. In: Proc. of 2nd USENIX Workshop on Hot Topics in Parallelism (HotPar 2010), Berkley, CA, USA (June 2010).Google Scholar
- F. Penczek, S. Herhut, C. Grelck, S.B. Scholz, A. Shafarenko, R. Barrere and E. Lenormand, 2010, "Parallel signal processing with S-Net", Procedia Computer Science, vol 1, no. 1, pp. 2085--2094 .Google Scholar
- W. Cheng, F. Penczek, C. Grelck, R. Kirner, B. Scheuermann, and A. Shafarenko. Modeling streams-based variants of ant colony optimisation for parallel systems. In Workshop on Feedback-Directed Compiler Optimization for Multi-Core Architectures, Paris, France, Jan. 2012. (to appear).Google Scholar
- C. Grelck, K. Hammond, H. Hertlein, P. Hölzenspies, C. Jesshope, R. Kirner, B. Scheuermann, A. Shafarenko, I. T. Boekhorst, and V. Wieser. Engineering concurrent software guided by statistical performance analysis. In Proc. International Conference on Parallel Computing, Ghent, Belgium, Aug./Sep. 2011.Google Scholar
- V. Wieser, P. K. Hölzenspies, R. Kirner, and M. Roßbory. Statistical performance analysis with dynamic workload using S-NET. In Workshop on Feedback-Directed Compiler Optimization for Multi-Core Architectures, Paris, France, Jan. 2012. (to appear).Google Scholar
- A. Shafarenko and R. Kirner. CAL: A language for aggregating functional and extrafunctional constraints in streaming networks. Technical report, University of Hertfordshire, Hatfield, UK, Jan. 2011. available at http://arxiv.org/abs/1101.3356.Google Scholar
- C. Grelck, A. S. (eds):, F. Penczek, C. Grelck, H. Cai, J. Julku, P. Hölzenspies, S. Scholz, and A. Shafarenko. S-Net Language Report 2.0. Technical Report 499, University of Hertfordshire, School of Computer Science, Hatfield, England, United Kingdom, 2010.Google Scholar
- E. R. Gansner and S. C. North. An open graph visualisation system and its applications to software engineering. SOFTWARE - PRACTICE AND EXPERIENCE, 30 (11): 1203--1233, 2000. Google ScholarDigital Library
- B. Dutertre and L. de Moura. The Yices SMT solver. Tool paper at http://yices.csl.sri.com/tool-paper.pdf, August 2006.Google Scholar
Index Terms
- Compilers must speak properties, not just code: CAL: constraint aggregation language for declarative component-coordination
Recommendations
Surgical precision JIT compilers
PLDI '14Just-in-time (JIT) compilation of running programs provides more optimization opportunities than offline compilation. Modern JIT compilers, such as those in virtual machines like Oracle's HotSpot for Java or Google's V8 for JavaScript, rely on dynamic ...
Surgical precision JIT compilers
PLDI '14: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and ImplementationJust-in-time (JIT) compilation of running programs provides more optimization opportunities than offline compilation. Modern JIT compilers, such as those in virtual machines like Oracle's HotSpot for Java or Google's V8 for JavaScript, rely on dynamic ...
Transforming an under-constrained geometric constraint problem into a well-constrained one
SM '03: Proceedings of the eighth ACM symposium on Solid modeling and applicationsWe present an approach for handling geometric constraint problems with under-constrained configurations. The approach works by completing the given set of constraints with constraints that can be defined either automatically or drawn from an ...
Comments