[erlang-questions] A visual tour of Erlang

Emilio De Camargo Francesquini <>
Wed Jun 6 11:26:33 CEST 2012


Hello Richard,

a) For each message sent inside the VM there is an edge in the graph
representing it. As the number of messages is huge and the processes
that send these messages are being created and destroyed all the time,
the edges "decay" after a few seconds and are removed from the graph.
When a vertex is no longer connected to any other vertex, that is, it
has no connected edges, it is removed from the animation. So in fact
the graph represents the processes and the messages exchanged between
them during the execution of CouchDB. This is what I called
communication graph.

b) The shooting away, as you call it, is just a side-effect of the
algorithm used to draw the graph. It is a force-directed layout, so
when the last edge is disconnected from the vertex it gets "repelled"
from the rest of the vertices, and  as soon as it has no edges
connected to it, it gets removed from the animation. The actual
execution speed is 8X faster than it is shown in the video.

For those interested in the code, I'll try to upload the code
somewhere until the end of this week...

Best Regards

Emilio

2012/6/6 Richard O'Keefe <>:
>
> On 6/06/2012, at 12:25 AM, Emilio De Camargo Francesquini wrote:
>> This video shows the processes communication graph for CouchDB running
>> in a machine with 24-cores. CouchDB was exercised using YCSB and the
>> video was generated using Ubigraph. I've posted the video here:
>>
>> http://www.youtube.com/watch?v=2MO6Uv7KZ7g
>
> (a) When you say "communication graph" what actually do you mean?
> (b) What does it signify in the movie when nodes go shooting away
>    from th core and disappear off-screen?
>



More information about the erlang-questions mailing list