On Feb 16, 2008 10:35 AM, Markus Schiltknecht <[EMAIL PROTECTED]> wrote:
> I would like to simulate the scheduler, or even influence it, to be able
> to reproducibly test execution of concurrent code. Because as commodity
> hardware gets more and more CPU cores, multi-threaded code will get more
> and more common. And to be able to test different conditions between
> threads of execution, I would like to control the scheduler to be able
> to reproducibly get into a certain state.

This makes me wonder why you would like to do this ? Is it because you
want to be able to debug race conditions in concurrent code ? In that
case, please have a look at the exp-drd project -- this might be what
you are looking for.

Note: what you have in mind has already been implemented some time
ago, but only for the i386 architecture. Please have a look at the
following information in case you are not yet familiar with it:
* Michiel Ronsse and Koen De Bosschere, RecPlay: a fully integrated
practical record/replay system, ACM Transactions on Computer Systems
(TOCS), Volume 17 , Issue 2 (May 1999). See also
http://portal.acm.org/citation.cfm?doid=312203.312214 or
http://escher.elis.ugent.be/publ/Edocs/DOC/P099_084.pdf.
* DIOTA, Dynamic Instrumentation, Optimisation and Transformation of
Applications, http://www.elis.ugent.be/diota.

Note: I started from Valgrind instead of DIOTA for implementing
exp-drd because Valgrind has a more modular design (clear separation
between core and tools, and designed such that it is portable to new
instruction set architectures).

Bart Van Assche.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Valgrind-developers mailing list
Valgrind-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to