Page 1 of 2

Four-way roundabout junction (hopefully deadlock-free)

Posted: Tue Mar 20, 2018 9:38 pm
by bbc
I use the same blueprint for all my junctions for simplicity. My initial junction was a simple roundabout but, as the number of trains increased, I realized deadlocks could occur. I then upgraded to a new version which I'm sharing with you here. It's quite compact, enables U-turns and should be efficient because trains can use it simultaneously in many cases.

I think it's deadlock free but if it turns ou it's not, or if you think of ways to improve it, I would love to hear about it.

Image
Blueprint string

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Wed Mar 21, 2018 5:24 pm
by pcsh
I'm facing the same problem at the moment and haven't found a solution yet.

I think in your blueprint will arise a deadlock when there are 4 trains keeping straight ahead. Then this would happen:
Deadlock.png
Deadlock.png (630.41 KiB) Viewed 25860 times

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Wed Mar 21, 2018 11:15 pm
by bbc
I think you're right, a deadlock could indeed happen at the center. Although it should be rare compared to the kinds of deadlocks that this roundabout design protects against, your point is a good one.

An obvious but inefficient fix would consist in turning the whole center into one exclusion zone (removing the signals on the sides and placing them at each of the four exits instead). No deadlock then but, unfortunately, in such a case, two trains in opposite directions wouldn't be able to go through that center simultaneously.

OK, so in my version, the center has 8 signals (four corners and four sides). What about replacing the signals on the sides with chain signals? It could work, right? I'll try that when I have the time.

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Thu Mar 22, 2018 10:45 am
by dood
For junctions, you only put chain signals at the start and throughout them so the train stops in front of it if whatever pathing chosen isn't free and not mid-junction, which is how deadlocks happen.
Regular signals mark the exit.
So:

Image
Blueprint string
Your junction also seems needlessly complicated with no discernable benefit over something much simpler like this one, unless you have trains constantly U-turning which is usually not the case.

Image
Blueprint string

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Fri Mar 23, 2018 11:46 pm
by bbc
Thank you for the advice, that's indeed a lot better like that. Chain signals keep amazing me.

My junction is quite overkill, I have to agree, but I'd like to point out it should also improve the concurrent use of the roundabout for left turns, not just U-turns.

Anyway, your design is probably enough for most of my junctions. I'm curious why it's absent from viewtopic.php?f=194&t=46855. It seems worth it to me!

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Sun Mar 25, 2018 12:34 pm
by dood
Both junctions only allow for one left turn since turning left uses 3/4 of the roundabout, however yours allows for concurrent roundabout use and right turns. I think that is what you meant by "improve the concurrent use of the roundabout for left turns"?
I can add that functionality to mine by adding your right turns before the roundabout part.

Image
Blueprint

There's no need to connect them to the roundabout tho. If trains pick that path, they are committed to go right and they should always pick that over the roundabout too since the distance is shorter.

Also the straight rail part was only in there to keep me from barfing when riding a train myself, it doesn't have any effect on throughput other than a negligibly longer distance due to the curvature.
I left it out to make it as simple as possible.

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Thu May 24, 2018 10:49 am
by mrvn
Note that when you enable/disable stations you will eventually get trains stuck in the turnaround trying to do a 270° turn that crosses their own path.

It's a bug in the game with any small turnaround.

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Thu May 24, 2018 3:35 pm
by steinio
mrvn wrote:Note that when you enable/disable stations you will eventually get trains stuck in the turnaround trying to do a 270° turn that crosses their own path.

It's a bug in the game with any small turnaround.
It's a myth so far and should be fixed.

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Thu May 24, 2018 5:40 pm
by quyxkh
If trains remembered the last signal type they flipped red, just a binary "in chained path" indicator would do it, and chained-path trains were marked "repath pending" instead of repathing immediately, I think that'd do it.

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Thu May 24, 2018 11:35 pm
by zOldBulldog
mrvn wrote:Note that when you enable/disable stations you will eventually get trains stuck in the turnaround trying to do a 270° turn that crosses their own path.

It's a bug in the game with any small turnaround.
Wouldn't a train need to be pretty long to cause such a deadlock?

I kind of like dood's last design and it seems unlikely to me that a 1-2 train could deadlock. Or am I failing to notice something?

But I think I would make those external branches just a bit bigger, so that a full 1-2 can fit in it, reducing the number of blocked paths.

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Mon May 28, 2018 10:27 am
by mrvn
quyxkh wrote:If trains remembered the last signal type they flipped red, just a binary "in chained path" indicator would do it, and chained-path trains were marked "repath pending" instead of repathing immediately, I think that'd do it.
They already do, that was added in 0.15.27 iirc. But this is not used when deactivating stations, which is the bug that remains.

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Mon May 28, 2018 10:32 am
by mrvn
zOldBulldog wrote:
mrvn wrote:Note that when you enable/disable stations you will eventually get trains stuck in the turnaround trying to do a 270° turn that crosses their own path.

It's a bug in the game with any small turnaround.
Wouldn't a train need to be pretty long to cause such a deadlock?

I kind of like dood's last design and it seems unlikely to me that a 1-2 train could deadlock. Or am I failing to notice something?

But I think I would make those external branches just a bit bigger, so that a full 1-2 can fit in it, reducing the number of blocked paths.
What you fail to notice is that a train reserves all chain signals along it's path until it hits a full signal. A small roundabout is all chain signals all around. Any path that crosses itself is therefore crossing a block that is already reserved or blocked.

Now there are 2 cases here: 1) before entering the roundabout the block is only reserved (yellow) and crossing it again is allowed. A long train will then happily crash into itself. 2) when repathing while inside the roundabout the block is taken (red) and can't be reserved again. The train, even a short one, will not move at all because it can't reserve the block it is standing on.

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Mon May 28, 2018 11:57 am
by zOldBulldog
mrvn wrote:
zOldBulldog wrote:
mrvn wrote:Note that when you enable/disable stations you will eventually get trains stuck in the turnaround trying to do a 270° turn that crosses their own path.

It's a bug in the game with any small turnaround.
Wouldn't a train need to be pretty long to cause such a deadlock?

I kind of like dood's last design and it seems unlikely to me that a 1-2 train could deadlock. Or am I failing to notice something?

But I think I would make those external branches just a bit bigger, so that a full 1-2 can fit in it, reducing the number of blocked paths.
What you fail to notice is that a train reserves all chain signals along it's path until it hits a full signal. A small roundabout is all chain signals all around. Any path that crosses itself is therefore crossing a block that is already reserved or blocked.

Now there are 2 cases here: 1) before entering the roundabout the block is only reserved (yellow) and crossing it again is allowed. A long train will then happily crash into itself. 2) when repathing while inside the roundabout the block is taken (red) and can't be reserved again. The train, even a short one, will not move at all because it can't reserve the block it is standing on.
Oh wow, thanks for the explanation.

I think that definitely falls in the design shortcomings category.

I can't think (yet) of how they would about programming it, but if the human mind can simply look at the intersection and realize that the long train woul crash (and choose a path to avoid it) or repathing a short train while in the roundabout... then it means that there might be a way to improve the game pathing logic.

If our brains can do it, then by definition there is a solution for code, even if not obvious. I hope the devs can figure it out.

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Mon May 28, 2018 3:11 pm
by mrvn
Actually the last few messages made me think. A roundabout is not the only situation where a train needs to cross a block twice:

Assume a setup like this and consider the track going straight.

Code: Select all

     ____________
--c-/-c---c----c-\-s--
   /              \
The crossing track makes the 2 blocks of the crossing be the same block. So what happens when a train stops at the crossing and repaths? It should get stuck just like in a roundabout.

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Mon May 28, 2018 4:25 pm
by nuhll
I just looked at the first picture and instant saw this is not deadloc free.

You need to do a normal signal at every end (where train leaves junction)
And you need a chain signal at every start (where train goes into junction)

After the junction there need to be a space ATLEAST that big (with normal signs) so that the biggest train u have can fit.

thats the most important, and then so many chain signals as u can fit :P (to segment the junctions, so that maybe 2 or 3 trains can drive at same time)

When im home and dont forget it, i might look at ti. Im searching for a better roundabout some time now, and im too uncreative to get something nice looking...

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Mon May 28, 2018 7:02 pm
by zOldBulldog
I need to spend some time thinking. My instincts are screaming at me that I should be able to make something quite viable, deadlock free and nice for at least 1-2 trains as a derivation of dood's design.

But I'm on vacation at a diving island so my computer time is very limited.

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Mon Jul 02, 2018 9:04 pm
by RulerOfHeck
Have you looked at the 2 lane designs in this thread? There are many and they have been tested: viewtopic.php?f=194&t=46855

The ones with the highest throughput all (?) have buffers: they allow trains to enter a stretch of track to wait until the path is clear. This enables other trains behind it to move, unless it's heading the same way.
The chain signals are key for the health of the train network: use a chain signal when you enter a junction (that is smaller than a train length), use a regular signal when you exit. If all sections are one train length long, a train will never block the junction it exits.

Here is a 2 lane, 8 way, 5 unit roundabout. For inspiration or deterrent :D

Code: Select all

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

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Wed Jul 04, 2018 1:52 pm
by zOldBulldog
I modified dood's design slightly by making the right turns a little bigger. This version fully fits a 1-2 train, so that a train waiting on the turn won't block the way into the roundabout portion.

While one of the high performance and deadlock free intersections from viewtopic.php?f=194&t=46855 would probably be better for very high throughput situations, those designs typically require much more space.

This one is a good compromise if you are using 1-2 trains. Compact, attractive, simple, has minimum-wait right turns, and ought to avoid deadlocks reasonably well. Time should tell.

Oh, and it is chunk-aligned, so it should fit well with chunk-aligned rails systems that make placement easier.
roundabout.jpg
roundabout.jpg (428.14 KiB) Viewed 24605 times
Blueprint:

Code: Select all

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

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Fri Dec 27, 2019 5:45 am
by Omnifarious
I just created a 4 way roundabout junction that isolates the inner and outer rings.

I don't have a picture handy, but here's the blueprint string:

Code: Select all

0eNqdWtlO20AU/Rc/J2ju7JNfqVBFwaKWwKAkoCLEvzcLcQm57pwzTygQH47vvr13vx5e+uf1MG671Xs33D6Nm271473bDPfjzcP+d9u3575bdcO2f+wW3XjzuP+0vhkeuo9FN4x3/Z9uJR/Xi64ft8N26I/PHz68/RxfHn/1690XpidvX9av/d3yALDonp82u2eexv0/2uEsZffFt/3PtAO/G9b97fGv4WNxgWnP2Cxvf98M4/KTt4Z8FY7Y1lyFDwXPUXihBufb4KTs4M7e3SrgYQLfbHfw97+3cxL1J5Yax0hxNBzHhHK0/6OYGYqOY1jOsauoB1WfoXoFVQxm7EU3dRVSMKaFZGpBt5yhGjVMx5qm5LqmxDegaji441iCXURRDQHK+s/MG2ceps6tYIaTdLtxWjQ3sGbkxNSfwyYNFs08p8DhgMRjG0N71DOFdRhHp1PUPNv6trAZkbBhYScSo2tKNNSI1ggnq5K6odqEW9UpcFjAqjIP6wEfKFxJ4ye9+e960yTsTGO6d0gydQJbxYz/ar7mwBQlQTcKTXvO0UwtIF3K5cTO604zDRewCuCQ+U+igNTGul0BRJHIoCv1usJlLkgKINPC2VZRy3zKqSRz2vGwUy3zETfX7d9z+WsqKgsSZLxjGYupq8rD9V/UQbXY4gMJmoHXp1qqNCtaVQioW8mnEyAGlsnOHDGBgmdHo0pWe/vAtVVqpRVgd9K9SbOigGYoXYCagwZuFCGThwa9wAyeTh4BmkKgSWlfVzK4lBP9K4Mw8ESBp1lwrTQOuS0bYMxxv7KffuXrqJFovDKOKg2oGo6Fa7WIk3M8qAYDJyVGcKHR90X3/RhpRVgVh3Mb+Uqr6jYxswrRORb2XdWRY+L6JJna55lJcCKn30B/nyyTDIGZRmJdQpecb4ut0LQyBTb8WWBITbuHankp8TB1bpmr91y9iEqFKlZcvS/LhjQc4MWz0JgaiiXDM8KssTJzemTI3JJoKs8uBjKqZgLX2QN7iMwtjKayD+Ob2LYh1nuRnLmKP9ar88yNDYBNZjFN9S4k1QKujqZaFEO1TYHeIXG+sBOECEjYUxOpUreCEkiWwPCgRGbGVYAFZ+ImHMDwqGQOMtaTUilcoCp1SDGmacaVroD2XAy3VBJRF3PGMtr+PtAUFdK1TJ8uXjqo2J4KewVYFZvQlv4KEqLERHZJgwwNxdArJWR7ICaTSwlkTyWmsKjAMFbEkDkFU5iQfZKoNZWIZTfJ30Wp6l1c23Juv+kBNCWeusUQCDM0LfwuVxO6uiJzBCDAgEskMW2tALNowe8fPovK78age0BpWvZd2oJqatY0HRgcNokqnrRcA1wuJvUbIkue5kjUSToep25R1pMHPxhq4A5+MNDIXerMyTHRMAC3jE76T4O/fezX+YFXd//Meg7JNbpJgsIbfs9wskf9/sqRd6okS0dqe4Zk073QQTP1COFCEzgoAGokUf7D/HpxPHJefbmJXnSv/XpzzLDOSIlWXNr53V/LtLL8

Re: Four-way roundabout junction (hopefully deadlock-free)

Posted: Thu Mar 19, 2020 5:21 am
by Memesicle Kickflip
dood wrote:
Thu Mar 22, 2018 10:45 am
Your junction also seems needlessly complicated with no discernable benefit over something much simpler like this one, unless you have trains constantly U-turning which is usually not the case.

Image
I would change the straight-through tracks to directional left turns (BP).

Code: Select all

0eNqlmtlO40AQRf+lnx3U+5JfGaFRCBZYAoOSgAah/Ps4OMmQUB7faz8hlhyqa+na+lPdPb3Vr5um3anlp2rWL+1WLX99qm3z0K6eDj/bfbzWaqmaXf2sKtWung/fbVbNk9pXqmnv6z9qafa3larbXbNr6v7zX998/G7fnu/qTfcH509ud91nHx53iy9EpV5ftt2nXtrDv+pIC1+pj+6Lyft99QNjUcx/Ke5MWb9t3uv7IVHCEeK6g943m3rd/zIISA8inYz0AjJgSIcLGTFiwGVMFw6xWD+umnZxdJ2fh9c3Z/RNuIRbAZ5JM5lLZBSQBfUffWTacTGN5tR6JaaTkIbSaznptVyr1UhwOIgWucfmS2iSoI6FGg3owbP20uNRYAIJRY4fKYPZQYOJ8DRPYNEJ8kzNiuYqjBaGlSBZzWpU4Iy7gjUkFNCstYwShkNXUrBFM5c5ZgXglrVo6jpcSgJT1AEcYgsj+6x4+ghTbQ+N48FlEwtFJIWjS2aKvlpIZhy3k4ODasBMkqDOYA71z58kiAUhsqNLlnaOrUE9APUsNI67jwtkmRsBq0SS6QH3wWPHZJEqXUguk5ecAzQKB88i9lA7bnuvWagfl9RzpZ875Q+HJFEPl36ywCLTMQIPyytq2JPy2nGn9YG7Wdx4V+Hh2CLCwCc2h2rg8Jks0zVgpDKtWbFIxRM021dYAMqWfXY8DILlmICxgiOzM2Cs4CdVpxZpLEPgLm43HgSB66vM6XrRN2JVEYiYskeVSpiZUST6T5kZ7pKjRzZ6gPszksEDJNJo5zm6OOtys+JR1KanMocDDg4Xev9zx0gFyTlGDuO48QlfTFx7iCDzpIRhkQonsoUecLUnts4DSudkuMoGaEUSWdwBiTI5qpUD7JMm5R+LFIspsN0IUIWlyOU0oKRJiWwZgSI8ZZIJDAdSmdSJOKSsy5rrRoFBTjZT+hCHFDaZXDsBbV52VC4J401I9mQTAnh/pud4wIA0s2M8YLqR2SkeIic5xAPWBJmc4QGzosKO8AAxiyHLRmAqWNitkwE6pMJtcq9Xb+LZyZUTcnRy4WSAPq7EeUxRm2nW0UXvzMxu9No+0pVUClfXI8o0mlwuASc3etoOF9sIass5vtuLFEe9Wrh+ECDuFbWftAnFNteaehMxdOo4ZUsJ7eeMTpS/QwrNUypmaKdqNPkeAnoO8e09BCDw6U3IzychUYSzD4nkF0DGkCXdAXNb9Y+glt/eTFXqvd5s+0BNrosom7Pr/O4v4Sc+YQ==