skip to main content
10.1145/2525528.2525531acmconferencesArticle/Chapter ViewAbstractPublication PagessospConference Proceedingsconference-collections
research-article

MBrace: cloud computing with monads

Published: 03 November 2013 Publication History

Abstract

As cloud computing and big data gain prominence in today's economic landscape, the challenge of effectively articulating complex algorithms in distributed environments becomes ever more important. In this paper we describe MBrace; a novel programming model/framework for performing large scale computation in the cloud. Based on the .NET software stack, it utilizes the power of the F# programming language. MBrace introduces a declarative style for specifying and composing parallelism patterns, in what is known as cloud workflows or a cloud monad. MBrace is also a distributed execution runtime that handles orchestration of cloud workflows in the data centre.

References

[1]
Jeffrey Dean and Sanjay Ghemawat. MapReduce: simplified data processing on large clusters. In Proceedings of the 6th conference on Symposium on Operating Systems Design & Implementation - Volume 6, OSDI'04, pages 10--10, 2004.
[2]
Akka Framework. URL http://www.akka.io/.
[3]
Jeff Epstein, Andrew P. Black, and Simon Peyton-Jones. Towards Haskell in the cloud. SIGPLAN Not., 46(12):118--129, September 2011. ISSN 0362-1340.
[4]
Patrick Maier and Phil Trinder. Implementing a high-level distributed-memory parallel Haskell in Haskell. In Proceedings of the 23rd international conference on Implementation and Application of Functional Languages, IFL'11, pages 35--50, 2012. ISBN 978-3-642-34406-0.
[5]
Longbin Lai, Jingyu Zhou, Long Zheng, Huakang Li, Yanchao Lu, Feilong Tang, and Minyi Guo. ShmStreaming: A Shared Memory Approach for Improving Hadoop Streaming Performance. In 2013 IEEE 27th International Conference on Advanced Information Networking and Applications (AINA), pages 137--144, 2013.
[6]
Yingyi Bu, Bill Howe, Magdalena Balazinska, and Michael D. Ernst. HaLoop: Efficient Iterative Data Processing on Large Clusters. Proc. VLDB Endow., 3(1-2):285--296, September 2010. ISSN 2150-8097.
[7]
Cairong Yan, Xin Yang, Ze Yu, Min Li, and Xiaolin Li. IncMR: Incremental Data Processing Based on MapReduce. In Cloud Computing (CLOUD), 2012 IEEE 5th International Conference on, pages 534--541, 2012.
[8]
MBrace website. URL http://www.m-brace.net/.
[9]
Microsoft MSDN, Computation Expressions (F#),. URL http://msdn.microsoft.com/en-us/library/dd233182.aspx.
[10]
Tomas Petricek and Don Syme. Syntax Matters: Writing abstract computations in F#. Pre-proceedings of TFP (Trends in Functional Programming), St. Andrews, Scotland, 2012.
[11]
Microsoft MSDN, Asynchronous Programming Model,. URL http://msdn.microsoft.com/en-us/library/ms228963.aspx.
[12]
Don Syme, Tomas Petricek, and Dmitry Lomov. The F# Asynchronous Programming Model. In Practical Aspects of Declarative Languages, volume 6539 of Lecture Notes in Computer Science. 2011. ISBN 978-3-642-18377-5.
[13]
Wouter Swierstra. Data types à la carte. Journal of Functional Programming, 18:423--436, 7 2008. ISSN 1469-7653.
[14]
R. O. Bjarnarson. Stackless Scala With Free Monads. Scala Days 2012. URL http://blog.higher-order.com/assets/trampolines.pdf.
[15]
Microsoft MSDN, using Statement (C# Reference),. URL http://msdn.microsoft.com/en-us/library/yh598w02.aspx.
[16]
Mono Project. URL http://www.mono-project.com/.
[17]
Apache Mahout. URL http://mahout.apache.org/.
[18]
Simon Marlow, Ryan Newton, and Simon Peyton Jones. A Monad for Deterministic Parallelism. In Proceedings of the 4th ACM symposium on Haskell, Haskell '11, pages 71--82, 2011. ISBN 978-1-4503-0860-1.
[19]
Microsoft MSDN, LINQ (Language-Integrated Query). URL http://msdn.microsoft.com/en-us/library/vstudio/bb397926.aspx.

Cited By

View all
  • (2021)Optical Wireless System Performance, Deployment, and OptimizationEnabling 6G Mobile Networks10.1007/978-3-030-74648-3_9(293-328)Online publication date: 6-Nov-2021
  • (2020)The early history of F#Proceedings of the ACM on Programming Languages10.1145/33863254:HOPL(1-58)Online publication date: 12-Jun-2020
  • (2019)A fault-tolerant programming model for distributed interactive applicationsProceedings of the ACM on Programming Languages10.1145/33605703:OOPSLA(1-29)Online publication date: 10-Oct-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLOS '13: Proceedings of the Seventh Workshop on Programming Languages and Operating Systems
November 2013
70 pages
ISBN:9781450324601
DOI:10.1145/2525528
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 November 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. big data
  2. cloud monad
  3. distributed programming

Qualifiers

  • Research-article

Conference

SOSP '13
Sponsor:

Acceptance Rates

PLOS '13 Paper Acceptance Rate 10 of 16 submissions, 63%;
Overall Acceptance Rate 17 of 32 submissions, 53%

Upcoming Conference

SOSP '25
ACM SIGOPS 31st Symposium on Operating Systems Principles
October 13 - 16, 2025
Seoul , Republic of Korea

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Optical Wireless System Performance, Deployment, and OptimizationEnabling 6G Mobile Networks10.1007/978-3-030-74648-3_9(293-328)Online publication date: 6-Nov-2021
  • (2020)The early history of F#Proceedings of the ACM on Programming Languages10.1145/33863254:HOPL(1-58)Online publication date: 12-Jun-2020
  • (2019)A fault-tolerant programming model for distributed interactive applicationsProceedings of the ACM on Programming Languages10.1145/33605703:OOPSLA(1-29)Online publication date: 10-Oct-2019
  • (2016)Function passing: a model for typed, distributed functional programmingProceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/2986012.2986014(82-97)Online publication date: 20-Oct-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media