New flow control protocols
Bela Ban <[email protected]>
| Newsgroups | gmane.comp.java.javagroups.general,gmane.comp.java.javagroups.devel |
|---|---|
| Message-ID | <[email protected]> |
FYI, I've added 2 new flow control protocols: MFC (Multicast Flow Control) and UFC (Unicast Flow Control). They're an implementation of [1], which is about splitting the FC functionality into 2 separate protocols. The advantages are that this simplifies the code, the code becomes more maintainable, that we can enable unicast or multicast flow control individually, that I could remove some coarse grained locking, and that I created helper classes, e.g. to manage sender or receiver credits, which can be unit tested individually, apart from the use in the protocol. The downside is that we now have MFC and UFC instead of just FC. My goal for performance was that MFC and UFC should be about the same as FC, but not slower. This morning, I ran a quick perf test [2] on a 4 node cluster, with 4 nodes (all senders) sending 1 million messages (of varying size) each. The numbers are MiBs/sec/node. The numbers for 4 nodes are: Size FC MFC/UFC 1K 135 135 2K 145 145 4K 145 145 8K 130 131 The numbers for 8 nodes are (2 processes per physical box): Size FC MFC/UFC 1K 72 73 2K 83 85 4K 87 93 8K 107 113 As can be seen, performance is about the same, or even slightly better with MFC/UFC when running 2 perf JVMs / physical box. However, the second test on 8 nodes is to be taken with a grain of salt, as the 2 JBMs/box are competing for CPU and the network, and therefore we don't saturate the network (bandwidth)... To use the new folw control protocols, replace <FC max_credits="2M" min_threshold="0.6" /> with <UFC max_credits="2M" min_threshold="0.6" /> <MFC max_credits="2M" min_threshold="0.6" /> I will change the configs shipped with JGroups after some more testing and updating the documentation. [1] https://jira.jboss.org/browse/JGRP-1154 [2] http://community.jboss.org/docs/DOC-11594 -- Bela Ban Lead JGroups / Clustering Team JBoss ------------------------------------------------------------------------------ Automate Storage Tiering Simply Optimize IT performance and efficiency through flexible, powerful, automated storage tiering capabilities. View this brief to learn how you can reduce costs and improve performance. http://p.sf.net/sfu/dell-sfdev2dev