[squeak-dev] Re: [Vm-dev] RoarVM: The Manycore SqueakVM

stephen at pairhome.net stephen at pairhome.net
Sat Nov 6 19:27:54 UTC 2010


On Nov 6, 2010, at 2:05 PM, Igor Stasenko <siguctua at gmail.com> wrote:
> No. Its a double-edged sword. If you turn VM into all-safe sandbox,
> then you'll have worst performance,
> and much less flexibility for developers.
> I like David's message: instead of running away from concurrency and
> hiding it in secret niches, we should embrace it instead.

Not wanting to hide anything in the VM...just want to understand RoarVM.  In an ideal world it would all be implemented in Smalltalk (or something similar) and dynamically translated directly into machine code.

> 
>> Another question that comes to mind is how much of a performance hit
>> you might see from the architecture trying to maintain cache
>> consistency in the face of multiple processes simultaneously updating
>> shared memory.  Is that something you've found to be an issue?  Is
>> this something you would have to be careful about when crafting code?
>> And, if it is a problem, is it something where you'd need to be
>> concerned not just with shared objects, but also with shared pages
>> (ie. would you need some measure of control over pages being updated
>> from multiple concurrent processes to effectively deal with this
>> issue)?
>> 
> I think this is too much to take care of. Different architectures may
> have different cache organization
> (even different processors could), and so, on one arch your code could
> run great, on another arch, it will crawl.

What I'm getting at is whether there is a need for finer control over object allocation such that you could avoid a case where an object used in one process lives on the same page as another object used by a different process and you end up with performance issues due to the overhead of maintaining cache consistency (and, yes, I agree, such things would be very architecture dependent).

> Also, if your parallel algorithm relies on too much shared state, then
> it is not good parallel algorithm. You'll never get it working fast
> or scale well, no matter how hard you try, because this is same as
> trying to fit square into circle.

Yep.

- Stephen


More information about the Squeak-dev mailing list