i've added a resource estimator module to work with the cpuset isolator module. the estimator uses a poisson model to guess the next cpuset request amount. the estimator performs a "hard failure" when it looks like the next estimated cpuset request amount can't be assigned.
this implementation uses leveldb to pass information between the isolator and estimator modules. there didn't seem to be a particularly straight forward mechanism that provides modules the ability to communicate in process. with that in mind, is leveldb a sound choice or is there a more consistently used technique? leveldb's status as an optional mesos dependency was a driving factor in it's selection. i've read leveldb is threadsafe - which was an additional consideration. since modules are running in the agent, leveldb seemed to fit the bill. right now, leveldb is used to store serialized process::TimeSeries information generated by the isolator. The resource estimator deserializes process::TimeSeries data stored in levedb for it's poisson modeling. if leveldb was a poor choice, is mysql or berkely-db a better pick? if not, i'm open to ideas. thanks in advance for the help, feedback, comments, or suggestions. the project's source code is available here: https://github.com/ct-clmsn/mesos-cpusets happy new year, chris