[Vm-dev] hello

Eliot Miranda eliot.miranda at gmail.com
Mon Oct 12 19:04:00 UTC 2015


Hi Sebastián,

    and welcome!  Forgive me for not replying earlier.

On Mon, Oct 12, 2015 at 4:54 AM, Sebastián Krynski <skrynski at gmail.com>
wrote:

>
> Hello my name is Sebastián Krynski from Buenos Aires, Argentina.
> Just writing to let you know that I'm starting to work on adding an atomic
> swap operator in Pharo , guaranteed not to be interrupted by the VM. The
> operator will be used this way:
>
> a :=: b
>
> meaning 'swap variable a with variable b'.
> In order to do this I will be modifying the VM and the Compiler .
>
> I'm working under the direction of INRIA and Gabriela Arévalo.
>

Give my regards to Gabriela!

One thing is to consider multiple approaches.  My friend Maurice Rabb (in
the cc line) did a concurrent VM for a smalltalk-like language a few years
ago now and he used something more akin to compare-and-swap.  e.g.

    var ?= value := expr

would set var to expire if it held the value var and answer true, otherwise
it would not change the value of var and answer false.

Talk also to Igor Stasenko (also in the cc line) who has thought a lot
about this and has written a prototype image-level scheduler based on
(IIRC) a couple of different atomic operators.

Another thing to think about is goals.  Making it convenient to implement
lock-free data structures such as a lock-free thread-safe dictionary would
be very good.  Make sure you look at Cliff Click's work, e.g. at Azul such
as A Lock-Free, Wait-Free Hash Table
<https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CB4QFjAAahUKEwj3vIfxzr3IAhUL-2MKHXtEAmY&url=http%3A%2F%2Fweb.stanford.edu%2Fclass%2Fee380%2FAbstracts%2F070221_LockFreeHash.pdf&usg=AFQjCNGruiZgjaUdA04f35QacGEAtW1bBA&sig2=CoqRwB1XF6Up1lPFdtZI5g>.
Google cliff click azul lock-free data structures
<https://www.google.com/search?client=safari&rls=en&q=cliff+click+azul+lock-free+data+structures&ie=UTF-8&oe=UTF-8>
.

Finally, decide where you want to discuss this.  My preference is for you
to at least include vm-dev, since this is definitely to do with the byte
code set and the VM.  But the data structure piece and the use is more
generally useful.  So I see no problem including vm-dev, pharos-dev and the
general purpose squeak list.  The more the merrier.


A couple of questions:  How long will your work with Gabriela last?  Is
this a master's project or a PhD or...?

Good luck!
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20151012/cea622f3/attachment.htm


More information about the Vm-dev mailing list