Patent ReferencesSystem and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system Dual level scheduling of processes to multiple parallel regions of a multi-threaded program on a tightly coupled multiprocessor computer system Method and apparatus for creating multithreaded time slices in a multitasking operating system Method and system for scheduling the execution of threads using optional time-specific scheduling constraints Program execution and operation right management system suitable for single virtual memory scheme Method and system for constructing a program including out-of-order threads and processor and method for executing threads out-of-order Locking of computer resources Method and system for providing an event system infrastructure Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system Patent #: 6006247 InventorsApplicationNo. 956717 filed on 10/23/1997US Classes:718/102, Process scheduling710/6, Operation scheduling710/264, Interrupt prioritizing717/127Monitoring program executionExaminersPrimary: Teska, Kevin J.Assistant: Booker, Kelvin Attorney, Agent or FirmInternational ClassesG06F 009/00G06F 009/45 AbstractA multithreaded program includes sequences of events wherein each sequence is associated with one of a plurality of execution threads. In a record mode, the software tool of the present invention records a run-time representation of the program by distinguishing critical events from non-critical events of the program and identifying the execution order of such critical events. Groups of critical events are generated wherein, for each group Gi, critical events belonging to the group Gi belong to a common execution thread, critical events belonging to the group Gi are consecutive, and only non-critical events occur between any two consecutive critical events in the group Gi. In addition, the groups are ordered and no two adjacent groups include critical events that belong to a common execution thread. For each execution thread, a logical thread schedule is generated that identifies a sequence of said groups associated with the execution thread. The logical thread schedules are stored in persistent storage for subsequent reuse. In a replay mode, for each execution thread, the logical thread schedule associated with the execution thread is loaded from persistent storage and the critical events identified by the logical thread schedule are executed.Other References
| |