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

Tom Bergan

dblp:90/2307 · DBLP profile ↗
← Back
10ranked-venue papers
4as first author
0since 2021 · last 2015
—ORCID · none

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

Software engineering, systems software and programming languages · 8 · 4 first-authorSystems, architecture and hardware · 5 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1

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
4 papers
Parallel and multicore computing · 42% Memory systems · 34% Distributed systems · 22%
Software engineering, system software, and programming languages
6 papers
Concurrent programming · 30% Program analysis · 15% Program verification · 15%

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

TopicWeightPapersLastEvidence papers
Parallel and multicore computing
deterministic execution
0.432014
Efficient deterministic multithreading without global barriers · PPoPP 2014
RCDC: a relaxed consistency deterministic computer · ASPLOS 2011
Deterministic Process Groups in dOS · OSDI 2010
Program verification › concurrent program verification
multithreaded program verification
0.212014
Symbolic execution of multithreaded programs from arbitrary program contexts · OOPSLA 2014
Program analysis
symbolic execution
0.212014
Symbolic execution of multithreaded programs from arbitrary program contexts · OOPSLA 2014
Parallel and multicore computing › deterministic execution
deterministic multithreading
0.212014
Efficient deterministic multithreading without global barriers · PPoPP 2014
Memory systems › memory consistency › memory consistency model › release consistency
lazy release consistency
0.212014
Efficient deterministic multithreading without global barriers · PPoPP 2014
Memory systems
memory consistency
0.212014
Efficient deterministic multithreading without global barriers · PPoPP 2014
Concurrent programming
concurrency bugs
0.212013
Input-covering schedules for multithreaded programs · OOPSLA 2013
Software testing
concurrency testing
0.212013
Input-covering schedules for multithreaded programs · OOPSLA 2013
Memory systems › memory consistency
memory consistency model
0.112011
RCDC: a relaxed consistency deterministic computer · ASPLOS 2011
Concurrent programming
deterministic execution
0.112010
CoreDet: a compiler and runtime system for deterministic multithreaded execution · ASPLOS 2010
Concurrent programming › deterministic execution
deterministic multithreading
0.112010
CoreDet: a compiler and runtime system for deterministic multithreaded execution · ASPLOS 2010
Distributed systems › group communication
process groups
0.112010
Deterministic Process Groups in dOS · OSDI 2010
Compilers and program optimization › compiler construction
extensible compiler
0.112008
Xoc, an extension-oriented compiler for systems programming · ASPLOS 2008
Programming languages and type systems
language design
0.112008
Xoc, an extension-oriented compiler for systems programming · ASPLOS 2008
Programming languages and type systems › language design
language extension
0.112008
Xoc, an extension-oriented compiler for systems programming · ASPLOS 2008
Runtime systems and virtual machines › parallel runtime systems
multithreaded runtime
0.112014
Efficient deterministic multithreading without global barriers · PPoPP 2014
Distributed systems
fault tolerance
0.012013
DDOS: taming nondeterminism in distributed systems · ASPLOS 2013
Processor architecture and microarchitecture
multicore design
0.012011
RCDC: a relaxed consistency deterministic computer · ASPLOS 2011
Operating systems › distributed systems
distributed operating system
0.012010
Deterministic Process Groups in dOS · OSDI 2010
Operating systems
systems programming
0.012008
Xoc, an extension-oriented compiler for systems programming · ASPLOS 2008

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

kendo algorithm · 0.4global barrier elimination · 0.4symbolic execution · 0.2program context jumping · 0.2schedule constraint solving · 0.2node behavior analysis · 0.2network behavior analysis · 0.2compiler and runtime systems · 0.1runtime system · 0.1compiler · 0.1compiler extension framework · 0.1
YearPublicationVenuePosition
2015 An Efficient and Flexible Deterministic Framework for Multithreaded Programs
Kai Lu 0001, Xu Zhou 0004, Tom Bergan, Chen Chen 0016
J. Comput. Sci. Technol.4
2014 Symbolic execution of multithreaded programs from arbitrary program contexts
abstract
We describe an algorithm to perform symbolic execution of a multithreaded program starting from an arbitrary program context. We argue that this can enable more efficient symbolic exploration of deep code paths in multithreaded programs by allowing the symbolic engine to jump directly to program contexts of interest.
Tom Bergan, Dan Grossman, Luis Ceze
OOPSLA1
2014 Efficient deterministic multithreading without global barriers
abstract
Multithreaded programs execute nondeterministically on conventional architectures and operating systems. This complicates many tasks, including debugging and testing. Deterministic multithreading (DMT) makes the output of a multithreaded program depend on its inputs only, which can totally solve the above problem. However, current DMT implementations suffer from a common inefficiency: they use frequent global barriers to enforce a deterministic ordering on memory accesses. In this paper, we eliminate that inefficiency using an execution model we call deterministic lazy release consistency (DLRC). Our execution model uses the Kendo algorithm to enforce a deterministic ordering on synchronization, and it uses a deterministic version of the lazy release consistency memory model to propagate memory updates across threads. Our approach guarantees that programs execute deterministically even when they contain data races. We implemented a DMT system based on these ideas (RFDet) and evaluated it using 16 parallel applications. Our implementation targets C/C++ programs that use POSIX threads. Results show that RFDet gains nearly 2x speedup compared with DThreads-a start-of-the-art DMT system.
Kai Lu 0001, Xu Zhou 0004, Tom Bergan
PPoPP3
2013 DDOS: taming nondeterminism in distributed systems
abstract
Nondeterminism complicates the development and management of distributed systems, and arises from two main sources: the local behavior of each individual node as well as the behavior of the network connecting them. Taming nondeterminism effectively requires dealing with both sources.
Nicholas Hunt, Tom Bergan, Luis Ceze, Steve D. Gribble
ASPLOS2
2013 Failure Recovery: When the Cure Is Worse Than the Disease
Sean McDirmid, Mao Yang 0004, Li Zhuang, Yingwei Luo, Tom Bergan, Madan Musuvathi, Zheng Zhang 0001, Lidong Zhou
HotOS7
2013 Input-covering schedules for multithreaded programs
abstract
We propose constraining multithreaded execution to small sets of input-covering schedules, which we define as follows: given a program P, we say that a set of schedules ∑ covers all inputs of program P if, when given any input, P's execution can be constrained to some schedule in ∑ and still produce a semantically valid result.
Tom Bergan, Luis Ceze, Dan Grossman
OOPSLA1
2011 RCDC: a relaxed consistency deterministic computer
abstract
Providing deterministic execution significantly simplifies the debugging, testing, replication, and deployment of multithreaded programs. Recent work has developed deterministic multiprocessor architectures as well as compiler and runtime systems that enforce determinism in current hardware. Such work has incidentally imposed strong memory-ordering properties. Historically, memory ordering has been relaxed in favor of higher performance in shared memory multiprocessors and, interestingly, determinism exacerbates the cost of strong memory ordering. Consequently, we argue that relaxed memory ordering is vital to achieving faster deterministic execution.
Joseph Devietti, Jacob Nelson 0001, Tom Bergan, Luis Ceze, Dan Grossman
ASPLOS3
2010 CoreDet: a compiler and runtime system for deterministic multithreaded execution
abstract
The behavior of a multithreaded program does not depend only on its inputs. Scheduling, memory reordering, timing, and low-level hardware effects all introduce nondeterminism in the execution of multithreaded programs. This severely complicates many tasks, including debugging, testing, and automatic replication. In this work, we avoid these complications by eliminating their root cause: we develop a compiler and runtime system that runs arbitrary multithreaded C/C++ POSIX Threads programs deterministically.
Tom Bergan, Owen Anderson, Joseph Devietti, Luis Ceze, Dan Grossman
ASPLOS1
2010 Deterministic Process Groups in dOS
Tom Bergan, Nicholas Hunt, Luis Ceze, Steve D. Gribble
OSDI1
2008 Xoc, an extension-oriented compiler for systems programming
abstract
Today's system programmers go to great lengths to extend the languages in which they program. For instance, system-specific compilers find errors in Linux and other systems, and add support for specialized control flow to Qt and event-based programs. These compilers are difficult to build and cannot always understand each other's language changes. However, they can greatly improve code understandability and correctness, advantages that should be accessible to all programmers.
Russ Cox, Tom Bergan, Austin T. Clements, M. Frans Kaashoek, Eddie Kohler
ASPLOS2