cloudsimplus / cloudsimplus

State-of-the-art Framework 🏗 for Cloud Computing ⛅️ Simulation: a modern, full-featured, easier-to-use, highly extensible 🧩, faster 🚀 and more accurate ☕️ Java 17+ tool for cloud computing research 🎓. Examples: https://github.com/cloudsimplus/cloudsimplus-examples

Home Page:https://cloudsimplus.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Provide a more realistic time-shared scheduler to overcome the oversimplification of the CloudletSchedulerTimeShared

manoelcampos opened this issue · comments

FEATURE:

The CloudletSchedulerTimeShared doesn't performs processes preemption and considers that even when there are more Cloudlets than Virtual PEs, all Cloudlets will execute at the same time. For instance, if there are 2 Cloudlets and just 1 PE, all Cloudlets will run simultaneously, using just 50% of the PE capacity each one. This oversimplification causes some issues as is described in #33.

Thus, a more realistic time-shared scheduler must be provided that really implements process preemption. Such a new CloudletScheduler might implement the Completely Fair Scheduler used in recent Linux Kernels.

Detailed information about how the feature should work

The Completely Fair Scheduler must perform task preemption based on Cloudlet priority, allocating different time slices according to the priority.

An example scenario where this feature should be used

The new scheduler could be used to assess the efficiency of actual schedulers such as the Linux Scheduler and investigate how such a scheduler could be improved.

A brief explanation of why you think this feature is useful

It will enable creating more realistic simulation scenarios, resulting in more accurate outcomes.

Update

This issues was closed by commit d5768cd, that introduces the CloudletSchedulerCompletelyFair, and it was released on version v0.8-beta.5.

Example using this feature