[Tutor] multiprocessing question

eryksun eryksun at gmail.com
Fri Nov 28 23:42:43 CET 2014


On Fri, Nov 28, 2014 at 3:24 AM, Cameron Simpson <cs at zip.com.au> wrote:
>
> With multiprocessing they're completely separate (distinct memory spaces); data
> must be passed from one to the other, and there's a cost for that.

Single-machine IPC can use shared memory, not just message passing via
pipes and sockets. multiprocessing works readily with ctypes arrays
and numpy arrays. It's just that using shared memory doesn't scale to
distributed systems. Tighter coupling isn't generally worth the
tradeoff in scalability, resiliency, and security. It has its uses in
terms of client/server architecture on a single machine. Windows NT
has always made extensive use of shared memory for communicating
between subsystem servers and clients (e.g. csrss, lsa, and conhost)
using its LPC protocol.


More information about the Tutor mailing list