Hello all Based on some discussion on this list, I integrated a zlib-based compression ability into ORTE. Since the launch message sent to the orteds and the modex between the application procs are the only places where messages of any size are sent, I only implemented compression for those two exchanges.
I have found virtually no benefit to the compression. Essentially, the overhead consumed in compression/decompressing the messages pretty much balances out any transmission time differences. However, I could only test this for 64 nodes, 8ppn, so perhaps there is some benefit at larger sizes. Even though my test size wasn't very big, I did try forcing the worst-case scenario. I included all available BTL's, and ran the OOB over Ethernet. Although there was some difference, it wasn't appreciable - easily within the variations I see on this rather unstable machine. I invite you to try it yourself. You can get a copy of the code via: hg clone http://www.open-mpi.org/hg/hgwebdir.cgi/rhc/gather You will need to configure with LIBS=-lz. Compression is normally turned "off". You can turn it on by setting: -mca orte_compress 1 You can also adjust the level of compression: -mca orte_compress_level [1-9] If you don't specify the level and select compression, the level will default to 1. From my tests, this seemed a good compromise. The other levels provided some small amount of better compression, but took longer. With compression "on", you will get output telling you the original size of the message and its compressed size so you can see what was done. Please let me know what you find out. I would like to reach a decision as to whether or not compression is worthwhile. Thanks Ralph