I think they're trying to solve different problems. GCD is solving
the problem of task-level parallelization and concurrency on multiple
cores. In Swarm, distributed computation across (presumably) multiple
machines.
The techniques could be shared, but I would see this as almost
completely abstracted from a developer, the general idea being that
GCD could schedule continuations explicitly on different processors.
I'm not sure what, if anything, one would gain from this.
In fact, I vaguely recall Scala's Actors using a thread pool, so,
theoretically, if the jvm an OS scheduler doesn't suck, you could get
much of the same results as GCD, with the same abstraction from any
concurrency primitives.
Love the gmail account name, btw. I'm listening to Piper at the Gates
of Dawn as I type :)