Benjamin Wester

dblp:34/7934 · DBLP profile ↗
← Back
8ranked-venue papers
3as 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 · 5 · 2 first-authorSoftware engineering, systems software and programming languages · 4 · 1 first-authorComputer networks · 2 · 1 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 · 49% Distributed systems · 46% Processor architecture and microarchitecture · 5%
Software engineering, system software, and programming languages
4 papers
Concurrent programming · 59% Program analysis · 29% Debugging and program repair · 9%
Network and information security
1 paper
Hardware security and side channels · 100%

Topics — the 21 heaviest of 22, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Parallel and multicore computing
parallel programming models
0.432012
DoublePlay: Parallelizing Sequential Logging and Replay · ACM Trans. Comput. Syst. 2012
Operating system support for application-specific speculation · EuroSys 2011
DoublePlay: parallelizing sequential logging and replay · ASPLOS 2011
Parallel and multicore computing › parallel computing › parallel program debugging
deterministic replay
0.432012
DoublePlay: Parallelizing Sequential Logging and Replay · ACM Trans. Comput. Syst. 2012
DoublePlay: parallelizing sequential logging and replay · ASPLOS 2011
Respec: efficient online multiprocessor replayvia speculation and external determinism · ASPLOS 2010
Distributed systems › replication
geo-replication
0.212015
Wormhole: Reliable Pub-Sub to Support Geo-replicated Internet Services · NSDI 2015
Distributed systems
publish/subscribe systems
0.212015
Wormhole: Reliable Pub-Sub to Support Geo-replicated Internet Services · NSDI 2015
Concurrent programming
concurrency bugs
0.212013
Parallelizing data race detection · ASPLOS 2013
Concurrent programming › concurrency bug detection
data race detection
0.212013
Parallelizing data race detection · ASPLOS 2013
Program analysis
dynamic analysis
0.212013
Parallelizing data race detection · ASPLOS 2013
Program analysis › dynamic analysis
happens-before analysis
0.212013
Parallelizing data race detection · ASPLOS 2013
Distributed systems
replication
0.222015
Tolerating Latency in Replicated State Machines Through Client Speculation · NSDI 2009
Wormhole: Reliable Pub-Sub to Support Geo-replicated Internet Services · NSDI 2015
Hardware security and side channels
trusted execution environments
0.112012
Pasture: Secure Offline Data Access Using Commodity Trusted Hardware · OSDI 2012
Concurrent programming
speculative execution
0.112011
Operating system support for application-specific speculation · EuroSys 2011
Parallel and multicore computing
speculative parallelization
0.112011
Operating system support for application-specific speculation · EuroSys 2011
Concurrent programming
deterministic execution
0.112010
Respec: efficient online multiprocessor replayvia speculation and external determinism · ASPLOS 2010
Concurrent programming › concurrency models
shared-memory concurrency
0.112010
Respec: efficient online multiprocessor replayvia speculation and external determinism · ASPLOS 2010
Distributed systems
consensus
0.112009
Tolerating Latency in Replicated State Machines Through Client Speculation · NSDI 2009
Processor architecture and microarchitecture
memory latency tolerance
0.112009
Tolerating Latency in Replicated State Machines Through Client Speculation · NSDI 2009
Distributed systems › replication
state machine replication
0.112009
Tolerating Latency in Replicated State Machines Through Client Speculation · NSDI 2009
Distributed systems › fault tolerance
reliable communication
0.112015
Wormhole: Reliable Pub-Sub to Support Geo-replicated Internet Services · NSDI 2015
Operating systems › fault tolerance
checkpoint and rollback
0.012011
Operating system support for application-specific speculation · EuroSys 2011
Debugging and program repair › concurrent program debugging
concurrency bug diagnosis
0.012010
Respec: efficient online multiprocessor replayvia speculation and external determinism · ASPLOS 2010
Debugging and program repair › record and replay
replay debugging
0.012010
Respec: efficient online multiprocessor replayvia speculation and external determinism · ASPLOS 2010

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

checkpointing · 0.6timeslicing · 0.3rollback · 0.2causality tracking · 0.2speculation · 0.2external determinism · 0.2uniparallelism · 0.2transitive reduction · 0.2factorization · 0.2trusted hardware · 0.1time-slicing · 0.1
YearPublicationVenuePosition
2015 Wormhole: Reliable Pub-Sub to Support Geo-replicated Internet Services
Yogeshwer Sharma, Philippe Ajoux, Petchean Ang, David Callies, Abhishek Choudhary, Laurent Demailly, Thomas Fersch, Liat Atsmon Guz, Andrzej Kotulski, Sachin Kulkarni, Harry C. Li, Evgeniy Makeev, Kowshik Prakasam, Robbert van Renesse, Sabyasachi Roy, Pratyush Seth, Yee Jiun Song, Benjamin Wester, Kaushik Veeraraghavan, Peter Xie
NSDI20
2013 Parallelizing data race detection
abstract
Detecting data races in multithreaded programs is a crucial part of debugging such programs, but traditional data race detectors are too slow to use routinely. This paper shows how to speed up race detection by spreading the work across multiple cores. Our strategy relies on uniparallelism, which executes time intervals of a program (called epochs) in parallel to provide scalability, but executes all threads from a single epoch on a single core to eliminate locking overhead. We use several techniques to make parallelization effective: dividing race detection into three phases, predicting a subset of the analysis state, eliminating sequential work via transitive reduction, and reducing the work needed to maintain multiple versions of analysis via factorization. We demonstrate our strategy by parallelizing a happens-before detector and a lockset-based detector. We find that uniparallelism can significantly speed up data race detection. With 4x the number of cores as the original application, our strategy speeds up the median execution time by 4.4x for a happens-before detector and 3.3x for a lockset race detector. Even on the same number of cores as the conventional detectors, the ability for uniparallelism to elide analysis locks allows it to reduce the median overhead by 13% for a happens-before detector and 8% for a lockset detector.
Benjamin Wester, David Devecsery, Peter M. Chen, Jason Flinn, Satish Narayanasamy
ASPLOS1
2012 Pasture: Secure Offline Data Access Using Commodity Trusted Hardware
Ramakrishna Kotla, Thomas L. Rodeheffer, Indrajit Roy 0001, Patrick Stuedi, Benjamin Wester
OSDI5
2012 DoublePlay: Parallelizing Sequential Logging and Replay
abstract
Deterministic replay systems record and reproduce the execution of a hardware or software system. In contrast to replaying execution on uniprocessors, deterministic replay on multiprocessors is very challenging to implement efficiently because of the need to reproduce the order of or the values read by shared memory operations performed by multiple threads. In this paper, we present DoublePlay, a new way to efficiently guarantee replay on commodity multiprocessors. Our key insight is that one can use the simpler and faster mechanisms of single-processor record and replay, yet still achieve the scalability offered by multiple cores, by using an additional execution to parallelize the record and replay of an application. DoublePlay timeslices multiple threads on a single processor, then runs multiple time intervals ( epochs ) of the program concurrently on separate processors. This strategy, which we call uniparallelism , makes logging much easier because each epoch runs on a single processor (so threads in an epoch never simultaneously access the same memory) and different epochs operate on different copies of the memory. Thus, rather than logging the order of shared-memory accesses, we need only log the order in which threads in an epoch are timesliced on the processor. DoublePlay runs an additional execution of the program on multiple processors to generate checkpoints so that epochs run in parallel. We evaluate DoublePlay on a variety of client, server, and scientific parallel benchmarks; with spare cores, DoublePlay reduces logging overhead to an average of 15% with two worker threads and 28% with four threads.
Kaushik Veeraraghavan, Benjamin Wester, Jessica Ouyang 0002, Peter M. Chen, Jason Flinn, Satish Narayanasamy
ACM Trans. Comput. Syst.3
2011 DoublePlay: parallelizing sequential logging and replay
abstract
Deterministic replay systems record and reproduce the execution of a hardware or software system. In contrast to replaying execution on uniprocessors, deterministic replay on multiprocessors is very challenging to implement efficiently because of the need to reproduce the order or values read by shared memory operations performed by multiple threads. In this paper, we present DoublePlay, a new way to efficiently guarantee replay on commodity multiprocessors. Our key insight is that one can use the simpler and faster mechanisms of single-processor record and replay, yet still achieve the scalability offered by multiple cores, by using an additional execution to parallelize the record and replay of an application. DoublePlay timeslices multiple threads on a single processor, then runs multiple time intervals (epochs) of the program concurrently on separate processors. This strategy, which we call uniparallelism, makes logging much easier because each epoch runs on a single processor (so threads in an epoch never simultaneously access the same memory) and different epochs operate on different copies of the memory. Thus, rather than logging the order of shared-memory accesses, we need only log the order in which threads in an epoch are timesliced on the processor. DoublePlay runs an additional execution of the program on multiple processors to generate checkpoints so that epochs run in parallel. We evaluate DoublePlay on a variety of client, server, and scientific parallel benchmarks; with spare cores, DoublePlay reduces logging overhead to an average of 15% with two worker threads and 28% with four threads.
Kaushik Veeraraghavan, Benjamin Wester, Jessica Ouyang 0002, Peter M. Chen, Jason Flinn, Satish Narayanasamy
ASPLOS3
2011 Operating system support for application-specific speculation
abstract
Speculative execution is a technique that allows serial tasks to execute in parallel. An implementation of speculative execution can be divided into two parts: (1) a policy that specifies what operations and values to predict, what actions to allow during speculation, and how to compare results; and (2) the mechanisms that support speculative execution, such as checkpointing, rollback, causality tracking, and output buffering.
Benjamin Wester, Peter M. Chen, Jason Flinn
EuroSys1
2010 Respec: efficient online multiprocessor replayvia speculation and external determinism
abstract
Deterministic replay systems record and reproduce the execution of a hardware or software system. While it is well known how to replay uniprocessor systems, replaying shared memory multiprocessor systems at low overhead on commodity hardware is still an open problem. This paper presents Respec, a new way to support deterministic replay of shared memory multithreaded programs on commodity multiprocessor hardware. Respec targets online replay in which the recorded and replayed processes execute concurrently.
Benjamin Wester, Kaushik Veeraraghavan, Satish Narayanasamy, Peter M. Chen, Jason Flinn
ASPLOS2
2009 Tolerating Latency in Replicated State Machines Through Client Speculation
Benjamin Wester, James A. Cowling, Ed Nightingale, Peter M. Chen, Jason Flinn, Barbara Liskov
NSDI1