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