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

Robert L. Bocchino Jr.

dblp:79/1803 · DBLP profile ↗
← Back
6ranked-venue papers
5as first author
0since 2021 · last 2011
—ORCID · none

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

Software engineering, systems software and programming languages · 4 · 3 first-authorSystems, architecture and hardware · 2 · 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.

Software engineering, system software, and programming languages
3 papers
Programming languages and type systems · 44% Concurrent programming · 32% Program analysis · 24%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 53% Distributed systems · 36% High-performance computing · 11%

Topics — the 9 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Concurrent programming › deterministic execution
deterministic parallelism
0.232011
Safe nondeterminism in a deterministic-by-default parallel language · POPL 2011
A type and effect system for deterministic parallel Java · OOPSLA 2009
Inferring Method Effect Summaries for Nested Heap Regions · ASE 2009
Programming languages and type systems › computational effects
type and effect systems
0.222011
Safe nondeterminism in a deterministic-by-default parallel language · POPL 2011
A type and effect system for deterministic parallel Java · OOPSLA 2009
Program analysis
effect analysis
0.112009
Inferring Method Effect Summaries for Nested Heap Regions · ASE 2009
Program analysis › effect analysis
effect inference
0.112009
Inferring Method Effect Summaries for Nested Heap Regions · ASE 2009
Programming languages and type systems
type systems
0.112009
A type and effect system for deterministic parallel Java · OOPSLA 2009
Distributed systems
distributed coordination
0.112008
Software transactional memory for large scale clusters · PPoPP 2008
Parallel and multicore computing › transactional memory
software transactional memory
0.112008
Software transactional memory for large scale clusters · PPoPP 2008
Parallel and multicore computing
parallel programming models
0.012011
Safe nondeterminism in a deterministic-by-default parallel language · POPL 2011
Programming languages and type systems
object-oriented programming
0.012009
A type and effect system for deterministic parallel Java · OOPSLA 2009

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

type and effect system · 0.2static semantics · 0.2dynamic semantics · 0.2ownership types · 0.1compile-time type checking · 0.1locality management · 0.1communication aggregation · 0.1
YearPublicationVenuePosition
2011 Types, Regions, and Effects for Safe Programming with Object-Oriented Parallel Frameworks
Robert L. Bocchino Jr., Vikram S. Adve
ECOOP1
2011 Safe nondeterminism in a deterministic-by-default parallel language
abstract
A number of deterministic parallel programming models with strong safety guarantees are emerging, but similar support for nondeterministic algorithms, such as branch and bound search, remains an open question. We present a language together with a type and effect system that supports nondeterministic computations with a deterministic-by-default guarantee: nondeterminism must be explicitly requested via special parallel constructs (marked nd), and any deterministic construct that does not execute any nd construct has deterministic input-output behavior. Moreover, deterministic parallel constructs are always equivalent to a sequential composition of their constituent tasks, even if they enclose, or are enclosed by, nd constructs. Finally, in the execution of nd constructs, interference may occur only between pairs of accesses guarded by atomic statements, so there are no data races, either between atomic statements and unguarded accesses (strong isolation) or between pairs of unguarded accesses (stronger than strong isolation alone). We enforce the guarantees at compile time with modular checking using novel extensions to a previously described effect system. Our effect system extensions also enable the compiler to remove unnecessary transactional synchronization. We provide a static semantics, dynamic semantics, and a complete proof of soundness for the language, both with and without the barrier removal feature. An experimental evaluation shows that our language can achieve good scalability for realistic parallel algorithms, and that the barrier removal techniques provide significant performance gains.
Robert L. Bocchino Jr., Stephen Heumann, Nima Honarmand, Sarita V. Adve, Vikram S. Adve, Adam Welc, Tatiana Shpeisman
POPL1
2009 Inferring Method Effect Summaries for Nested Heap Regions
abstract
Effect systems are important for reasoning about the side effects of a program. Although effect systems have been around for decades, they have not been widely adopted in practice because of the large number of annotations that they require. A tool that infers effects automatically can make effect systems practical. We present an effect inference algorithm and an Eclipse plug-in, DPJizer, which alleviate the burden of writing effect annotations for a language called Deterministic Parallel Java (DPJ). The key novel feature of the algorithm is the ability to infer effects on nested heap regions. Besides DPJ, we also illustrate how the algorithm can be used for a different effect system based on object ownership. Our experience shows that DPJizer is both useful and effective: (i) inferring effect annotations automatically saves significant programming burden; and (ii) inferred effects are more precise than those written manually, and are fine-grained enough to enable the compiler to prove determinism of the program.
Mohsen Vakilian, Danny Dig, Robert L. Bocchino Jr., Jeffrey Overbey, Vikram S. Adve, Ralph E. Johnson
ASE3
2009 A type and effect system for deterministic parallel Java
abstract
Today's shared-memory parallel programming models are complex and error-prone.While many parallel programs are intended to be deterministic, unanticipated thread interleavings can lead to subtle bugs and nondeterministic semantics. In this paper, we demonstrate that a practical type and effect system can simplify parallel programming by guaranteeing deterministic semantics with modular, compile-time type checking even in a rich, concurrent object-oriented language such as Java. We describe an object-oriented type and effect system that provides several new capabilities over previous systems for expressing deterministic parallel algorithms.We also describe a language called Deterministic Parallel Java (DPJ) that incorporates the new type system features, and we show that a core subset of DPJ is sound. We describe an experimental validation showing thatDPJ can express a wide range of realistic parallel programs; that the new type system features are useful for such programs; and that the parallel programs exhibit good performance gains (coming close to or beating equivalent, nondeterministic multithreaded programs where those are available).
Robert L. Bocchino Jr., Vikram S. Adve, Danny Dig, Sarita V. Adve, Stephen Heumann, Rakesh Komuravelli, Jeffrey Overbey, Patrick Simmons, Hyojin Sung, Mohsen Vakilian
OOPSLA1
2008 Software transactional memory for large scale clusters
abstract
While there has been extensive work on the design of software transactional memory (STM) for cache coherent shared memory systems, there has been no work on the design of an STM system for very large scale platforms containing potentially thousands of nodes. In this work, we present Cluster-STM, an STM designed for high performance on large-scale commodity clusters. Our design addresses several novel issues posed by this domain, including aggregating communication, managing locality, and distributing transactional metadata onto the nodes. We also re-evaluate several STM design choices previously studied for cache-coherent machines and conclude that, in some cases, different choices are appropriate on clusters. Finally, we show that our design scales well up to 512 processors. This is because on a cluster, the main barrier to STM scalability is the remote communication overhead imposed by the STM operations, and our design aggregates most of that communication with the communication of the underlying data.
Robert L. Bocchino Jr., Vikram S. Adve, Bradford L. Chamberlain
PPoPP1
2006 Vector LLVA: a virtual vector instruction set for media processing
abstract
We present Vector LLVA, a virtual instruction set architecture (VISA) that exposes extensive static information about vector parallelism while avoiding the use of hardware-specific parameters. We provide both arbitrary-length vectors (for targets that allow vectors of arbitrary length, or where the target length is not known) and fixed-length vectors (for targets that have a fixed vector length, such as subword SIMD extensions), together with a rich set of operations on both vector types. We have implemented translators that compile (1) Vector LLVA written with arbitrary-length vectors to the Motorola RSVP architecture and (2) Vector LLVA written with fixed-length vectors to both AltiVec and Intel SSE2. Our translatorgenerated code achieves speedups competitive with handwritten native code versions of several benchmarks on all three architectures. These experiments show that our V-ISA design captures vector parallelism for two quite different classes of architectures and provides virtual object code portability within the class of subword SIMD architectures.
Robert L. Bocchino Jr., Vikram S. Adve
VEE1