Mesos is a platform that provides cross-framework resource allocation. The greatest challenge for cross-framework resource sharing is that various kinds of frameworks may have their own different scheduling. Mesos overcome this problem by adopting two-level scheduling mechanism called resource offers.
Framework of Mesos
Resource offer process
Mesos API function for schedulers and executors.
Using Mesos is especially useful when there are needs for different frameworks including various versions of them. Since Mesos is designed to interfere as least as possible, even new framework can be tested easily. This paper reported Mesos works surprisingly well on fine-grained tasks.
Mesos implemented several methods to keep its robustness such as revoke or rescinds. These methods seem naive compared to resource allocation within a framework. In other words, decentralized scheduler may not reach global optimum.
New things I learned
I didn’t know cross-framework resource sharing is possible.
In which area would Mesos be especially useful?