[lug] Linux threads programming

Carlos Hernandez chernan at datsi.fi.upm.es
Mon Jan 13 10:51:23 MST 2003


What I am doing is this : as part of my PhD research  I am developing message
logging protocols for distributed systems. You know,  periodically take a
checkpoint of a process and log its incoming messages, then if a fail occurs,
restore the last checkpoint and rollforward replaying the logged messages.

After recovering the process that has fail, some other  process in the system
could be "inconsistent" and have to  rollback its state.

The interesting thing is that, in my case,  processes are multithreaded and to
improve the performance, I want to rollback single threads of a process instead
of a full process.

Besides the theoretical work I'd like to setup a prototype and that's why I am in
this mess.

Hope this clarify  my questions.

Thanks a lot for your comments.

rm at fabula.de wrote:

> If you save the stack from within bar() it'll contain a return address
> that would need tobe relocated during undump (ok, not for this small example
> since 'main()' won't move, but most likely your stack has a deeper nesting
> and some frames will return to addresses _within_ the dumped stack ...
> Dumping a whole program is tricky enough (relocation of shared libraries etc.)
> but dumping individual parts/threads sound like an awfull mess to me.
> What exactly are you trying to do, if i might ask?

More information about the LUG mailing list