ndmitchell / rattle

Forward build system with speculation and caching
Other
102 stars 5 forks source link

A model for rattle. #14

Closed spall closed 5 years ago

spall commented 5 years ago

A model which is meant to emulate Rattle's behavior and make it easy to write various scheduler policies and compare them.

I had to make some changes to the current Rattle behavior to support the Conservative scheduler and the issues around speculation only commands interacting with required commands. I think the biggest changes were storing a list of reads/writes for each file instead of compacting them, so we can discover all hazards for a file instead of just the latest one.

I'll take a look at this again to see if it can be simplified; it got more complicated as I changed features.