[erlang-questions] EPMD and multi-user distributed computation
Thu Sep 3 21:01:03 CEST 2009
On Thu, Sep 3, 2009 at 9:51 PM, Erickson, John<john.erickson@REDACTED> wrote:
> I have an erlang program that is run similar to an MPI program, where it is deployed over many nodes and erlang starts up on those nodes and must be shut down when the program terminates. I cannot leave erlang or epmd running on these computers. Furthermore, many users would like to be able to use this program simultaneously. I am having problems with epmd run by different users conflicting on the available ports. Currently I am statically allocating these ports to users with ERL_EPMD_PORT, but this is a pretty cumbersome solution.
> Is there a better way to do this? I could dynamically allocate the port on a single node, but since epmd has to be run on every node in the system, I don't see an easy way to do this. Why does there need to be an epmd on every node anyway? Wouldn't a single one suffice?
You don't have to run one EPMD daemon per user. One instance is
sufficient. Just run it at startup and let all users use the standard
EPMD port. Moreover, having one EPMD per user doesn't increase
security at all, as any user may easily stop all epmd processes. So,
EPMD process must run in a trusted environment anyway.
More information about the erlang-questions