High throughput reliable message dissemination
Abstract
We consider applications that require high rate, reliable message dissemination in a many-to-many environment. Examples of such applications include stock market centers and synchronized server clusters. As network capacity increases, the achievable throughput of messaging applications becomes bounded by processing times rather than communication speed. To reduce processing times we suggest the use of message aggregation. We consider performing message aggregation at either the sender, a message-server, or a network switch. The performance of each of these methods in terms of throughput and delay is analytically evaluated and compared against that of a naive implementation that does not perform message aggregation. We show that in typical real-world messaging applications, performing message aggregation can increase throughput by order of magnitude. We base our results on experiments that have been conducted using various operating systems running on different hardware platforms. Our results indicate that the achievable throughput of messaging applications is determined by the number of packets-per-second, rather than bytes-per-second, a receiver or a transmitter should handle.