skip to main content
research-article

Towards Haskell in the cloud

Published:22 September 2011Publication History
Skip Abstract Section

Abstract

We present Cloud Haskell, a domain-specific language for developing programs for a distributed computing environment. Implemented as a shallow embedding in Haskell, it provides a message-passing communication model, inspired by Erlang, without introducing incompatibility with Haskell's established shared-memory concurrency. A key contribution is a method for serializing function closures for transmission across the network. Cloud Haskell has been implemented; we present example code and some preliminary performance measurements.

Skip Supplemental Material Section

Supplemental Material

_talk11.mp4

References

  1. J. Armstrong, R. Virding, C. Wikström, and M. Williams. Concurrent programming in Erlang, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. P. Bailey. Process-oriented language design for distributed address spaces. PhD thesis, Australian National University, Jan. 1997.Google ScholarGoogle Scholar
  3. A. D. Birrell and B. J. Nelson. Implementing remote procedure calls. TOCS, 2 (1): 39--59, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Dean and S. Ghemawat. Mapreduce: simplified data processing on large clusters. Commun. ACM, 51: 107--113, January 2008. ISSN 0001-0782. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. The GNU Mach Reference Manual. Free Software Foundation, Inc., for system version 1.3.99. edition, November 2008. http://www.gnu.org/software/hurd/gnumach-doc/.Google ScholarGoogle Scholar
  6. W. Gropp, E. Lusk, and A. Skjellum. Using MPI: Portable Parallel Programming with the Message Passing Interface, 2nd edition. MIT Press, Cambridge, MA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Isard, M. Budiu, Y. Yu, A. Birrell, and D. Fetterly. Dryad: distributed data-parallel programs from sequential building blocks. In Proc EuroSys'07; Oper. Syst. Rev., volume 41, pages 59--72. ACM SIGOPS, March 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E. Jul, H. Levy, N. Hutchinson, and A. Black. Fine-grained mobility in the Emerald system. TOCS, 6 (1): 109--133, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Loogen, Y. Ortega-Mallén, and R. Pena-Marí. Parallel functional programming in Eden. J. Funct. Programming, 15: 431--475, May 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. G. Murray and S. Hand. Scripting the cloud with Skywriting. In Proc. 2nd USENIX conference on Hot topics in cloud computing, HotCloud'10, pages 12--12, Berkeley, CA, USA, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. G. Murray and S. Hand. Ciel: a universal execution engine for distributed data-flow computing. In NSDI '11: Proc. eighth symposium on Networked Systems Design and Implementation, Berkeley, CA, USA, 2011. USENIX. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. E. Pitt and K. McNiff. Java.rmi: The Remote Method Invocation Guide. Addison-Wesley, Boston, MA, USA, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Pointon, P. Trinder, and H.-W. Loidl. The design and implementation of Glasgow Distributed Haskell. In M. Mohnen and P. Koopman, editors, Implementation of Functional Languages, volume 2011 of LNCS, pages 53--70. Springer, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. F. Rashid and G. G. Robertson. Accent: A communication oriented network operating systems kernel. In Proc. eighth ACM Symp. Operating Systems Principles, pages 64--75. ACM SIGOPS, October 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Reppy. Concurrent programming in ML. Cambridge University Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Rossberg. Typed Open Programming -- A higher-order, typed approach to dynamic modularity and distribution. PhD thesis, Universitat des Saarlandes, Jan. 2007.Google ScholarGoogle Scholar
  17. P. Sewell, J. Leifer, K. Wansbrough, F. Nardelli, M. Allen-Williams, P. Habouzit, and V. Vafeiadis. Acute: high level programming language design for distributed computation. J. Funct. Programming, 17 (4 & 5): 547--612, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. T. van Noort, P. Achten, and R. Plasmeijer. Ad-hoc polymorphism and dynamic typing in a statically typed functional language. In Proc 6th ACM Workshop on Generic Programming, Baltimore. ACM, Sept. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Vervoot and R. Plasmeijer. Lazy dynamic input/output in the lazy functional language Clean. In Proc 14th Workshop on the Implementation of Functional Languages (IFL'02), volume 2670 of LNCS, pages 101--117. Springer, Sept. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Vinoski. CORBA: integrating diverse applications within distributed heterogeneous environments. IEEE Communications Magazine, 35 (2): 46--55, Feb. 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Towards Haskell in the cloud

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 46, Issue 12
        Haskell '11
        December 2011
        129 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2096148
        Issue’s Table of Contents
        • cover image ACM Conferences
          Haskell '11: Proceedings of the 4th ACM symposium on Haskell
          September 2011
          136 pages
          ISBN:9781450308601
          DOI:10.1145/2034675

        Copyright © 2011 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 22 September 2011

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!