Skip to content
This repository has been archived by the owner on Mar 31, 2023. It is now read-only.
David Gross edited this page Aug 6, 2015 · 12 revisions

Fenzo is a generic task scheduler Java library for Apache Mesos frameworks that allows you to optimize the scheduling of tasks by using plugins that implement a variety of optimization strategies.

Apache Mesos frameworks match and assign host resources to pending tasks. Fenzo presents a plugin-based, generic Java library that facilitates scheduling resources to tasks by using a variety of possible scheduling objectives, such as bin packing, balancing across resource abstractions (such as AWS availability zones or data center racks), and resource affinity.

Fenzo is not a Mesos Framework

The Fenzo library can be used by Apache Mesos frameworks, however it is not another framework. Fenzo focuses on scheduling of resources to tasks and on task placement optimizations. Fenzo takes as its input the resource offers that a framework receives from Mesos and the tasks that are given to the framework. The output from Fenzo is a task assignment result that is based on scheduling objectives that you establish with various scheduler plugins. Your framework then can use these assignments to guide it as it launches tasks on the assigned hosts by means of its Mesos driver.

Libraries

  • fenzo-core — the core scheduler library for Apache Mesos frameworks
  • fenzo-triggers — utility library for setting up triggers based on cron-style specification