Multithreading with Direct Publishers and Subscribers

On hardware with multiple processor cores, multithreading can boost performance of applications that communicate using direct publishers and direct subscribers. You can use multithreading to implement a variety of communicating sub-applications within a single process, and to decrease context-switching latency as they communicate.

For best results, match the size of a multithreaded application program to the host computer hardware. Allot one processor core for each direct publisher and its reserve-fill-send loop, and one processor core for each direct subscriber object and its dispatch loop. Too few cores can increase latency.

Note: A suite of application processes that communicate over a direct shared memory bus may contain only one direct publisher object at a time. It is the shared responsibility of the application developers and the administrators to ensure this condition.