camsas / firmament

The Firmament cluster scheduling platform
Apache License 2.0
415 stars 79 forks source link

Coordinated co-location (CoCo) scheduling policy implementation #32

Closed ms705 closed 8 years ago

ms705 commented 8 years ago

This PR merges the CoCo cost model and implementation changes required to make it work. It's a fairly large PR developed over the space of a month, but all changes to the core system are bugfixes or improvements compatible with other scheduling policies and cost models.

There are a couple of outstanding commits that improve performance and came via the evaluation experiments, and those will follow separately.

Code reviews for the PR are here.

ms705 commented 8 years ago

The Travis-CI build fails because we now rely on having Boost 1.55 available (for boost::upgrade_mutex, an MRSW mutex); the Travis environment runs 12.04 and cannot easily be upgraded.

We can address this in the future by either (a) building inside Docker in Travis, or (b) figuring out the runes required to make the Travis Ubuntu 12.04 use the right packages (they have a "boost-latest" PPA available, so if we can source the gflags/glog packages, it might work).

ms705 commented 8 years ago

Fixed the Travis-CI build by adding the boost-latest PPA.