EditorialSpecial section on functional paradigm for high performance computing
Introduction
Efficient programming for parallel execution on many core architectures and on emerging distributed hardware platforms leads to issues related to a proper synchronization between threads and processes, development of robust communication protocols, maintaining scalability and resilience of the developed applications and software systems [1], [2] and has been developed for over the last decade with increasing frequency (c.f., e.g. [3], [4], [5], [6]). Many mechanisms to address these issues are available in the functional programming paradigm. Inherent capabilities of functional languages, such as referential transparency, lazy evaluation, and the absence of (or restricted) side-effects in purely functional languages make them perfect as a means for implementation of concurrent algorithms on distributed systems [7]. Moreover, many functional languages provide their users a reliable asynchronous communication supporting higher-level paradigms, like the actor-based concurrency model based on message passing [8]. These features and mechanisms make functional programming a very interesting means for the development of HPC applications.
Section snippets
Special section papers
In Wojciech Turek’s paper [9] the problem of simulating micro-scale [10] urban traffic in large environments is tackled. The author argues that such problems provide a great opportunity for the utilization of HPC systems. Parallel implementation of this kind of computation (where complex, data-intensive processing must be synchronized) is obviously not straightforward. The author bases the simulation presented in this paper on the concept of controlled desynchronization of the computations,
Summary
The functional paradigm is enjoying a renaissance nowadays, especially thanks to its very natural implementation of parallel and distributed applications, lowering the barrier to exploiting today’s ubiquitous multi-core and many-core hardware. In particular, this technology can be applied to the implementation of different computing and simulation applications and frameworks for HPC environments. We hope that this special section helps to point-out various connecting points between HPC and FP,
References (26)
- et al.
Changing technologies of HPC
Future Gener. Comput. Syst.
(1997) - et al.
A note on new trends in data-aware scheduling and resource provisioning in modern HPC systems
Future Gener. Comput. Syst.
(2015) - et al.
Dynamic steering of HPC scientific workflows: A survey
Future Gener. Comput. Syst.
(2015) - et al.
Hybrid computingwhere hpc meets grid and cloud computing
Future Gener. Comput. Syst.
(2011) Erlang-based desynchronized urban traffic simulation for high-performance computing systems
Future Gener. Comput. Syst.
(2018)- et al.
Genealogy of traffic flow models
EURO J. Transp. Logist.
(2015) - et al.
Computing agents for decision support systems
Future Gener. Comput. Syst.
(2014) - et al.
Agent-oriented foraminifera habitat simulation
Proc. Comput. Sci.
(2015) - et al.
Automatically deriving cost models for structured parallel processes using hylomorphisms
Future Gener. Comput. Syst.
(2018) - et al.
Finding parallel functional pearls: Automatic parallel recursion scheme detection in haskell functions via anti-unification
Future Gener. Comput. Syst.
(2018)