MBrace framework is an open source software framework ,initiated by Nessos experts, for developing big data algorithms that will execute on a private or public cloud. It is similar to Hadoop in functionality but its main difference is that it is not confined to the map-reduce programming paradigm.
Specifically, MBrace framework is taking care of all things that have to do with task orchestration and data flow between computer nodes, allowing the user to deal just with the algorithm that he wants to execute. Moreover, it abstracts the underlying cloud infrastructure which means that any code developed using MBrace framework can either run on a private or a public cloud that is supported. It is also providing the MBrace framework shell where someone can delve into REPL style programming which enables fast code prototyping in a cloud scale. Moreover it enables you to monitor your computer nodes, deploy new code and get information about the jobs that are currently executing. MBrace framework is both a framework, comprised of libraries, tools and patterns, for developing cloud applications and a platform – runtime for deploying, running and managing cloud applications. Essentially, the framework provides a language for developing applications and the platform provides a runtime that executes them, much in the sense of a distributed CLR or JVM.
The MBrace framework Runtime makes sure that any executing process is fault tolerant. If any of the computational resources of the underlying platform fail, e.g. the underlying cloud platform suddenly decides to apply a security patch on a node and recycles it, during execution, the processes depending on the computations that are lost will not fail. Depending on the particular circumstances of computational load, the computations could be replicated over different nodes and thus the result would be available from at least one of those, or they would simply be restarted.
Mbrace mainly addresses the following issues of cloud programming:
- Message passing
- Distributed exception propagation and handling
- Ad-hoc tracing and debugging at run-time
- Platform heterogeneity
- Code maintenance and versioning while maintaining availability
- Machine failure handling while maintaining availability
Please visit our web site at m-brace.net
for more information.