![JAR search and dependency download from the Maven repository](/logo.png)
org.cloudsimplus.schedulers.package-info Maven / Gradle / Ivy
/**
* Provides processor schedulers implementations to enable multiple
* processes to run on some CPU cores ({@link org.cloudsimplus.resources.Pe}).
* Consider a process being a {@link org.cloudsimplus.vms.Vm} running inside a
* {@link org.cloudsimplus.hosts.Host} (PM) or a
* {@link org.cloudsimplus.cloudlets.Cloudlet} running inside a VM.
*
* A scheduler is used manage the execution of VMs inside a PM
* and Cloudlets inside a VM. Since a PM can host multiple VMs and a VM can host multiple Cloudlets,
* such schedulers defined the policy used to allow sharing CPU time among such processes.
*
*
* For Cloudlet and VM schedulers there are different implementations such
* as time- and space-shared schedulers.
* A time-shared is a multitasking scheduler that share CPU time among processes
* if there are more processes than CPU cores.
* A space-shared is a non-multitasking scheduler that DOES NOT share CPU time
* among processes. Thus, if there are more processes than CPU cores, some processes
* will have to wait until other ones finish to start executing.
*
* The choice of a given scheduler usually depends on desired goals
* and different implementations may provide more or less accuracy
* in how the processes are scheduled, what usually impacts the simulation overhead.
*
* @author Manoel Campos da Silva Filho
*/
package org.cloudsimplus.schedulers;