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. ____________________ Racket Users list: http://lists.racket-lang.org/users