skip to main content
10.1145/2034675.2034690acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Towards Haskell in the cloud

Published:22 September 2011Publication History

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

mp4

67.4 MB

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
      • Published in

        cover image ACM Conferences
        Haskell '11: Proceedings of the 4th ACM symposium on Haskell
        September 2011
        136 pages
        ISBN:9781450308601
        DOI:10.1145/2034675
        • 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

        Copyright © 2011 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 22 September 2011

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate57of143submissions,40%

        Upcoming Conference

        ICFP '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader