scispace - formally typeset
Patent

Critical path deterministic execution of multithreaded applications in a transactional memory system

Reads0
Chats0
TLDR
In this paper, a hardware and/or software facility for controlling the order of operations performed by threads of a multithreaded application on a multiprocessing system is provided.
Abstract
A hardware and/or software facility for controlling the order of operations performed by threads of a multithreaded application on a multiprocessing system is provided. The facility may serialize or selectively-serialize execution of the multithreaded application such that, given the same input to the multithreaded application, the multiprocessing system deterministically interleaves operations, thereby producing the same output each time the multithreaded application is executed. The facility divides the execution of the multithreaded application code into two or more quantum specifying a deterministic number of operations, and the facility specifies a deterministic order in which the threads execute the two or more quantum. The deterministic number of operations may be adapted to follow the critical path of the multithreaded application. Specified memory operations may be executed regardless of the deterministic order, such as those accessing provably local data. The facility may provide dynamic bug avoidance and sharing of identified bug information.

read more

Citations
More filters
Patent

Program optimizing apparatus, program optimizing method, and program optimizing article of manufacture

TL;DR: In this article, the authors propose an apparatus having a transactional memory enabling exclusive control to execute a transaction, which includes a first code generating unit configured to interpret a program, and generate first code in which a begin instruction to begin a transaction and an end instruction to commit the transaction are inserted before and after an instruction sequence including multiple instructions to execute designated processing.
Patent

Providing a scripting interface to existing code

TL;DR: In this article, a scripting engine is used to inject computer readable program code comprising a script in accordance with the internal data of a software application into a runtime environment associated with the software application.
Patent

Improving application code execution performance by consolidating accesses to shared resources

TL;DR: In this article, a computer implemented method of refactoring software code to optimize execution performance by consolidating shared resources accesses is proposed. But this method is limited to single-threaded code.
Patent

Intelligent processing of distributed breakpoints

TL;DR: In this article, a method for processing distributed breakpoints when debugging a distributed application includes establishing a breakpoint in source code of a distributed computer program and executing the distributed computer programs, and halting execution of any other of the processes is delayed for a delay period during which a list both is generated of other processes in which the breakpoint is encountered and also is sorted in accordance with prioritization criteria.
References
More filters
Proceedings ArticleDOI

LLVM: a compilation framework for lifelong program analysis & transformation

TL;DR: The design of the LLVM representation and compiler framework is evaluated in three ways: the size and effectiveness of the representation, including the type information it provides; compiler performance for several interprocedural problems; and illustrative examples of the benefits LLVM provides for several challenging compiler problems.
Journal ArticleDOI

Pin: building customized program analysis tools with dynamic instrumentation

TL;DR: The goals are to provide easy-to-use, portable, transparent, and efficient instrumentation, and to illustrate Pin's versatility, two Pintools in daily use to analyze production software are described.
Proceedings ArticleDOI

The SPLASH-2 programs: characterization and methodological considerations

TL;DR: This paper quantitatively characterize the SPLASH-2 programs in terms of fundamental properties and architectural interactions that are important to understand them well, including the computational load balance, communication to computation ratio and traffic needs, important working set sizes, and issues related to spatial locality.
Proceedings ArticleDOI

The PARSEC benchmark suite: characterization and architectural implications

TL;DR: This paper presents and characterizes the Princeton Application Repository for Shared-Memory Computers (PARSEC), a benchmark suite for studies of Chip-Multiprocessors (CMPs), and shows that the benchmark suite covers a wide spectrum of working sets, locality, data sharing, synchronization and off-chip traffic.
Proceedings ArticleDOI

Transactional memory: architectural support for lock-free data structures

TL;DR: Simulation results show that transactional memory matches or outperforms the best known locking techniques for simple benchmarks, even in the absence of priority inversion, convoying, and deadlock.
Related Papers (5)