I have a long-running batch job that I would like to speed up. Currently it uses only one CPU and the server I have in mind for this has 16 cores, and I want to take advantage of them. I'm thinking one of three possibilities: 1. JRuby, where the threads are native OS threads 2. A message queue (e.g. ActiveMQ + Stomp), where worker threads run as separate processes, thus using all cores. 3. A MapReduce implementation (e.g. hadoop) I would like to see if anyone has gone down this road and can weigh in on these options. -- Mark.