Jump to content

MBrace

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Gf uip (talk | contribs) at 09:55, 27 August 2015 (Add citation). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

MBrace
Original author(s)Nessos Information Technologies SA
Stable release
0.9.14-alpha June 2015 / June 2015 (2015-06)
Written inF#
Operating systemAzure, Windows/.NET, OS_X/Mono_(software)
Typebig data / big computation framework
LicenseApache License 2.0
Websitewww.m-brace.net

MBrace[1] is a .NET open-source framework and runtime which introduces a novel programming model for performing large scale computations in public, private and hybrid cloud computing environments. MBrace is inspired by the programming paradigm of asynchronous workflows as introduced in the F# programming language while borrowing ideas from CloudHaskell and HdpH. MBrace is written entirely in F# and provides bindings for F# and C#.

Overview

MBrace is a programming model and framework powered by the .NET software stack that is suitable for distributed programming. Based on the F# programming language, it offers an expressive and integrated way of developing, deploying and debugging large-scale computations running in cloud environments.[2] MBrace is capable of distributing arbitrary code and offers native access to the rich collection of tested libraries offered with the underlying .NET framework. MBrace draws heavy inspiration from the Haskell community, especially from the work on concurrency/parallelism and shares many similar ideas with the HdpH project. Its programming model is founded on the premise that monads, in a recursive higher-order language, offer a rich substrate for expressing many different kinds of algorithmic patterns (i.e.: MapReduce, streaming, iterative or incremental algorithms) which can be defined at the user level as libraries, without the need to change any underlying runtime infrastructure.

Distinguishing features

MBrace offers a series of unique features such as:

  • Bigger scope: MBrace provides a unified experience for authoring various kinds of algorithms. While other frameworks focus on more specific algorithms or patterns (e.g. MapReduce, actors). MBrace provides such algorithms as extensions (i.e.: the workflow library implementing MapReduce) which can be combined and tweaked by the users.
  • Centralized deployment, monitoring and debugging: MBrace provides a shell that can be used for centralized monitoring and deployment without the need of batch files, manual copying, etc.
  • Concise and succinct algorithm development: The code developed using MBrace is not cluttered by orchestration details which makes code maintenance and debugging less cumbersome while its programming model enables less experienced users to tackle with big data and HPC algorithms.

References

  1. ^ Dzik, Jan; Palladinos, Nick; Rontogiannis, Konstantinos; Tsarpalis, Eirik; Vathis, Nikolaos (November 3, 2013). "MBrace: Cloud Computing with Monads" (PDF). PLOS’13. doi:10.1145/2525528.2525531.
  2. ^ Tsarpalis, Eirik George (March 30, 2014). "MBrace: Cloud Computing with F#". slideshare.net. Retrieved August 27, 2015.