A method (and apparatus) of determinstically replaying an observable
run-time behavior of distributed multi-threaded programs on
multiprocessors in a shared-memory multiprocessor environment, wherein a
run-time behavior of the programs includes sequences of events, each
sequence being associated with one of a plurality of execution threads,
includes identifying an execution order of critical events of the program,
wherein the program includes critical events and non-critical events,
generating groups of critical events of the program, generating, for each
given execution thread, a logical thread schedule that identifies a
sequence of the groups associated with the given execution thread, and
storing the logical thread schedule for subsequent reuse.
Een methode (en de apparaten) van determinstically het overspelen van een waarneembaar run-time gedrag van verspreide multi-threaded programma's over multiverwerkers in een milieu van de delen-geheugenmultiverwerker, waarin een run-time gedrag van de programma's opeenvolgingen van gebeurtenissen omvat, elke opeenvolging die met één van een meerderheid van uitvoeringsdraden wordt geassocieerd, omvatten het identificeren van een uitvoeringsorde van kritieke gebeurtenissen van het programma, waarin het programma kritieke gebeurtenissen en onkritische gebeurtenissen omvat, die groepen kritieke gebeurtenissen van het programma produceren, die produceren, voor elke bepaalde uitvoeringsdraad, een logisch draadprogramma dat een opeenvolging van de groepen identificeert die met de bepaalde uitvoeringsdraad worden geassocieerd, en het opslaan van het logische draadprogramma voor verder hergebruik.