On the Cost of Prioritized Atomic Multicast Protocols
A prioritized atomic multicast protocol allows an application to tag messages with a priority that expresses their urgency and tries to deliver first the ones with a higher priority. Such a service can be used with different applications in different settings. For instance, in a database replication context, such a service can be used to reduce the transaction abort rate when integrity constraints are used. In this paper we show that the extra work done by a prioritized protocol imposes a small cost, by running a test application in a realistic setting, using conventional commodity hardware. The application is tested with the three most important and well-known classes of atomic multicast protocols: the sequencer-based, the privilege-based and the communication history families. The experimental study reveals that the behavior of the protocols depends on the particular properties of the setting (number of nodes, message sending rates, etc.). On the other hand, we present a performance comparison of these classes of total order protocols and show that the prioritization techniques are not imposing a significant performance overhead to the original total order protocols. This comparison also allows system designers to choose the proper prioritized protocol for a given setting.