Skip to content

Instantly share code, notes, and snippets.

View liuchang0812's full-sized avatar

Chang Liu liuchang0812

  • Wechat
  • Shenzhen
View GitHub Profile
@Preetam
Preetam / fdb-flow.md
Created February 3, 2016 15:33
FoundationDB Flow

Flow: Actor-based Concurrency with C++

Engineering challenges

FoundationDB began with ambitious goals for both high performance per node and scalability. We knew that to achieve these goals we would face serious engineering challenges while developing the FoundationDB core. We'd need to implement efficient asynchronous communicating processes of the sort supported by Erlang or the Async library in .NET, but we'd also need the raw speed and I/O efficiency of C++. Finally, we'd need to perform extensive simulation to engineer for reliability and fault tolerance on large clusters.

To meet these challenges, we developed several new tools, the first of which is Flow, a new programming language that brings actor-based concurrency to C++11. To add this capability