Patent classifications
G06F11/3632
Data race detection with per-thread memory protection
Data race detection in multi-threaded programs can be achieved by leveraging per-thread memory protection technology in conjunction with a custom dynamic memory allocator to protect shared memory objects with unique memory protection keys, allowing data races to be turned into inter-thread memory access violations. Threads may acquire or release the keys used for accessing protected memory objects at the entry and exit points of critical sections within the program. An attempt by a thread to access a protected memory object within a critical section without the associated key triggers a protection fault, which may be indicative of a data race.
System and method for contact center fault diagnostics
A system and methods for contact center fault diagnostics, comprising a diagnostic engine and datastore of test cases used for testing components and services in a contact center, designed to operate on a contact center with a specified test campaign, allowing a contact center's various services and systems to be tested either internally or externally in an automated fashion with specified testcases being used to specify the format and expectations of a specific test, with reports of failures and points of failure being made available to system administrators.
FULLY TRACEABLE AND INTERMEDIATELY DETERMINISTIC RULE CONFIGURATION AND ASSESSMENT FRAMEWORK
A method includes assessing an input in a buffer against a rule in a first node of a rule tree to determine that an action should be performed and updating the buffer with results of performing the action. The method also includes inserting an indication of the input, the rule, and the results of performing the action into a tracker log and passing the updated buffer to a second node in the rule tree in response to determining that the first node points to the second node.
System and method for contact center fault diagnostics
A system and methods for contact center fault diagnostics, comprising a diagnostic engine and test cases used for testing components and services in a contact center, designed to operate on a contact center with a specified test campaign, allowing a contact center's various services and systems to be tested either internally or externally in an automated fashion with specified testcases being used to specify the format and expectations of a specific test, with reports of failures and points of failure being made available to system administrators.
Diffing a subject replayable execution trace against a plurality of comparison replayable execution traces
Diffing a subject replayable trace against a plurality of comparison replayable traces includes identifying a set of mappings among the comparison replayable traces, each identifying corresponding comparison sections of consecutive instructions recorded in the comparison replayable traces that execute equivalently. A plurality of distinct comparison sections are identified within the comparison replayable traces. Each of a plurality of subject sections within the subject trace is compared against distinct comparison section(s) to determine a comparison status for each subject section, including whether each subject section is (i) equal to at least one corresponding distinct comparison section, or (ii) different than the distinct comparison sections. The determined comparison status of at least one particular subject section with respect at least one particular corresponding distinct comparison section is applied to each additional comparison section to which the at least one particular distinct comparison section is mapped in the set of mappings.
Thread-based processor halting
Devices and techniques for thread-based processor halting are described herein. A processor monitors control-status register (CSR) values that correspond to a halt condition for a thread. The processor then compares the halt condition to a current state of the thread and halts in response to the current state of the thread meeting the halt condition.
DATA RACE DETECTION WITH PER-THREAD MEMORY PROTECTION
Data race detection in multi-threaded programs can be achieved by leveraging per-thread memory protection technology in conjunction with a custom dynamic memory allocator to protect shared memory objects with unique memory protection keys, allowing data races to be turned into inter-thread memory access violations. Threads may acquire or release the keys used for accessing protected memory objects at the entry and exit points of critical sections within the program. An attempt by a thread to access a protected memory object within a critical section without the associated key triggers a protection fault, which may be indicative of a data race.
SYSTEM AND METHOD FOR CONTACT CENTER FAULT DIAGNOSTICS
A system and methods for contact center fault diagnostics, comprising a diagnostic engine and test cases used for testing components and services in a contact center, designed to operate on a contact center with a specified test campaign, allowing a contact center's various services and systems to be tested either internally or externally in an automated fashion with specified testcases being used to specify the format and expectations of a specific test, with reports of failures and points of failure being made available to system administrators.
DETERMINISTIC REPLAY OF A MULTI-THREADED TRACE ON A MULTI-THREADED PROCESSOR
At least one computer-readable storage medium comprising instructions for execution by at least one graphics processing unit (GPU) that, when executed, cause the at least one GPU to: obtain program code for tracing, the program code including a plurality of instructions; identify from the plurality of instructions of the program code events to be synchronized; instrument the program code corresponding to one or more of the events identified, by inserting instructions that support monitoring code; execute the instrumented program code on at least a plurality of hardware threads of the GPU and generate trace data; replay the identified events according to an order of occurrence of the events identified; and report a GPU state indicating a utilization of the GPU based; and wherein to report the GPU state includes to indicate when the GPU executes non-graphics related tasks.
Methods and apparatus to manage concurrent predicate expressions
Methods, apparatus, systems and articles of manufacture are disclosed to manage concurrent predicate expressions. An example method discloses inserting a first condition hook into a first thread, the first condition hook associated with a first condition, inserting a second condition hook into a second thread, the second condition hook associated with a second condition, preventing the second thread from executing until the first condition is satisfied, and identifying a concurrency violation when the second condition is satisfied.