[racket] Web server
At Thu, 17 Jul 2014 12:19:21 -0400, Brian Adkins wrote:
> I just read "Places: Adding Message-Passing Parallelism to Racket" and wanted
> to pass on a link to any other Racket newbies interested in parallelism:
>
> https://www.cs.utah.edu/plt/publications/dls11-tsffd.pdf
>
> This was good to read:
>
> "We expect to develop new constructs for parallelism in Racket that internally
> combine futures and places to get the advantages of each."
>
>
> I read the paper quickly, and I may have more questions later, but
> one question did pop up after reading the comparison between Python's
> MP lib and Racket on page 11. From that, it appears that Python's
> solution may be able to take advantage of the copy-on-write aspect of
> forking.
Yes, that sounds right. When fork() is available and doesn't create
problems with threads or other resources, then I expect that it would
be much faster and use less memory.
> Is that not the case with Places? If so, what was the rationale in not
> utilizing copy-on-write?
Do you mean copy-on-write via processes and fork(), or somehow by
itself?
We wanted to avoid multiple processes because OSes don't provide great
facilities for managing them and communicating between them.
Copy-on-write can be especially convenient when implemented through the
virtual memory manager, but offhand, I don't know of approaches that
work so easily within a process.