There are a number of different ways for programs to pass data to each
other. One of the most common in the MultiValue world is using disk.
(Remember the old "port" files?) Sometimes, however, this can still be a
bottleneck. You might want to consider putting that data into shared memory.