
Gridlock vs. Bottlenecks: A visual explanation - vicapow
http://setosa.io/blog/2014/09/02/gridlock/index.html
======
kaji88
This is just an excellent visualization to explain a concept that is hard to
imagine.

Lots of difficult concepts are actually very simple once you boil them down to
the fundamentals and visualize them.

This has big implications for education. Many concepts like derivatives in
finance, algorithmns in computer science are suprisingly simple.

I remember a visualization for Paxos (a distributed consensus algorithmn)
which basically have an actor to represent each node in the network. That was
the moment I finally "got it".

It is a shame that educators are still so backwards at how they communicate
concepts to students. and how ineffective that is. I think it comes down to
the fact that professors in universities have to play dual role of being a
researcher + to teach. And since they are recognized for publishing papers and
not so much for making helpful visualzations to explain concepts to first year
students. Education part is neglected.

~~~
bobbles
Even disregarding the topic to be taught, as a trainer / facilitator there
should be a responsibility to ensure the following:

* create content that matches required outcomes for the course

* have assessments that measure leaner competency in the content

* account for different learning styles and teaching styles that may be required

* assessments and training techniques adequately account for people with learning difficulties

Almost all the lecturers I had literally sat in the classroom, faced the
projector wall, and read out the word-heavy slides.

We then had a final exam worth 75%-90% of our grade.

Calling them educators is laughable.

~~~
cordite
My experience was nearly the opposite of that. Projects were half, homework
20, tests were the rest, however if your test was higher than the rest of your
grade, you'd get that instead.

------
valarauca1
Also a great way of visualizing some basic problem with concurrency.

Gridlock is excellent demonstrated as above, if you are putting things in a
queue for a thread that is taking _forever_ to run, the producer thread will
eventually (hopefully) be blocked due to memory issues, thus passing the slow
down further up the chain. Much like a road, and exactly like the visual
effect seen here.

------
mrtksn
I like how dynamics of complex systems are getting so captivating and easy to
understand by visually simplified simulations rather than mathematical
expressions.

The human mind somehow grasps these dynamic, subconsciously creates an in-
brain simulation and you can predict what will happen when you play with the
parameters on the computer simulation. It just feels so natural.

~~~
ChuckMcM
Its too bad there is only one lane of traffic in the simulators. There are
interesting insights to be had when simulating multiple lanes and adding
"incentive" lanes. One of the first Java applets was a multi-lane simulator
which showed the impact of people getting on to a 4 lane freeway, merging all
the way across to the HOV lane on the left, then merging all the way across
again to get off. Versus having the HOV lane on the right, vs having no HOV
lanes.

The fun stuff is that queuing theory applies to all sorts of things like
packets and getting seats on an airline. Lots of fun to play with.

------
dj-wonk
So fun. For kicks, I just spent more than a few minutes trying to find a semi-
steady equilibrium where, say 80% to 90% of cars are temporally stalled
without pushing the system into total gridlock.

Just now, I got it down to only one car moving for about a quarter of the
circle. Then you really have to pay attention to which car is going where. :)

------
TheLoneWolfling
Has anyone had an experience of "gridlock" in a distributed system? Where
bottlenecks cascade due to failover, etc?

~~~
daigoba66
"Deadlock" is the term used in concurrent processing. It can happen if the
resources are distributed. I actually had the privilege of troubleshooting
such an issue not too long ago:
[http://dba.stackexchange.com/q/73833](http://dba.stackexchange.com/q/73833)

~~~
TheLoneWolfling
I wasn't talking about deadlocks - a deadlock is when _no_ work ends up being
done, whereas I was wondering about the situation where very little work ends
up being done. Interesting link though!

~~~
TheCoreh
I think this post that recently hit the front page of Hacker News could be
such an example:
[https://news.ycombinator.com/item?id=8255128](https://news.ycombinator.com/item?id=8255128)

------
malnourish
This is a great visualization that is relevant to my coursework. Thank you.

------
lewis500
Glad everyone liked it. Going to make one about why buses bunch up in the
future.

~~~
scoot
Not sure that needs a visual to understand, although it would be interesting
to to see how you would present it, in my mind it's just another form of
bottle-neck. In essence:

The lead bus has to stop for longer to pick up waiting passengers than the
following bus. The less time the following bus has to stop, the closer it gets
to the bus in front, so the less time for new passengers to accumulate. And so
on down the chain.

------
kmkswamy
what tools are used for dynamic graphs in this visualization? is it google
visualization api?

~~~
enjalot
this is custom d3.js + AngularJS

~~~
kmkswamy
Thx, have been out of ui for quiet sometime.

