Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unusual definition of makespan #69

Open
maelmadon opened this issue Nov 6, 2023 · 3 comments
Open

Unusual definition of makespan #69

maelmadon opened this issue Nov 6, 2023 · 3 comments

Comments

@maelmadon
Copy link
Contributor

I realized that the definition of makespan chosen for batsim outputs is max(finish_time) (https://batsim.readthedocs.io/en/latest/output-schedule.html?highlight=makespan#schedule ).
I think the most common definition is max(finish_time) - min(submission_time).

These definitions are the same if our time origin is 0 (first job submitted at t=0), but there is an offset otherwise.

Solutions proposed:

  • at least put a warning in the doc that this definition can be different from the commonly used
  • change the way makespan is calculated.

Personally, I don't see when the current definition can be better than the common one.

@maelmadon
Copy link
Contributor Author

This paper (Feitelson 1997) seems to be defining makespan as max(finish_time) ...

@adfaure
Copy link
Contributor

adfaure commented Nov 7, 2023

It depends on the use case I believe, in some cases you may want to include to your makespan the platform initialization.
In this case, max(finish_time) looks good. Otherwise, from scheduling perspective your update makes sens to me.

@maelmadon
Copy link
Contributor Author

We discussed about that this morning with @mpoquet ..
max(finish_time) is technically a DATE, not a duration. The makespan is a DURATION, the time needed to complete all the workload. So at least it should be conceptually max(finish_time) - TIME_ORIGIN.

In most cases, the origin is t=0 and my change doesn't make a difference. But I think in most use case the new definition is the most correct.. But indeed, people should recalculate the metrics they want, depending on their use case, we are just here trying to assume the most common use of makespan...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants