Ady Tal

Learn More
This paper presents a software transactional memory system that introduces first-class C++ language constructs for transactional programming. We describe new C++ language extensions, a production-quality optimizing C++ compiler that translates and optimizes these extensions, and a high-performance STM runtime library. The transactional language constructs(More)
Instrumentation is one tool for collecting the information needed to understand programs. Instrumentation-based tools typically insert extra code into a program to record events during execution. 1-4 The cost of executing the extra code can be as low as a few cycles, enabling fine-grained observation down to the instruction level. Pin 2 (www.pintool.org) is(More)
The IA-64 architecture, an implementation of Explicitly Parallel Instruction Computing (EPIC), enables the compiler to exercise an unprecedented level of control over the processor. IA-64 architecture features maximize code parallelism, enhance control over microarchitecture, permit large and unique register sets, and more. Explicit control over parallelism(More)
Let G=(V,E) be an undirected graph and let (Si ,Ii) l~~ be k pairs of vertices in G. The ver­ tex disjoint paths problem is to find k paths Ph' .. ,P t such that Pj connects Sj and tj and any two of these paths may intersect only at a common end point. This problem is NP-complete even for planar graphs. Robenson and Seymour proved that when k is a fIXed(More)
  • 1