Skip to content

Preemption fails in non-saturated multi-server resources #114

Description

@Enchufa2

Example:

library(simmer)

low_prio <- trajectory() %>%
  seize("res", 1) %>%
  timeout(10) %>%
  release("res", 1)

high_prio <- trajectory() %>%
  seize("res", 7) %>%
  timeout(10) %>%
  release("res", 7)

env <- simmer(verbose=TRUE) %>%
  add_resource("res", 10, preemptive=TRUE) %>%
  add_generator("low_prio", low_prio, at(rep(0, 5)))%>%
  add_generator("high_prio", high_prio, at(1), priority=1)%>%
  run()

get_mon_arrivals(env)
#>         name start_time end_time activity_time finished replication
#> 1  low_prio0          0       10            10     TRUE           1
#> 2  low_prio1          0       10            10     TRUE           1
#> 3  low_prio2          0       10            10     TRUE           1
#> 4  low_prio3          0       10            10     TRUE           1
#> 5  low_prio4          0       10            10     TRUE           1
#> 6 high_prio0          1       20            10     TRUE           1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions