Mesos, Omega, Borg: A Survey
umbrant.com
umbrant.com
I've heard varied things about the use of Omega in production. The Borg paper mentions that it runs 98% of machines at Google, but that number is apparently dated. One person said that Omega runs all the batch work, and is being rolled out further. However, I've also heard it's being phased out.
http://blog.kubernetes.io/2015/04/borg-predecessor-to-kubern...
VFX has essentially the same problem to google: a huge bunch of tasks that need to perform all at once.
However VFX only tend to have one data center, so they don;t need or want clustered scheduler.
https://github.com/mikrosimage/openrendermanagement, Alfred and tractor from pixar, and framestore's FQ (which is faster and more efficient than Borg at job dispatch. ) Are a few good example of task management.
* There are users of these systems that get 90+% cluster utilization.
* Pre-emptable tasks (e.g., best effort scheduling vs guaranteed SLA scheduling) will be landing in Mesos.
* Mesosphere is building advanced scheduling plug-ins that will use the new scheduling models to do oversubscription of a cluster, helping to drive utilization to the 90%+ range without the need for any special tooling. You can get an idea of some of the algorithms being employed by checking out the Kozyrakis/Delimitrou Quasar paper[1].
[1] http://csl.stanford.edu/~christos/publications/2014.quasar.a...
http://www.slideshare.net/teemow1/container-orchestration
https://groups.google.com/forum/#!msg/coreos-dev/nHK8irdnmM0...
For those of us who are old school HPC people, it's probably more reasonable to think of Fleet as a dynamic always-running manifestation of xCAT or, perhaps, Fabric (of fabfile.py fame) or similar. For example, I've heard of people installing and running Mesos with it, which might seem like a bit of cluster scheduler self-satisfaction at first until one understands the reasoning.
Mesos can schedule resources for multiple different frameworks. It can run services with Marathon or Aurora frameworks. But it can also run cron jobs and batch pipelines with Chronos or Aurora. It can also schedule the distributed tasks for Hadoop or Spark.