Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Caleb Voss 0001

dblp:164/8417-1 · DBLP profile ↗
← Back
3ranked-venue papers
2as first author
2since 2021 · last 2021
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 2 · 2 first-author · 1 since 2021Software engineering, systems software and programming languages · 1 · 1 since 2021

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
2 papers
Concurrent programming · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Parallel and multicore computing · 50% Cloud and datacenter computing · 50%

Topics — the 4 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Concurrent programming
synchronization
0.512021
An ownership policy and deadlock detector for promises · PPoPP 2021
Concurrent programming › parallel programming models
task parallelism
0.512021
An ownership policy and deadlock detector for promises · PPoPP 2021
Cloud and datacenter computing › resource management › shared resource management
deadlock avoidance
0.412019
Transitive joins: a sound and efficient online deadlock-avoidance policy · PPoPP 2019
Parallel and multicore computing › parallel programming models
task parallelism
0.412019
Transitive joins: a sound and efficient online deadlock-avoidance policy · PPoPP 2019

Methods — techniques the papers use, named apart from their topics

online verification · 0.8dynamic analysis · 0.8static analysis · 0.5
YearPublicationVenuePosition
2021 Linear Promises: Towards Safer Concurrent Programming
abstract
In this paper, we introduce a new type system based on linear typing, and show how it can be incorporated in a concurrent programming language to track ownership of promises. By tracking write operations on each promise, the language is able to guarantee exactly one write operation is ever performed on any given promise. This language thus precludes a number of common bugs found in promise-based programs, such as failing to write to a promise and writing to the same promise multiple times. We also present an implementation of the language, complete with an efficient type checking algorithm and high-level programming constructs. This language serves as a safer platform for writing high-level concurrent code.
Ohad Rau, Caleb Voss 0001, Vivek Sarkar
ECOOP2
2021 An ownership policy and deadlock detector for promises
abstract
Task-parallel programs often enjoy deadlock freedom under certain restrictions, such as the use of structured join operations, as in Cilk and X10, or the use of asynchronous task futures together with deadlock-avoiding policies such as Known Joins or Transitive Joins. However, the promise, a popular synchronization primitive for parallel tasks, does not enjoy deadlock-freedom guarantees. Promises can exhibit deadlock-like bugs; however, the concept of a deadlock is not currently well-defined for promises.
Caleb Voss 0001, Vivek Sarkar
PPoPP1
2019 Transitive joins: a sound and efficient online deadlock-avoidance policy
abstract
We introduce a new online deadlock-avoidance policy, Transitive Joins (TJ), that targets programs with dynamic task parallelism and arbitrary join operations. In this model, a computation task can asynchronously spawn new tasks and selectively join (block) on any task for which it has a handle. We prove that TJ soundly guarantees the absence of deadlock cycles among the blocking join operations. We present an algorithm for dynamically verifying TJ and show that TJ results in fewer false positives than the state-of-the-art policy, Known Joins (KJ). We evaluate an implementation of our verifier in comparison to prior work. The evaluation results show that instrumenting a program with a TJ verifier incurs geometric mean overheads of only 1.06× in execution time and 1.09× in memory usage, which is better overall than existing KJ verifiers. TJ is a practical online deadlock-avoidance policy that is applicable to a wide range of parallel programming models.
Caleb Voss 0001, Tiago Cogumbreiro, Vivek Sarkar
PPoPP1