distributed-process-platform icon indicating copy to clipboard operation
distributed-process-platform copied to clipboard

ProcessId wrapper for hot-loading/migration

Open jepst opened this issue 13 years ago • 1 comments

An obstacle to migrating processes between nodes is how to deal with ProcessIds.

If we assume that any process can be migrated to another node at any time, ProcessIds are no longer reliable. Instead, we need another way to refer to migratable processes.

This problem may be separable into two sub-problems:

  1. Within an Application which will be migrated as a whole, processes may refer to each other. Here, it may be possible to substitute ProcessIds with correct values as part of migration.
  2. References by ProcessId to the Application from elsewhere will need to be updated.

It might make sense to establish a wrapper type, MigratableProcessId, that provides this additional layer of indirection. Sending a message to a MigratableProcessId will resolve to the actual current ProcessId of the given process.

jepst avatar Jan 04 '13 17:01 jepst

An obstacle to migrating processes between nodes is how to deal with ProcessIds.

There are other obstacles too. Whilst I think migrating between nodes might be do-able, I'm not done with exploring the possibility of loading changes on the fly in a running executable. Isolating dynamically loaded entities is possible, dynamic loaded does work (as plugins/hs-plugins demonstrates), safecopy or something like it might provide the means to deal with conversions....

We will see. But I do think migrating process state would be easier and therefore this enhancement remains a perfectly valid proposal until we decide what we want to do.

hyperthunk avatar Jan 19 '13 02:01 hyperthunk