iccsa-21-guile

Functional Programming Interface for Parallel and Distributed Computing
git clone https://git.igankevich.com/iccsa-21-guile.git
Log | Files | Refs

copyright.txt (1418B)


      1 Functional programming interface for parallel and distributed computing
      2 Ivan Petriakov, Ivan Gankevich
      3 
      4 There are many programming frameworks and languages for parallel and distributed computing which are successful both in industry and academia, however, all of them are isolated and self-contained. We believe that the main reason that there is no common denominator between them is that there is no intermediate language for distributed computations.  For sequential computations we have bytecode that is used as an intermediate, portable and universal representation of a programme written in any language, but one important feature, that bytecode lacks, is an ability to describe process communication. If we add this feature, we get low-level language on top of which all the frameworks and languages for parallel and distributed computations can be built.  In this paper we explore how such intermediate language can be made, how it can reduce programming effort and how it may simplify internal structure of existing frameworks. We also demonstrate how high-level interface can be build for functional language that completely hides all the difficulties that a programmer encounters when he or she works with distributed systems.
      5 
      6 Keywords: API, intermediate language, C++, Guile.
      7 
      8 Ivan Gankevich, Saint Petersburg State University, 13B Universitetskaya Emb., St Petersburg 199034, Russia, i.gankevich@spbu.ru