Hi Phil:

I got tired of speculating about more efficient Linux IPC methods so I
implemented (as of commit e166866) the "Unnamed semaphores example"
paradigm outlined starting on page 73 of
<http://man7.org/conf/lca2013/IPC_Overview-LCA-2013-printable.pdf>. (I
discussed this possibility in earlier versions of this thread.)
This test project is described in cmake/test_linux_ipc/README.  Follow
the directions there to test it on your own Linux systems.

My tests show this method is quite efficient for transferring data
between processes on POSIX-compliant systems.  The transfer process is
under complete control of unnamed semaphores that reside in the shared
memory so coordinating required data transfer between two applications
is completely straightforward, and there is very little idle time
required during these transfers.

The IPC-relevant routines that are called in this test project are
shm_open, ftruncate, mmap, sem_init, sem_wait, sem_post, and
shm_unlink, and according to the Linux man pages, all of these
functions are provided by platforms that are compliant with POSIX.1-2001.

So on the present evidence from this test project I think this method
looks extremely promising for efficiently transferring data both ways
between -dev wxwidgets and wxPLViewer for POSIX-compliant systems.

If after trying the test of the method documented in 
cmake/test_linux_ipc/README you agree with this assessment, would you
be willing to have a go at the required wxwidgets and wxPLViewer
source code changes to see if that essentially eliminates the
large idle times we have now on Linux?

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to