Sample Header Ad - 728x90

How does local socket IPC work on a multi CPU system?

0 votes
1 answer
123 views
There is the Supermicro X10DAi motherboard and the manual is here . On page 1-11 you can see that each CPU has it's own RAM. Let's say program A is offering an API through a local socket /var/run/socketapi. This program is started on CPU 1. Then there is program B connecting to this socket and it's started on CPU 2. When program B writes a command to the socket the kernel normally copies the data from the memory space of program B to that of program A. But because the programs run on different CPUs and the memory is not shared between CPUs there is a problem. How is this solved under recent Linux? Maybe the whole memory of CPU 1 is memory mapped to CPU 2 using the QPI interface shown in the manual? Or perhaps the program IPC won't work and an error occurs? Please provide some reference to Linux source code or documentation.
Asked by zomega (1012 rep)
Feb 25, 2023, 02:13 PM
Last activity: Feb 25, 2023, 03:11 PM