July 07, 2006
10Gb ethernet presents challenges for Java
I was reading in a trade magazine that 10 gigabit ethernet is arriving now in force. Prices are still high but they gotta start coming down soon.
The challenges of filling a network pipe this wide cannot be overestimated. Apparently the Windows Server TCP stack is currently unable to drive it to full speed. If those guys can't do it in C/C++ then it's looking challenging for Java. NIO is not adequate for this task. We're already using AIO inside WebSphere 6.1 to provide better performance and I expect further enhancements to be necessary for 10Gb.
I really want to make sure that ObjectGrid and WebSphere in general is positioned to be able to use the incredible new technology which should be invaluable to high end customers. We'll need to carefully examine the code path to get rid of anything we can in order to cut code path. This will require some pretty major optimizations and possibly the removal of plug points which slow down the path. We currently use the channel framework for our TCP sockets in HAManager and ObjectGrid. We may revisit this and use TCP directly especially for replication paths.
These optimizations will for sure help with 1GB ethernet also but are absolutely essential for 10Gb. Object serialization has been and continues to be a nightmare in these scenarios. We currently allow applications to provide custom serialization routines to lower this overhead but we're now examine ways of eliminating serialization completely in the ObjectGrid and this should both simplify the process of obtaining high ObjectGrid performance as well as get us closer to being able to handle 10Gb ethernet also.
At the same time, processor speed is increasing as always and this is helping us in general given the yearly performance improvements but it'll still be nice to get some super CPU performance improvements also.
Watch this space.
July 7, 2006 | Permalink
The following may interest you:
"Podcast: Microsoft groom their Windows for 10 Gig"
Posted by: Guest | Jul 10, 2006 3:31:57 PM