I'm using Slime's Swank protocol to do master/slave style processing on machines in a Google data center. I start up a master Lisp and a bunch of worker Lisps, all of them running swank servers. I ssh into the master Lisp and set up an Emacs/Slime connection to it. I run code on the master that farms out s-expressions to worker machines for evaluation using the Swank protocol. I have modified Slime slightly so that debugger breakpoints in the workers are forwarded through the master Lisp back to my Emacs/Slime session, so I can debug problems on both the master and the workers.
The code I'm using has been released as open source by Google:
http://github.com/brown/swank-client
In addition to the Swank client code, I've patched SBCL to print specialized arrays readably, which is important if remote evaluation requests include them. That patch is in an SBCL bug report:
https://bugs.launchpad.net/sbcl/+bug/803665
Also, some SBCL strings are of type base-string and don't like to be printed readably, so I modified slime/swank-rpc.lisp to try non-readable printing when SBCL's print-not-readable condition is signaled.
Most important, however, is a small change to slime/swank.lisp that lets you debug problems on the remote worker Lisps where you are evaluating expressions. If something goes wrong, Swank on the remote worker sends a message back to the master asking it to pop up a debugger window. My change causes Swank on the master to forward this message to Emacs/Slime so that the problem can be debugged. You can see this code in action if you evaluate something like:
(slime-eval '(error "hello world") connection)
Anyway, I've included my patches for slime/swank.lisp and slime/swank-rpc.lisp as an attachment.
bob