[concurrency-interest] Does "Thread.stop" do what is says it does?

Miles Sabin miles at milessabin.com
Fri Aug 5 17:57:41 EDT 2005


Dawid Kurzyniec wrote,
> When isolates appear, we will definitely give them a second look - at
> least, they may allow us to implement a configurable hierarchies of
> isolation levels (process, isolate, class loader, shared). But our
> system (http://www.mathcs.emory.edu/dcl/h2o/) is not an applet
> container, or a servlet engine - it is a distributed computing and
> resource sharing platform. Services (which we call pluglets) are
> pieces of distributed applications, and they are in fact expected to
> communicate. If they happen to be loaded into the same address space,
> it is important that they can share data directly. In other words, in
> our typical applications, communication performance requirements
> usually outweight isolation requirements.

Understood, not the least because, as far as my day job is concerned, 
this is precisely my situation too.

Given an application which is already structured in such a way that 
inter-process and inter-host interaction is accommodated, the mapping 
to Isolates and Links should be a relatively painless, even pleasant, 
experience (if that's not the case, comments to isolate-interest@ 
altair.cs.oswego.edu ASAP would be much appreciated).

The rest is down to quality of implementation. I'm hopeful, but the best 
I can do is report that my early multi-process prototype implementation 
of JSR-121 (conformant at the time, but not in any way tuned) performed 
adequately on a variety of typical distributed computing style 
benchmarks. I'd expect that an industrial strength implementation would 
do much better. Which is not to say that I'd recommend Isolates and 
Links for emulating fine-grained CSP- or pi-style computational models, 
but anything somewhat coarser than that should get along with them just 
fine. In extreme cases, Isolates can share state via memory mapped 
files using Links for coordination.

> Given all that, I find the abstraction of isolates too, well,
> isolating, to be used as a default in our system.

Odd perhaps, but I find the opposite to be the case. Treating everything 
as remote, even when it might be local is a strangely liberating 
experience ;-)

Cheers,


Miles


More information about the Concurrency-interest mailing list