VLDB 2026 Research / reviewers in the wild / expert
James Cownie
dblp:19/5012 · also James H. Cownie, Jim Cownie
· DBLP profile ↗
3ranked-venue papers
0as first author
0since 2021 · last 2010
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 2Software engineering, systems software and programming languages · 2
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
1 paper |
Concurrent programming · 61% Programming languages and type systems · 30% Compilers and program optimization · 9% |
Topics — the 4 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › concurrent programming languages
language constructs for concurrency |
0.1 | 1 | 2008 | Design and implementation of transactional constructs for C/C++ · OOPSLA 2008 |
Concurrent programming › transactional memory
software transactional memory |
0.1 | 1 | 2008 | Design and implementation of transactional constructs for C/C++ · OOPSLA 2008 |
Concurrent programming
transactional memory |
0.1 | 1 | 2008 | Design and implementation of transactional constructs for C/C++ · OOPSLA 2008 |
Compilers and program optimization › compiler construction
compiler support for transactional memory |
0.0 | 1 | 2008 | Design and implementation of transactional constructs for C/C++ · OOPSLA 2008 |
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2010 | PinPlay: a framework for deterministic replay and reproducible analysis of parallel programsabstractAnalysis of parallel programs is hard mainly because their behavior changes from run to run. We present an execution capture and deterministic replay system that enables repeatable analysis of parallel programs. Our goal is to provide an easy-to-use framework for capturing, deterministically replaying, and analyzing execution of large programs with reasonable runtime and disk usage. Our system, called PinPlay, is based on the popular Pin dynamic instrumentation system hence is very easy to use. PinPlay extends the capability of Pin-based analysis by providing a tool for capturing one execution instance of a program (as log files called pinballs) and by allowing Pin-based tools to run off the captured execution. Most Pintools can be trivially modified to work off pinballs thus doing their usual analysis but with a guaranteed repeatability. Furthermore, the capture/replay works across operating systems (Windows to Linux) as the pinball format is independent of the operating system. We have used PinPlay to analyze and deterministically debug large parallel programs running trillions of instructions. This paper describes the design of PinPlay and its applications for analyses such as simulation point selection, tracing, and debugging. Harish Patil, Cristiano Pereira, Mack Stallcup, Gregory Lueck, James Cownie |
CGO | 5 |
| 2008 | Design and implementation of transactional constructs for C/C++abstractThis 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 support C++ language features including classes, inheritance, virtual functions, exception handling, and templates. The compiler automatically instruments the program for transactional execution and optimizes TM overheads. The runtime library implements multiple execution modes and implements a novel STM algorithm that supports both optimistic and pessimistic concurrency control. The runtime switches a transaction's execution mode dynamically to improve performance and to handle calls to precompiled functions and I/O libraries. We present experimental results on 8 cores (two quad-core CPUs) running a set of 20 non-trivial parallel programs. Our measurements show that our system scales well as the numbers of cores increases and that our compiler and runtime optimizations improve scalability. Adam Welc, Ali-Reza Adl-Tabatabai, Moshe Bach, Sion Berkowits, James Cownie, Robert Geva, Sergey Kozhukow, Ravi Narayanaswamy, Jeffrey Olivier, Serguei Preis, Bratin Saha, Ady Tal, Xinmin Tian |
OOPSLA | 6 |
| 1994 | Message Passing on the Meiko CS-2
Eric Barton, James Cownie, Moray McLaren |
Parallel Comput. | 2 |