quicklisp/quicklisp-controller — pull request #1 by orivej (2013-09-01 04:24:22+00:00)
Title: Parallel fetching

Reposting my comment at the blog:

I explored an implementation with lparallel [ptrees](http://lparallel.org/ptrees/)

PMAP-SOURCES builds a dependency ptree where each source, except for the first ones, depends on the previous source with the same hostname; then it adds a node which depends on all of the sources, and makes lparallel carry out its computation. CALL-WITH-SKIPPING is adjusted to establish its restart in worker treads and to guard its debug output with a mutex. UPDATE-WHAT-YOU-CAN takes additional optional argument to turn parallel run on.

The downside of ptrees is that they are, as it seems, uninterruptible.