Skip to main content

Designing Distributed Computational Skeletons in D-Clean and D-Box

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4164))

Abstract

Functional programming has inherent parallel features. This situation can be exploited by building different language constructs for parallel and distributed programming. Earlier we designed two languages for skeleton based distributed functional programming on a cluster. The two languages have different expressive power and abstraction levels. Our distributed functional computation is based on a multiparadigm-oriented environment with several different layers. On the highest level D-Clean coordination language primitives are applied in order to define the distribution of the pure functional computation subtasks over a PC cluster. This distribution is made according to a predefined computational scheme, which is an algorithmic skeleton, parameterized by functions, types and data. The D-Clean programs are transformed into D-Box, a lower level description language including the computational nodes implemented in the lazy functional language Clean. The computational nodes are distributed over the cluster and they communicate using the middleware services. This paper presents skeleton based functional and distributed programming using the D-Clean and D-Box languages. The main goal is to illustrate the appropriateness and applicability of the previously introduced languages for distributed evaluation of the functional programs on clusters. Here, therefore, we design distributed functional computational skeletons and we have provided a set of known algorithmic skeletons implemented as D-Clean schemes and a set of D-Box programs.

Supported by OTKA T037742, by GVOP-3.2.2.-2004-07-0005/3.0 ELTE IKKK and by Bolyai Scholarship of the Hungarian Academy of Sciences.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Klusik, U., Loogen, R., Priebe, S., Berthold, J., Weskamp, N.: High-Level Process Control in Eden. In: Kosch, H., Böszörményi, L., Hellwagner, H. (eds.) Euro-Par 2003. LNCS, vol. 2790, pp. 732–741. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  2. Best, E., Hopkins, R.P.: B(PN)2 - a Basic Petri Net Programming Notation. In: Reeve, M., Bode, A., Wolf, G. (eds.) PARLE 1993. LNCS, vol. 694, pp. 379–390. Springer, Heidelberg (1993)

    Google Scholar 

  3. Clerici, S., Zoltan, C.: A Graphic Functional-Dataflow Language. In: Loidl, H.W. (ed.) Proceedings of the Fifth Symposium on Trends in Functional Programming, München, November 25-26, 2004, pp. 345–359 (2004)

    Google Scholar 

  4. Danelutto, M., Di Cosmo, R., Leroy, X., Pelagatti, S.: Parallel Functional Programming with Skeletons: the OCAMLP3L experiment. In: Proceedings of the ACM Sigplan Workshop on ML, Baltimore, USA, September 1998, pp. 31–39 (1998)

    Google Scholar 

  5. Dezső, B.: D-Box Developer Environment, Project work documentation, Department of Programming Languages and Compilers, University Eötvös L., Budapest, Hungary (2005)

    Google Scholar 

  6. Fournet, C., Le Fessant, F., Maranget, L., Schmitt, A.: JoCaml: A Language for Concurrent Distributed and Mobile Programming. In: Jeuring, J., Jones, S.L.P. (eds.) AFP 2002. LNCS, vol. 2638, pp. 129–158. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  7. Hammond, K., Michaelson, G. (eds.): Research Directions in Parallel Functional Programming. Springer, Heidelberg (1999)

    MATH  Google Scholar 

  8. Hammond, K., Portillo, A.J.R.: Haskel: Algorithmic Skeletons in Haskell. In: Koopman, P., Clack, C. (eds.) IFL 1999. LNCS, vol. 1868, pp. 181–198. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  9. Hernyák, Z., Horváth, Z., Zsók, V.: Clean-CORBA Interface Supporting Skeletons. In: Proceedings of the 6th International Conference on Applied Informatics, Eger, Hungary, January 27-31, vol. 1, pp. 191–200 (2004)

    Google Scholar 

  10. Horváth, Z., Hernyák, Z., Zsók, V.: Coordination Language for Distributed Clean. Acta Cybernetica 17, 247–271 (2005)

    MATH  Google Scholar 

  11. Horváth, Z., Zsók, V., Serrarens, P., Plasmeijer, R.: Parallel Elementwise Processable Functions in Concurrent Clean. Mathematical and Computer Modelling 38, 865–875 (2003)

    Article  MATH  Google Scholar 

  12. Johnston, W.M., Hanna, J.R.P., Millar, R.J.: Advances in dataflow programming languages. In: ACM Computing Surveys, vol. 36 (1), pp. 1–34. ACM Press, New York (2004)

    Google Scholar 

  13. Kesseler, M.H.G.: The Implementation of Functional Languages on Parallel Machines with Distributed Memory, PhD Thesis, Catholic University of Nijmegen (1996)

    Google Scholar 

  14. Loidl, H.-W., Klusik, U., Hammond, K., Loogen, R., Trinder, P.W.: GpH and Eden: Comparing Two Parallel Functional Languages on a Beowulf Cluster. In: Gilmore, S. (ed.) Trends in Functional Programming. Intellect, vol. 2, pp. 39–52 (2001)

    Google Scholar 

  15. Loidl, H.-W., Rubio, F., Scaife, N., Hammond, K., Horiguchi, S., Klusik, U., Loogen, R., Michaelson, G.J., Peña, R., Priebe, S., Rebón Portillo, Á.J., Trinder, P.W.: Comparing Parallel Functional Languages: Programming and Performance. In: Higher-Order and Symbolic Computation, vol. 16(3), pp. 203–251. Kluwer Academic Publisher, Dordrecht (2003)

    Google Scholar 

  16. Peña, R., Rubio, F., Segura, C.: Deriving Non-Hierarchical Process Topologies. In: Hammond, K., Curtis, S. (eds.) Trends in Functional Programming. Intellect, vol. 3, pp. 51–62 (2002)

    Google Scholar 

  17. Plasmeijer, R., van Eekelen, M.: Concurrent Clean Version 2.0 Language Report (2001), http://www.cs.kun.nl/~clean/Manuals/manuals.html

  18. Rabhi, F.A., Gorlatch, S.(eds.): Patterns and Skeletons for Parallel and Distributed Computing. Springer, Heidelberg (2002)

    Google Scholar 

  19. Rauber Du Bois, A., Tinder, P., Loidl, H.W.: Towards Mobility Skeletons (2004)

    Google Scholar 

  20. Serrarens, P.R.: Communication Issues in Distributed Functional Computing, PhD Thesis, Catholic University of Nijmegen (January 2001)

    Google Scholar 

  21. Zsók, V., Horváth, Z., Varga, Z.: Functional Programs on Clusters. In: Striegnitz, J., Davis, K. (eds.) Proceedings of the Workshop on Parallel/High-Performance Object-Oriented Scientific Computing (POOSC 2003), Interner Bericht FZJ-ZAM-IB-2003-09, pp. 93–100 (July 2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zsók, V., Hernyák, Z., Horváth, Z. (2006). Designing Distributed Computational Skeletons in D-Clean and D-Box. In: Horváth, Z. (eds) Central European Functional Programming School. CEFP 2005. Lecture Notes in Computer Science, vol 4164. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11894100_8

Download citation

  • DOI: https://doi.org/10.1007/11894100_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-46843-1

  • Online ISBN: 978-3-540-46845-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics