|
|
|
|
|
by readdcft
3731 days ago
|
|
Experience with Rules-Based Programming for Distributed, Concurrent, Fault-Tolerant Code The paper’s third contribution is to demonstrate the value of the rules-based approach. Rules allowed us to solve a wide range of problems in RAMCloud using a small amount of code (only 30-300 lines of rules-based code for each DCFT module). Rules are also efficient: when used in the critical path of RAMCloud’s write operations, rules overheads account for only about 200-300 ns out of the total write time of 13.5 μs. The rules-based approach is a specialized form of an event- driven state machine, but it results in cleaner factoring and simpler code than the traditional approach to state machines. We reimplemented the scheduler for Hadoop MapReduce (which uses the traditional approach) using rules; our rules-based implementation replaced 163 state transitions with only 19 rules. https://ramcloud.atlassian.net/wiki/download/attachments/684... EDIT: the code behind that paper appears to be here: https://github.com/PlatformLab/RAMCloud/blob/master/src/Inde... |
|