How to speedup message passing between computing nodes
Firstly, I would generally agree with everything that AirThomas suggested. Caching things is generally good if you can, but I find it slightly brittle since that's very dependent on exactly what your application is. Data compression is another very solid suggestion, but my impression on both of these is that the speedups you're looking at are going to be relatively marginal. Maybe as high as 2-5x, but I would be very surprised if they were any faster than that.

Under the assumption that pure I/O (writing to/reading from memory) is not your limiting factor (if it is, you're probably not going to get a lot faster), I would make a strong plug for zeromq. In the words of the creators:


  We took a normal TCP socket, injected it with a mix of radioactive
  isotopes stolen from a secret Soviet atomic research project,
  bombarded it with 1950-era cosmic rays, and put it into the hands of a
  drug-addled comic book author with a badly-disguised fetish for
  bulging muscles clad in spandex. Yes, ØMQ sockets are the world-saving
  superheroes of the networking world.


While that may be a little dramatic, zeromq sockets in my opinion are one of the most amazing pieces of software that the world of computer networks has put together in several years. I'm not sure what you're using for your message-passing layer right now, but if you're using something traditional like rabbitmq, you're liable to see speedups of multiple orders of magnitude (personally noticed about 500x, but depends a lot of architecture)

Check out some basic benchmarks here.