Quel serait le mécanisme de communication bidirectionnelle portable le plus rapide pour la communication inter-processus où les threads d'une application doivent communiquer avec plusieurs threads dans une autre application sur le même ordinateur, et les threads communicants peuvent être sur des processeurs physiques différents). Je suppose que cela impliquerait une mémoire partagée et un tampon circulaire et des mécanismes de synchronisation partagés.Communications IPC inter-processus (inter-thread) rapides sur un grand système multi-cpu
Mais les mutex partagés sont très chers (et ils sont également en nombre limité) pour se synchroniser lorsque les threads s'exécutent sur des processeurs physiques différents.
Qu'espérez-vous exactement de communiquer entre ces processus et les threads? – SamB
Un autre problème que je vois qui peut affecter la performance: Une fois le message livré, le répartiteur devra faire un changement de contexte pour délivrer un message. Un grand nombre de messages RPC aura un énorme effet sur les performances. Et il ne semble pas que l'ajout d'une facilité de communication directement entre les threads ne soit pas scalable (dans le pire des cas, un thread peut envoyer des messages à plusieurs threads distants). – IPC
J'essaie de fournir un grand nombre de messages RPC de longueur variable relativement petits. – IPC