« Sponsored Post: Contentful, Stream, Loupe, New York Times, Scalyr, VividCortex, MemSQL, InMemory.Net, Zohocorp | Main | Stuff The Internet Says On Scalability For January 13th, 2017 »
Tuesday
Jan172017

Wouldn't it be nice if everyone knew a little queuing theory?

After many days of rain one lane of this two lane road collapsed into the canyon. It's been out for a month and it will be many more months before it will be fixed. Thanks to Google maps way too many drivers take this once sleepy local road. 

How do you think drivers go through this chokepoint? 

 

 

One hundred experience points to you if you answered one at a time.

One at a time! Through a half-duplex pipe following a first in first out discipline takes forever!

Yes, there is a stop sign. And people default to this mode because it appeals to our innate sense of fairness. What could be fairer than alternating one at a time?

The problem is it's stupid.

While waiting, stewing, growing angrier, I often think if people just knew a little queueing theory we could all be on our way a lot faster.

We can't make the pipe full duplex, so that's out. Let's assume there's no priority involved, vehicles are roughly the same size and take roughly the same time to transit the network. Then what do you do?

Why can't people figure out its faster to drive through in batches? If we went in groups of say, three, the throughput would be much higher. And when one side's queue depth grows larger because people are driving to or from work that side's batch size should increase. 

Since this condition will last a long time we have a possibility to learn because the same people take this road all the time. So what happens if you try to change the culture by showing people what a batch is by driving right behind someone as they take their turn?

You got it. Honking. There's a simple heuristic, a deeply held ethic against line cutting, so people honk, flip you off, and generally make heir displeasure known.

It's your classic battle of reason versus norms. The smart thing is the thing we can't do by our very natures. So we all just keep doing the dumb thing.

 

Reader Comments (24)

The problem is the Stop sign. By *law* you have to come to a complete stop at the stop sign, so then you'd have to race to catch up with the person that went in ahead of you which are probably close to exiting now.

So it's not reason versus norms. It's an inefficient law.

January 17, 2017 | Unregistered CommenterMark Fowler

I've noticed people are quite capable of ignoring laws when it suits them :-)

January 17, 2017 | Registered CommenterHighScalability Team

The problem is money. Construction crews regularly institute ad-hoc batching policies via 2 workers, 2 stop/go signs, and 2 walky-talkies ... but that costs money.

Ad-hoc traffic-lights on both sides that stay green for 20-25 seconds would speed things up, but again that costs more than two stop signs.

A simple sign like "Cars may proceed through stop sign in batches of four" in black on white on both sides may solve this. You could break the law and put such signs up :)

January 17, 2017 | Unregistered CommenterRussell Sullivan

You could contact your county or state DOT (or equivalent) and suggest this to them. In cases like this, often for extended bridge construction in my state, the county deploys a temporary traffic light that lets through cars in exactly the method you speak of. In fact, the bias can be offset based on a schedule; longer green light in the morning for, say, east bound traffic, then longer green for west bound in the evening.

January 17, 2017 | Unregistered CommenterStan

We have those lights too Stan, though I didn't know they could be set for certain time periods.

My guess is they don't use a light here because the distribution of traffic is odd. For the most part during the day there's little traffic and there's no waiting. So the light would add a potentially long delay for everyone. Then during the evening or morning the lines can get very long. A tough choice.

January 17, 2017 | Registered CommenterHighScalability Team

I thought of putting a sign up Russell, but I wimped out. Too much potential liability.

January 17, 2017 | Registered CommenterHighScalability Team

They could have the light blink red most of the day, and then switch to red/green operation during commute hours. As usual, the major barrier to improving the situation is not technology but politics. It's cheap and easy to put up a stop sign. It's expensive to put up a light. Your local government won't put up a light unless they think people will complain about it.

January 17, 2017 | Unregistered CommenterZach

that's debatable, since if you go in a batches, really depends on how long is the specific detour, i guess it works for not so long detours.

January 17, 2017 | Unregistered Commenteres

The problem with lights is you'd need those car detectors at say exponentially increasing distances, which could get logarithmically expensive, which is clearly outside the budget.

January 17, 2017 | Unregistered CommenterScott K

On the road, optimizing for predictability trumps optimizing for speed. As mentioned in a previous comment, the law states each car has to stop and that cars may proceed in the order in which they arrived at the sign. In the absence of an explicit alternative scheme, it's rational to just follow the law given the variable for which they were optimizing.

January 17, 2017 | Unregistered CommenterPontius

You can solve this problem with some stencils and some paint, or by making and affixing your own signs.

Measure 3 car lengths on either side and draw a line and simply instruct cars to proceed 3 cars at a time.

January 17, 2017 | Unregistered CommenterSteego

Interestingly enough, I've been travelling around New Zealand that has an inordinate number of one lane bridges and single lane narrow road sections. They pretty much have an enforced one side (e.g. south) has right of way over another (e.g. north). This means that if there are no cars coming the other way, you don't have to stop, just slow down and pass through the intersection. But if there are ten cars on the side with right of way - you must give way, even if there is just you. Much better use of queuing theory!

January 17, 2017 | Unregistered CommenterDave Miller

It's better for everyone to stop and traffic to be slower and in efficient, than have people not stop every time and inevitably suffer an accident.

You analysis doesn't take risk into account.

January 17, 2017 | Unregistered CommenterFuse

Where I grew up in the Redwoods, actual Northern California, there were often such washouts.

Memory is that they used timed stoplights, as mentioned above, to allow bursts of 5-10 vehicles each way.

January 17, 2017 | Unregistered CommenterNarr Basiliuswh

Obligatory: http://xkcd.com/853/

January 18, 2017 | Unregistered Commentermax

It's not because people are stupid, it's because coordination is hard.

January 18, 2017 | Unregistered Commenteraamos

aamos,

I'm sorry if I implied I think people are stupid. That's not what I meant to say. I actually think at a global optimization level people are doing the right thing, but locally it sucks.

January 18, 2017 | Registered CommenterHighScalability Team

Dave Miller,

Took a lovely motorcycle vacation in New Zealand a while back. Awesome place, had a lot of fun.

And that's an interesting approach. It might be a better approach but I would worry about draining the queue with a constant stream of arrivals. A lot of people are going home, so there's a constant stream of traffic, the queue might never drain and the other side could be starved.

January 18, 2017 | Registered CommenterHighScalability Team

Wouldn't a YIELD (or GIVE WAY) sign fix this? This means you only need to stop if necessary due to the passage of other traffic. But if someone is already going through and you're behind them, there is no reason to stop since any newly approaching oncoming traffic cannot progress anyway.

January 18, 2017 | Unregistered CommenterPeter Cooper

Genuinely thought-provoking post. I'd never really made the link between traffic jams and throughput performance in computing. If you assume no traffic lights are available, it's an interesting problem to ponder.

The associated Reddit thread made me sad - it exemplifies what's wrong with anonymous internet "discourse".

January 19, 2017 | Unregistered CommenterAdam

How to know that you're not in the current batch anymore and are to wait? Needs a temporary, portable traffic light instead of the stop sign. Could unite reason and norms again.

January 19, 2017 | Unregistered CommenterErdnah

Decentralized queues are hard to manage - not good if the nodes can't keep constant communication with each other

January 19, 2017 | Unregistered CommenterRafael

Maybe it is the stop sign that messes up the batch operation.
I don't know it is the people from update New York are rude enough or smart enough, people always move in batches when there is one lane blocked temporarily by a garbage truck or something.

January 20, 2017 | Unregistered CommenterInteresting

Maybe someone could hang instructions under each STOP sign..."In heavy traffic..proceed in groups of three"...
Of course to get official permission to do this would probably take longer than the lane will be closed. The law is an ass.
Definitely adding this case to my Queuing Theory course. Thanks for the post.

May 29, 2017 | Unregistered CommenterMaxCulpa

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>