{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Scheduling" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The objective of the scheduler is to assign jobs to resources. The scheduler policy is what determines the rules that dictate how to conduct this mapping under various objectives: makespan, slowdown, energy consumption, and many others. Batsim allows us to evaluate the scheduler performance under distinct scenarios and workloads. Thus, the objective of this tutorial is to demonstrate how this can be done with batsim-py. \n", "\n", "The following tutorial is organized as follows. [Section 1](#1.-Simulation-Inputs) presents the simulation input (platform and workload). [Section 2](#2.-Schedulers-Definition) details the scheduling policy implementation. [Section 3](#3.-Simulation-Process) presents the simulation process. Lastly, [Section 4](#4.-Results-Discussion) presents the results and discusses the advantages of each scheduling policy evaluated." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Simulation Inputs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To evaluate the scheduler performance, we must define a platform and a workload. The platform describes resource characteristics (performance, energy consumption, ...) and the network. The workload describes job characteristics that will simulate user behavior. Optionally, we can also define some external events to setup when machines become unavailable/available but this isn't necessary and won't be discussed here." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "