Creating an EMOTIVE Scheduler

One of the key issues of EMOTIVE Cloud

is the simplicity for developing and adding new Schedulers. This post will explain the key steps in order to create a Scheduler that will run on top of EMOTIVE.

The first step is implementing the VRMMScheduler interface which specifies:

  • List<String> getNodes();
  • List<String> getLocation(String id) throws VRMMSchedulerException;
  • void nodeUp(String nodeId);
  • void nodeDown(String nodeId);

Implementing this methods the RM will be able to notify if a node managed by your scheduler is up or not and allows monitoring different metrics of the nodes.

The simple scheduler code example can be found at the SVN.

RM interface

In order to take beneffit of the EMOTICE Resource Monitor capabilities, it is needed to make the RM capable of managing your Scheduler, the first step is creating a client that implements the VRMMScheduler interface. From this point, you only have to reimplement the RM methods needed to support your scheduler.