The {m}brace framework is a .NET based software stack that enables easy large-scale distributed computation and big data analysis.
In short, {m}brace offers the following things:

  • A new paradigm for programming declarative and concise distributed algorithms.
  • A scalable execution runtime that can handle cloud applications either inside private data centers or service providers like Windows Azure or Amazon EC2.
  • Comprehensive tooling and libraries that enable interactive, REPL-style deployment, monitoring, management and debugging of cloud computations, all without ever leaving the Visual Studio IDE.

A cloud framework for .NET

{m}brace offers solid and seamless integration with the whole .NET ecosystem. Libraries written in any CLS-compliant language and {m}brace APIs are easily accessible and interoperable without marshalling issues or any other cost.


The {m}brace framework provides an elegant programming interface that permits high-level declaration of distributed algorithms. Its use of simple combinators makes it possible to compose complex parallelism patterns (sequential composition, fork/join parallelism, nodeterministic searches, local execution, etc). The {m}brace runtime will interpret such cloud expressions and transparently allocate workers for pending jobs.

As an example, the following snippet computes a sum of squares in a parallel fashion:

cloud {
   let jobs = [| for i in 1 .. 100 -> cloud { return i * i } |]
   let! results = Cloud.Parallel jobs
   return Array.sum results

Visual Studio integration

The {m}brace interactive Shell is an F# interpreter that enables on-the-fly declaration and deployment of cloud code that also doubles as an administrator console for the {m}brace runtime. And since it all seamlessly integrates with Microsoft’s Visual Studio, the cloud can be fully utilized without ever leaving the IDE environment.

Library Support

The {m}brace programming paradigm enables the rapid creation of flexible and generic library functions. {m}brace ships with an open-source library that includes variants of map-reduce and nondeterministic search combinators.


The {m}brace runtime is responsible for scheduling cloud applications in the data center. It supports multiple, concurrently executing and isolated cloud processes that can be managed much in the sense of a task manager in the cloud. The runtime can handle elastic computation scenarios and offers fault tolerance against hardware failure.


The framework fully embraces the power of functional programming and the F# language in particular. The use of F# computation expressions enables elegant and sequential-like declaration of distributed algorithms, in a pattern known as the cloud monad. The {m}brace paradigm encourages cloud programming in the functional style, supporting higher-order functions, declarative workflows, distributed algebraic data types and LINQ-style queries. The codebase of {m}brace itself is fully written in F#.


  • 100% .Net based.
  • Strictly more expressive than most map-reduce frameworks.
  • Functional programming principles.
  • Interactive development style.
  • Seamless integration with Visual Studio.
  • Designed for private and public clouds.
  • Out-of-the-box support for Windows Azure

See Also