Gregory Burd scripsit:
> I'm not new to this dance, I've been in it for over 20 years (NeXT,
> Sun, JavaSoft, Oracle, Sleepycat, now Basho) and I know first hand how
> hard this problem is.
Sorry, I didn't mean to try to teach you to suck eggs. There are just
so many people who are fired up by the Upcoming 16,384-Core Palmtop
Machine and how it will be a *waste*, just a criminal *waste* not to use
all cores at all times in all situations, that I have become wary (and
weary) of those who speak of This Thing Called Parallelism.
> That's the point of this research that I referenced. Semi-lattices
> are used to govern the major datatypes as they are operated on in
> parallel, this is paper should answer most of your questions:
>
>
http://db.cs.berkeley.edu/papers/UCB-lattice-tr.pdf
Enqueued for reading. Right now I'm working my way through the MS stuff
on concurrent revisions and cloud types:
http://research.microsoft.com/apps/pubs/default.aspx?id=145511
http://research.microsoft.com/apps/pubs/default.aspx?id=163842
The idea of concurrent revisions is very cool: each forked thread has
its own copy of all state (implemented by copy-on-write), but when you
join a thread to you, its state overrides yours (unlike with processes
where the child thread's state is discarded). Furthermore, you can join
any thread, whether you forked it or not. An extension allows selective
merger of state between the joining and joined threads.
> In fact, you could have dozens of different coordination techniques
> (like garbage collection algorithms) known to the runtime and it
> could choose (or you could hint at) the most appropriate for a given
> execution path that requires coordination.
But then you need a rather sophisticated hint language to specify what
kind of results you want, no?
--
The Unicode Standard does not encode John Cowan
idiosyncratic, personal, novel, or private
http://www.ccil.org/~cowan
use characters, nor does it encode logos
or graphics.
co...@ccil.org