Aw: Re: Roadmap 2022
geno.de at public-files.de
Wed Jan 5 08:20:55 CET 2022
> Gesendet: Dienstag, 04. Januar 2022 um 15:07 Uhr
> Von: "Norman Feske" <norman.feske at genode-labs.com>
> An: users at lists.genode.org
> Betreff: Re: Roadmap 2022
> That being said, there is an elephant in the room, namely how POSIX
> threads fit into the picture. How can the state of a multi-threaded
> application be serialized in a consistent way? That would be an
> interesting topic to research.
I would think that it should be relatively simple to mark multi-threaded
applications as such (at creation of the first thread), creating an additional
thread for snapshot purpose. That thread would wait after creation for a
signal to start a snapshot. If it gets that signal it does the opposite of
yield(), thereby monopolizing the CPU (for instance by inserting the
equivalent of a directed yield() into all other threads) and with this
monopolized CPU doing the snapshot (using part of the fork() mechanism).
After the snapshot is done this thread would go back to wait for the
signal to snapshot again, thereby ceasing to monopolize the CPU. That has
the additional advantage that a reloaded snapshot will start in exactly
that state that is needed to continue seamlessly if the snapshot is run
from this thread.
> These are just my thoughts from the top of my head. I'm looking forward
> to see your steps into this direction.
> Dr.-Ing. Norman Feske
> Genode Labs
> https://www.genode-labs.com · https://genode.org
> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
> Genode users mailing list
> users at lists.genode.org
More information about the users