Skip to content

fraPace/cluster-scheduler-simulator

 
 

Cluster scheduler simulator overview

This simulator is forked from Cluster-Scheduler-Simulator by Google and contains the features introduces by Liang-Chi Hsieh in his fork.

This version of the simulator has gone trough a lot of fixes, refactoring and improvements. The original document can be located here. We recommend to read it before using this version.

Downloading, building, and running

To download this project you can clone this Git repository. Once cloned there are several ways to run it:

  1. follow instructions in the same section here

  2. if you have a Swarm or Docker deployment at hand, it is possible to launch it with the following command:

     $ bash bin/launch_on_container.sh
    

If you use option 2. make sure to update the variables inside the above script and to deploy the Docker Image here.

Simulators implemented

Currently the scheduler architectures supported are:

  1. Monolithic by Google
  2. Mesos by Google
  3. Omega by Google
  4. Spark by Liang-Chi Hsieh
  5. Zoe by Pace Francesco

Be aware that the scheduler simulators original code might be different after the refactoring and improvements, but the logic is the same.

Metrics

Plotted

Below there is a table that summarize the metric plotted for each scheduler simulator.

Monolithic Mesos Omega Spark Zoe
Avg Cell CPU Utilization
Avg Cell RAM Utilization
Avg Cell CPU Locked
Avg Cell RAM Locked
Busy Time Fraction
Conflict Fraction
Daily Busy Fraction Median
Daily Conflict Fraction Median
Failed Task Allocation
Jobs Unscheduled
Jobs Scheduled
Jobs Fully Scheduled
Number Jobs Timed Out
Number Pending Jobs at the End
Retried Transactions
Task Conflict Fraction
Wait Time Before First Task
Wait Time Before All Tasks
Avg Job Execution Time
Avg Job Completion Time

About

No description, website, or topics provided.

Resources

License

BSD-3-Clause, BSD-3-Clause licenses found

Licenses found

BSD-3-Clause
LICENSE_BERKELEY
BSD-3-Clause
LICENSE_EURECOM

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 53.9%
  • Python 29.8%
  • Jupyter Notebook 12.4%
  • Shell 3.9%