Upon the receipt of the AFC request, the coordinator starts the respective AFC executor process. This process is itself a RPC server and it is a separate process with its own memory space. The AFC executor provides RPC interfaces to :
The executor process performs computation on receiving the arguments
and when the computation finishes, it makes a RPC call on the local coordinator
to intimate it about the completion of the computation. The AFC executor
is reused if the same task is executed on possibly different data. The
reuse of AFC executor eliminates the cost of starting remote AFC for the
same task with different data.
When the executor process has finished the execution and it is
no longer needed, it can be terminated by invoking the RPC call on
it.