[javagroups-users] 2.2.8 final released
Brought to you by:
belaban
From: Bela B. <be...@jb...> - 2005-05-30 13:04:33
|
FYI, release notes are below. This is the last release that still supports JDK 1.3; 2.2.9 will have JDK 1.4 as baseline. I will fix major bugs both on CVS head (to be 2.2.9) and on the 2.2.8 branch (JGROUPS_2_2_8). New development and minor fixes will be only on 2.2.9. In case of major bugs, I will release service packs to 2.2.8, e.g. 2.2.8 SP1, SP2 etc Have fun, and don't forget to send feedback (positive and negative) ! Fast Message marshalling ------------------------ - Replaced Externalizable for Message with Streamable, resulting in much faster marshalling and reduced size of marshalled messages, allowing for more messages to be sent / second - org.jgroups.tests.MessageSerializationTest2 can be used to compare Externalizable with Streamable: - For 50000 messages, size reduction is almost 50%, marshalling 150% faster and unmarshalling 650% faster flags="-Xmx500M -Xms500M -XX:NewRatio=1 -XX:+AggressiveHeap -verbose:gc -XX:+DisableExplicitGC -XX:ThreadStackSize=32 -XX:CompileThreshold=100" java $flags org.jgroups.tests.MessageSerializationTest2 -num 100000 -add_headers false serialized size=8588935, streamable size=5788899, streamable is 48 percent smaller serialized write=831, streamable write=331, streamable write is 151 percent faster serialized read=1352, streamable read=180, streamable read is 651 percent faster Performance numbers ------------------- - Real tests will be produced in 2.2.9, using org.jgroups.tests.perf.Test - With JGroups/conf/fc-fast-minimalthreads.xml, I got ca 5000 1K messages on my laptop: (2 members, 1 sender, 1 receiver, 1 CPU laptop, 20000 1K msgs, 100Mbps switch) - April 20 2005: **5006** msgs/sec (on 192.168.5.1): -Xmx500M -Xms500M -XX:NewRatio=1 -XX:+AggressiveHeap -verbose:gc -XX:+DisableExplicitGC -XX:ThreadStackSize=32 -XX:CompileThreshold=100: combined: num_msgs_expected=20000, num_msgs_received=20000 (loss rate=0%), received=20MB, time=3995ms, msgs/sec=5006.26, throughput=5.01MB/sec UDP ---------- - bind_to_all_interfaces="true" now allows to listen for multicast messages on *all* available interfaces. This requires 1.4, under 1.3 the default interface will be selected MPING ----- - MPING allows for a combination where node discovery in a cluster uses multicast, but the real transport uses TCP. This is an addition to TCP:TCPPING and TCP:TCPGOSSIP. Example (short version of JGroups/conf/mping.xml): <config> <TCP bind_addr="192.168.5.1" start_port="7800" sock_conn_timeout="500" loopback="true"/> <MPING timeout="2000" bind_to_all_interfaces="true" mcast_addr="228.8.8.8" mcast_port="7500" ip_ttl="8" num_initial_members="2" num_ping_requests="1"/> <FD timeout="2000" max_tries="3"/> <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800" max_xmit_size="60000"/> <pbcast.STABLE stability_delay="1000" desired_avg_gossip="20000" down_thread="false" max_bytes="0" up_thread="false"/> <pbcast.GMS print_local_addr="true" join_timeout="5000" join_retry_timeout="2000" shun="true"/> </config> Concurrent startup ------------------ - When multiple members are started simultaneously, and no other member is running yet, they form singleton groups, and merge after some time. The new version avoids this merge, so merging occurs only after network partitions now, never on concurrent startup of initial members -- Bela Ban Lead JGroups / JBossCache callto://belaban |