Boost logo

Boost Users :

Subject: Re: [Boost-users] Basics: Boost.Interprocess and Boost.MPI
From: Hicham Mouline (hicham_at_[hidden])
Date: 2010-12-20 17:18:28


From: boost-users-bounces_at_[hidden]
[mailto:boost-users-bounces_at_[hidden]] On Behalf Of Fred Lawton
Sent: 20 December 2010 20:48
To: boost-users_at_[hidden]
Subject: [Boost-users] Basics: Boost.Interprocess and Boost.MPI

I am a newbie looking for guidance using Boost libraries regarding
shared-memory and parallel processing.

First, my task is to run two programs at the same time that need to share a
data structure.

Which boost libraries will help me?

Also, any clarification between parallel processing, multi-thread
processing, and shared-memory would be greatly appreciated.

Thanks!
-------------

>From another newbie:
* multi-thread processing: when you have more than 1 thread of execution,
typically (always?) within 1 process. All the threads have access to the
same virtual memory. boost::thread helps with this.
* shared-memory: shared-memory systems typically refer to different
processes on the same machine and 1 of the mechanisms (there are others:
local sockets ...) that allow these processes to share data .
boost::interprocess helps with this. AFAIU, boost::interprocess is only for
processes on the same machine.
* mpi: message passing interface is an API that allows processes on the same
or different machines to communicate. there are send and receive functions,
broadcast, gather and reduce ... There are mpi implementations (such as
openmpi and vendor-specific ones) one of which you need to select, then
boost::mpi which is an elegant c++ layer on top of the mpi implementation
(and you need to build boost::mpi on top of openmpi for e.g).
* parallel processing: general concept of many things (threads, processes)
running on the same or different core, or CPU or machines doing work
together in a strongly or lightly synchronous way


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net