[erlang-questions] Erlang Distribution

38 views
Skip to first unread message

Hollin Wilkins

unread,
Sep 29, 2012, 5:18:39 PM9/29/12
to erlang-q...@erlang.org
Hello everyone,

I am new to the mailing list. I've written several small libraries and servers in Erlang, and I am interested in learning more about its internals.
Mainly, I am wondering if there are any papers on the distribution protocol for forming clusters on Erlang nodes. I have tried looking at the net_kernel and related source files to figure out how it works. But this code is quite complex, and I would understand it better with some sort of paper or companion guide to explain the protocol at a higher level.

Thank you all,
Hollin Wilkins

Michael Truog

unread,
Sep 29, 2012, 7:20:51 PM9/29/12
to Hollin Wilkins, erlang-q...@erlang.org
I think these links within the Erlang documentation are the most relevant:
http://www.erlang.org/doc/apps/erts/erl_dist_protocol.html#id89232
http://www.erlang.org/doc/apps/erts/erl_ext_dist.html
http://www.erlang.org/doc/tutorial/cnode.html

I am not sure about paper references that describe the protocol.  However, the external term format changes enough that a paper would probably be outdated and inaccurate.

I also would be interested in a paper that goes into the details (concerns/choices/decisions) of the protocol between connected nodes (probably includes EPMD details), since that protocol probably hasn't changed as much.

Björn-Egil Dahlberg

unread,
Sep 29, 2012, 7:31:26 PM9/29/12
to Hollin Wilkins, erlang-q...@erlang.org


2012/9/29 Hollin Wilkins <hr...@cornell.edu>

Hello everyone,

I am new to the mailing list. I've written several small libraries and servers in Erlang, and I am interested in learning more about its internals.
Mainly, I am wondering if there are any papers on the distribution protocol for forming clusters on Erlang nodes. I have tried looking at the net_kernel and related source files to figure out how it works. But this code is quite complex, and I would understand it better with some sort of paper or companion guide to explain the protocol at a higher level.


If your looking for internals and descriptions of the protocol I can give you a few pointers:
 * http://www.erlang.org/doc/apps/erts/erl_dist_protocol.html - Description of the distribution protocol
 * http://www.erlang.org/doc/apps/erts/erl_ext_dist.html - Description of the external format used by the protocol

You can find a description of the handshake protocol for erlang distribution in a "internal_doc" folder in the source code. See https://github.com/erlang/otp/blob/maint/lib/kernel/internal_doc/distribution_handshake.txt

An EU Project, called the Release project (http://www.release-project.eu/), has a work package focusing on Distributed Erlang. You can find the current research here http://www.release-project.eu/documents/D3.1.pdf

// Björn-Egil
 
Thank you all,
Hollin Wilkins

_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions


Reply all
Reply to author
Forward
0 new messages