The difference between Kahn’s technology network and actor’s model

I was wondering what the actual difference is between the Kahn Process Network and the Actor Model. Indeed, if I look at the definition, they are both models in which computational objects (called Actors in both cases ...) exchange messages through unlimited buffers. Moreover, in both cases, these messages are sent asynchronously, because the procedure can always send a message. He does not need to wait until the recipient is ready to receive.

Hence my question, is there any real difference?

Thanks a lot!

+6
source share
1 answer

The channel technological network is guaranteed to be determined. All FIFO relationships between processes are previously known and do not change dynamically at run time. In contrast, in the case of the Actor model (quoting wikipedia):

In response to the received message, the actor can make local decisions, create more participants, send more messages and determine how to respond to the next received message.

The actor model is therefore not guaranteed to be deterministic. Quote from Wikipedia:

The actor model demonstrates the unlimited non-determinism that was captured in the mathematical model of Will Klinger using domain theory.

Another important difference is how communication takes place.

In the case of KPN, to maintain determinism, all communications are carried out through FIFO channels. But there is no such requirement in the case of the Actor model. Quoting Wikipedia:

[In KPN there is] There is no requirement for the order of arrival of the message [....] If the ordering of the output messages is required, then it can be modeled by the character of the queue that provides this function. Such a queue character would queue messages that were received so that they could be found in FIFO order. Therefore, if Actor X sends an M1 message to Actor Y and later X sends another M2 message to Y, there is no requirement that M1 arrive in Y before M2.

In this regard, the Actor model reflects packet switching systems that do not guarantee that packets must be received in the sent order. Not providing a delivery guarantee order allows you to switch packets to buffer packets, use several paths to send packets, resend corrupted packets, and provide other optimizations.

As can be seen from the discussion above, KPN is a much more limited scenario, which can be modeled using an actor model by adding additional restrictions.

+3
source

Source: https://habr.com/ru/post/910585/


All Articles