Thanks for the reply @patriknw. If it is going through a side channel, e.g. HTTP, I will need to set up an extra HTTP server on each node and act as a forwarding proxy, which is not a clean solution(and message itself having destination actorRef). I was thinking about sending TriggeringCalculation message to persistent actor and let persistent actor to spread calculation locally on its node. In this way, it will avoid network transmission. But this has disadvantages of hard to control number of parallel calculations(which I can with stream) and tying calculation logic with persistent actor(which it is not ideal).
Thanks, Cheng