Re: [ANN] SimulationStudio and sandboxed execution for Squeak
Posted by K K Subbu on Mar 17, 2021; 8:01am
URL: https://forum.world.st/ANN-SimulationStudio-and-sandboxed-execution-for-Squeak-tp5127804p5127847.html
On 16/03/21 7:40 pm, Thiede, Christoph wrote:
> image. By the way, is there already some research about unioning these
> two worlds in order to reprogram the VM from within the image that is
> running in it? I would love this.
Not to my knowledge. The closest is Eliot's Cog VM simulator.
ObjectMemory requires lot of work to simulate variations in bitsize,
byteorder, endianness etc.
> What are white-outs? I could not find any reference on this.
It is a term used in systems that do fork->edit->merge-commit. It marks
deleted objects like the way dirty bit marks modified ones.
copy-on-write (dirty) propagates down the fork chain while white-outs
propagate up the chain during merge-commit.
For instance, when a directory is cached in RAM and one of its entry is
deleted, the entry is marked as white-out until the cache is synced.
When an object copied over (loaned) from parent sandbox becomes garbage
in the child sandbox it must not be finalized or we won't be able to
commit deletes to the parent. It is marked 'white-out' so that it is no
longer accessible in the child. When the changes are committed to the
parent, the white-out is propagated into the parent for possible
finalization. If the object is strictly local to child white-outs may be
dropped and the object is subject to the usual GC.
> For some I/O primitives, however, virtualization is rather easy. For
> example, when writing on the global Display, you can simply copy this
> object like any other object into your sandbox space/world. However,
> other primitives, such as from the FilePlugin, operate on state is
> managed outside of the image ...
This is a reasonable limitation of sandbox but is not a show-stopper for
merge-commit feature. Now that memory is so affordable, speculative
simulation can be a valuable feature even with this limitation.
Regards .. Subbu