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

permit loading extra deadlock checks from file #15569

Open
namdre opened this issue Oct 9, 2024 · 0 comments
Open

permit loading extra deadlock checks from file #15569

namdre opened this issue Oct 9, 2024 · 0 comments

Comments

@namdre
Copy link
Contributor

namdre commented Oct 9, 2024

Railway deadlocks can occur when the graph of trains waiting on other trains contain a circle.

  • identifying an arbitrary circle before it is closed by a specific signal action is also costly (in particular because the train in question may have an arbitrary number of green signals to pass before the circular waiting comes in effect, and yet the circle condition may be unavoidable at a later point. See the algorithm of stacked reservations (https://leopard.tu-braunschweig.de/receive/dbbs_mods_00037775), reservation stacks grow as the square of the number of vehicles
  • deadlocks are a rare occurrence in the scenarios currently being investigated (most of the trivial two-vehicle deadlocks are eliminated by the driveway-foe pre-computation)
  • identifying all possibly circles at the start of the simulation (similar to the existing features for sidings ([branch7578] identify sidings for reasoning about bidirectional passing #15474) is deemed too costly as the number of circles grows strongly with the network size
  • loading a "relevant" set of deadlock checks (i.e. as obtained by detect signal based deadlock #15561) should help to eliminate remaining deadlocks for repeated simulations on the same network infrastructure without incurring too much runtime cost.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant