EDBT 2026 Demo / reviewers in the wild / expert
Jim Sukha
dblp:46/6480
· DBLP profile ↗
13ranked-venue papers
2as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 13 · 2 first-author
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.
| Computer architecture, parallel and distributed computing, and storage systems
6 papers |
Parallel and multicore computing · 96% Performance modeling and evaluation · 4% | |
| Software engineering, system software, and programming languages
5 papers |
Concurrent programming · 100% |
Topics — the 12 heaviest of 15, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing › parallel scheduling
runtime scheduling |
0.2 | 1 | 2014 | Provably good scheduling for parallel programs that use data structures through implicit batching · PPoPP 2014 |
Parallel and multicore computing › transactional memory
open-nested transactions |
0.2 | 2 | 2009 | Safe open-nested transactions through ownership · PPoPP 2009 Safer open-nested transactions through ownership · PPoPP 2008 |
Parallel and multicore computing
transactional memory |
0.2 | 2 | 2009 | Safe open-nested transactions through ownership · PPoPP 2009 Safer open-nested transactions through ownership · PPoPP 2008 |
Parallel and multicore computing
parallel programming runtimes |
0.1 | 1 | 2012 | Deterministic parallel random-number generation for dynamic-multithreading platforms · PPoPP 2012 |
Concurrent programming
transactional memory |
0.1 | 3 | 2009 | Nested parallelism in transactional memory · PPoPP 2008 Safe open-nested transactions through ownership · PPoPP 2009 Safer open-nested transactions through ownership · PPoPP 2008 |
Concurrent programming › concurrency control
conflict detection |
0.1 | 2 | 2009 | Nested parallelism in transactional memory · PPoPP 2008 Safe open-nested transactions through ownership · PPoPP 2009 |
Parallel and multicore computing › parallel programming models › task parallelism
fork-join parallelism |
0.1 | 1 | 2010 | Helper locks for fork-join parallel programming · PPoPP 2010 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2010 | Helper locks for fork-join parallel programming · PPoPP 2010 |
Concurrent programming › transactional memory
nested transactions |
0.1 | 2 | 2008 | Nested parallelism in transactional memory · PPoPP 2008 Safer open-nested transactions through ownership · PPoPP 2008 |
Concurrent programming › synchronization
locking |
0.0 | 1 | 2010 | Helper locks for fork-join parallel programming · PPoPP 2010 |
Concurrent programming
synchronization |
0.0 | 1 | 2010 | Helper locks for fork-join parallel programming · PPoPP 2010 |
Parallel and multicore computing › parallelization strategies
nested parallelism |
0.0 | 1 | 2008 | Nested parallelism in transactional memory · PPoPP 2008 |
Methods — techniques the papers use, named apart from their topics
pedigree mechanism · 0.3implicit batching · 0.2software transactional memory · 0.2work-stealing · 0.1work stealing · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Brief Announcement: A Compiler-Runtime Application Binary Interface for Pipe-While LoopsabstractPipe-while loops have been proposed as a language construct for expressing pipeline parallelism in task-parallel languages. However, this loop construct has only been prototyped in research systems that lack compiler support. We demonstrate how to extend Intel® Cilk™ Plus, a production-quality task-parallel language, to implement pipe-while loops. We propose an extension to the compiler-runtime application binary interface (ABI) of Cilk Plus to support pipe-while loops. This extension maintains compatibility with existing language constructs and existing Cilk Plus binaries. We validate this ABI by prototyping the required runtime modifications and simulating the required front-end compiler transformations using preprocessor macros and C++ lambda functions. Jim Sukha |
SPAA | 1 |
| 2014 | Provably good scheduling for parallel programs that use data structures through implicit batchingabstractThis poster proposes an efficient runtime scheduler that provides provable performance guarantees to parallel programs that use data structures through the use of implicit batching. Kunal Agrawal 0001, Jeremy T. Fineman, Brendan Sheridan, Jim Sukha, Robert Utterback |
PPoPP | 4 |
| 2014 | Provably good scheduling for parallel programs that use data structures through implicit batchingabstractAlthough concurrent data structures are commonly used in practice on shared-memory machines, even the most efficient concurrent structures often lack performance theorems guaranteeing linear speedup for the enclosing parallel program. Moreover, efficient concurrent data structures are difficult to design. In contrast, parallel batched data structures do provide provable performance guarantees, since processing a batch in parallel is easier than dealing with the arbitrary asynchrony of concurrent accesses. They can limit programmability, however, since restructuring a parallel program to use batched data structure instead of concurrent data structure can often be difficult or even infeasible. Kunal Agrawal 0001, Jeremy T. Fineman, Kefu Lu, Brendan Sheridan, Jim Sukha, Robert Utterback |
SPAA | 5 |
| 2013 | On-the-fly pipeline parallelismabstractPipeline parallelism organizes a parallel program as a linear sequence of s stages. Each stage processes elements of a data stream, passing each processed data element to the next stage, and then taking on a new element before the subsequent stages have necessarily completed their processing. Pipeline parallelism is used especially in streaming applications that perform video, audio, and digital signal processing. Three out of 13 benchmarks in PARSEC, a popular software benchmark suite designed for shared-memory multiprocessors, can be expressed as pipeline parallelism. I-Ting Angelina Lee, Charles E. Leiserson, Tao B. Schardl, Jim Sukha, Zhunping Zhang |
SPAA | 4 |
| 2012 | Deterministic parallel random-number generation for dynamic-multithreading platformsabstractExisting concurrency platforms for dynamic multithreading do not provide repeatable parallel random-number generators. This paper proposes that a mechanism called pedigrees be built into the runtime system to enable efficient deterministic parallel random-number generation. Experiments with the open-source MIT Cilk runtime system show that the overhead for maintaining pedigrees is negligible. Specifically, on a suite of 10 benchmarks, the relative overhead of Cilk with pedigrees to the original Cilk has a geometric mean of less than 1%. Charles E. Leiserson, Tao B. Schardl, Jim Sukha |
PPoPP | 3 |
| 2010 | Executing task graphs using work-stealingabstractNABBIT is a work-stealing library for execution of task graphs with arbitrary dependencies which is implemented as a library for the multithreaded programming language Cilk++. We prove that Nabbit executes static task graphs in parallel in time which is asymptotically optimal for graphs whose nodes have constant in-degree and out-degree. To evaluate the performance of Nabbit, we implemented a dynamic program representing the Smith-Waterman algorithm, an irregular dynamic program on a two-dimensional grid. Our experiments indicate that when task-graph nodes are mapped to reasonably sized blocks, Nabbit exhibits low overhead and scales as well as or better than other scheduling strategies. The Nabbit implementation that solves the dynamic program using a task graph even manages in some cases to outperform a divide-and-conquer implementation for directly solving the same dynamic program. Finally, we extend both the Nabbit implementation and the completion-time bounds to handle dynamic task graphs, that is, graphs whose nodes and edges are created on the fly at runtime. Kunal Agrawal 0001, Charles E. Leiserson, Jim Sukha |
IPDPS | 3 |
| 2010 | Helper locks for fork-join parallel programmingabstractHelper locks allow programs with large parallel critical sections, called parallel regions, to execute more efficiently by enlisting processors that might otherwise be waiting on the helper lock to aid in the execution of the parallel region. Suppose that a processor p is executing a parallel region A after having acquired the lock L protecting A. If another processor p′ tries to acquire L, then instead of blocking and waiting for p to complete A, processor p′ joins p to help it complete A. Additional processors not blocked on L may also help to execute A. Kunal Agrawal 0001, Charles E. Leiserson, Jim Sukha |
PPoPP | 3 |
| 2010 | Brief announcement: serial-parallel reciprocity in dynamic multithreaded languagesabstractIn dynamically multithreaded platforms that employ work stealing, there appears to be a fundamental tradeoff between providing provably good time and space bounds and supporting SP-reciprocity, the property of allowing arbitrary calling between parallel and serial code, including legacy serial binaries. Many known dynamically multithreaded platforms either fail to support SP-reciprocity or sacrifice on the provable time and space bounds that an efficient work-stealing scheduler could otherwise guarantee. Kunal Agrawal 0001, I-Ting Angelina Lee, Jim Sukha |
SPAA | 3 |
| 2009 | Safe open-nested transactions through ownershipabstractResearchers in transactional memory (TM) have proposed open nesting as a methodology for increasing the concurrency of transactional programs. The idea is to ignore ``low-level'' memory operations of an open-nested transaction when detecting conflicts for its parent transaction, and instead perform abstract concurrency control for the ``high-level'' operation that the nested transaction represents. To support this methodology, TM systems use an open-nested commit mechanism that commits all changes performed by an open-nested transaction directly to memory, thereby avoiding low-level conflicts. Unfortunately, because the TM runtime is unaware of the different levels of memory, unconstrained use of open-nested commits can lead to anomalous program behavior. Kunal Agrawal 0001, I-Ting Angelina Lee, Jim Sukha |
PPoPP | 3 |
| 2009 | Brief announcement: a lower bound for depth-restricted work stealingabstractWork stealing is a common technique used in the runtime schedulers of parallel languages such as Cilk and parallel libraries such as Intel Threading Building Blocks (TBB). Depth-restricted work stealing is a restriction of Cilk-like work stealing in which a processor blocked on a task at depth d can only steal tasks from other processors at depth greater than d. To support programs coded in a blocking style, i.e., code without explicit continuations, TBB imposes a depth restriction on work stealing to limit the stack space used by a computation.We present a lower bound on the completion time of a computation executed using a depth-restricted work-stealing scheduler. In particular, we construct a computation which on P processors runs a factor of Ω(P) slower with depth-restricted work stealing as compared to unrestricted work stealing. On this pessimal computation, depth-restricted work stealing asymptotically serializes execution while unrestricted work stealing achieves linear speedup. Jim Sukha |
SPAA | 1 |
| 2008 | Nested parallelism in transactional memoryabstractThis paper investigates adding transactions with nested parallelism and nested transactions to a dynamically multithreaded parallel programming language that generates only series-parallel programs. We describe XConflict, a data structure that facilitates conflict detection for a software transactional memory system which supports transactions with nested parallelism and unbounded nesting depth. For languages that use a Cilk-like work-stealing scheduler, XConflict answers concurrent conflict queries in O(1) time and can be maintained efficiently. In particular, for a program with T1 work and a span (or critical-path length) of T∞, the running time on p processors of the program augmented with XConflict is only O(T1/p + pT∞). Kunal Agrawal 0001, Jeremy T. Fineman, Jim Sukha |
PPoPP | 3 |
| 2008 | Safer open-nested transactions through ownershipabstractNo abstract available. Kunal Agrawal 0001, I-Ting Angelina Lee, Jim Sukha |
PPoPP | 3 |
| 2008 | Safe open-nested transactions through ownershipabstractResearchers in transactional memory (TM) have proposed open-nested transactions for increasing concurrency. The idea is to ignore "low-level" memory operations of the open-nested transaction when detecting conflicts for its parent transaction, and instead perform abstract concurrency control for the "high-level" operation that nested transaction represents. Unfortunately, because the TM runtime is unaware of the different levels of memory, an unconstrained use of open-nested commits can lead to anomalous program behavior. Kunal Agrawal 0001, I-Ting Angelina Lee, Jim Sukha |
SPAA | 3 |