AMICO Protocol V2
The new protocol
AMICO V2 introduce the concept of Active Message (AM). It is a new technology to improve the performance of thread/process communications.
There are two kind of process communications:
- Inter Process Communication (IPC): based on message exchange
> Benefits: simple implementation, high performances
> Disadvantages: needs messages traslation to functions
- Remote Procedure Call (RPC): direct remote calling of functions
> Benefits: more trasparent and useful for the user/developer
> Disadvantages: complex implementation, low performances (need server service. Ex: DBus)
- Active Message (AM): send a class instance to the remote target and execute action() on remote target
> Benefits: simple implementation, high performances, more trasparent and useful for the user/developer
> Disadvangages: ?
In AMICO2 the Active Message is a mix of the two technologies able of join the benefits and reduce the disadvantages.
___________________________ __________________
| | | |
| Process | | Process |
| ______ ______ | | |
| | | | | | | |
| | Th | | Th | | | |
| | | | | | | |
|_|______|_________|______|_| |__________________|
| | |
|AM |AM |AM
.---------|----------------|------------------|-------------.
| _______|_______ ______|________ _______|_______ |
| | | | | | | |
| | AMICO_Link | | AMICO_Link | | AMICO_Link | |
| |_______________| |_______________| |_______________| |
| | | | |
| | | | |
| |----------------' | |
| | Memory-to-Memory | |
| | | |
| | Socket | |
| '-----------------------------------' |
| AMICO2 |
'-----------------------------------------------------------'