Steven R. Brandt

dblp:81/8576 · DBLP profile ↗
← Back
8ranked-venue papers
2as first author
3since 2021 · last 2025
0000-0002-7979-2906ORCID · verified

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

Systems, architecture and hardware · 4 · 1 since 2021Software engineering, systems software and programming languages · 3 · 2 first-author · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 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.

Computer graphics and multimedia
1 paper
Visualization and visual analytics · 100%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
High-performance computing · 61% GPUs and heterogeneous computing · 30% Parallel and multicore computing · 9%

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

TopicWeightPapersLastEvidence papers
Visualization and visual analytics › software visualization
performance visualization
0.712023
Traveler: Navigating Task Parallel Traces for Performance Analysis · IEEE Trans. Vis. Comput. Graph. 2023
GPUs and heterogeneous computing
GPU computing
0.112012
Using GPU's to accelerate stencil-based computation kernels for the development of large scale scientific applications on heterogeneous systems · PPoPP 2012
High-performance computing
scientific computing
0.112012
Using GPU's to accelerate stencil-based computation kernels for the development of large scale scientific applications on heterogeneous systems · PPoPP 2012
High-performance computing
stencil computation
0.112012
Using GPU's to accelerate stencil-based computation kernels for the development of large scale scientific applications on heterogeneous systems · PPoPP 2012

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

linked views · 1.3design study · 1.3finite difference discretization · 0.1GPGPU kernel abstraction · 0.1
YearPublicationVenuePosition
2025 Locks Must Die: Composable Mutual Exclusion Implemented by Dynamic Resource Sharing on Task Graphs
abstract
Locks, the enduring de-facto standard for synchronization in parallel programs, suffer from non-composability and are conducive to a variety of hard-to-find bugs such as data races and deadlocks. In this paper, we propose a straightforward replacement of the traditional lock-based mutex with the Guard, a construct providing mutual exclusion through efficient, dynamic serialization of tasks in a dynamic task graph. Unlike with locks, programming with Guards is lock-free, composable, and immune to deadlock. Guards are compatible with arbitrary executor services, and can be implemented on any platform which supports atomic variables and compare-and-set operations. We will describe the general construction and API for Guards, introduce our reference implementation, and analyze through various benchmarks the performance of our reference implementation against the standard ReentrantLock class used in Java. The practice of writing multithreaded code will benefit from the safety, ease of use, and performance of Guards.
Max Morris, Steven R. Brandt, Hartmut Kaiser
eScience2
2023 Interactive C++ code development using C++Explorer and GitHub classroom for educational purposes
abstract
Abstract Teaching C ++ programming to noncomputer science majors comes with the burden of setting up an integrated development environment, a struggle for most students. Therefore, we present the open source tool, C ++ Explorer, a JupyterHub deployment for interactively developing C ++ code. Students can connect to the server without installing anything, and, almost instantly, they can begin to engage with code using the notebooks. Another aspect of code development is remote communication with coworkers or the community. To develop this skill, we use GitHub classroom to provide feedback on the assignments and practice remote communication. C ++ Explorer was used in the fall of 2019 and 2020 to teach parallel computation to mathematics students. At the end of the class, we gather students' feedback. This data will be used to continue improving the course. In addition, we present a Telegram ® bot for the communication with the server using smart phones or tablets. However, this tool was not used in the course and will be explored in future teaching.
Patrick Diehl, Steven R. Brandt
Concurr. Comput. Pract. Exp.2
2023 Traveler: Navigating Task Parallel Traces for Performance Analysis
abstract
Understanding the behavior of software in execution is a key step in identifying and fixing performance issues. This is especially important in high performance computing contexts where even minor performance tweaks can translate into large savings in terms of computational resource use. To aid performance analysis, developers may collect an execution trace-a chronological log of program activity during execution. As traces represent the full history, developers can discover a wide array of possibly previously unknown performance issues, making them an important artifact for exploratory performance analysis. However, interactive trace visualization is difficult due to issues of data size and complexity of meaning. Traces represent nanosecond-level events across many parallel processes, meaning the collected data is often large and difficult to explore. The rise of asynchronous task parallel programming paradigms complicates the relation between events and their probable cause. To address these challenges, we conduct a continuing design study in collaboration with high performance computing researchers. We develop diverse and hierarchical ways to navigate and represent execution trace data in support of their trace analysis tasks. Through an iterative design process, we developed Traveler, an integrated visualization platform for task parallel traces. Traveler provides multiple linked interfaces to help navigate trace data from multiple contexts. We evaluate the utility of Traveler through feedback from users and a case study, finding that integrating multiple modes of navigation in our design supported performance analysis tasks and led to the discovery of previously unknown behavior in a distributed array library.
Sayef Azad Sakin, Alex Bigelow, R. Tohid, Connor Scully-Allison, Carlos Scheidegger, Steven R. Brandt, Kevin A. Huck, Hartmut Kaiser, Katherine E. Isaacs
IEEE Trans. Vis. Comput. Graph.6
2020 A sustainable collaboratory for coastal resilience research
Steven R. Brandt, Reza Salatin, Rion Dooley
Future Gener. Comput. Syst.2
2018 Distributed garbage collection for general graphs
abstract
We propose a scalable, cycle-collecting, decentralized, reference counting garbage collector with partial tracing. The algorithm is based on the Brownbridge system but uses four different types of references to label edges. Memory usage is O (log n) bits per node, where n is the number of nodes in the graph. The algorithm assumes an asynchronous network model with a reliable reordering channel. It collects garbage in O (E a ) time, where E a is the number of edges in the in- duced subgraph. The algorithm uses termination detection to manage the distributed computation, a unique identifier to break the symmetry among multiple collectors, and a transaction-based approach when multiple collectors conflict. Unlike existing algorithms, ours is not centralized, does not require barriers, does not require migration of nodes, does not require back-pointers on every edge, and is stable against concurrent mutation.
Steven R. Brandt, Hari Krishnan, Costas Busch, Gokarna Sharma
ISMM1
2014 Concurrent, parallel garbage collection in linear time
abstract
This paper presents a new concurrent garbage collection algorithm based on two types of reference, strong and weak, to link the graph of objects. Strong references connect the roots to all the nodes in the graph but do not contain cycles. Weak references may, however, contain cycles.
Steven R. Brandt, Hari Krishnan, Gokarna Sharma, Costas Busch
ISMM1
2014 A survey of high level frameworks in block-structured adaptive mesh refinement packages
Anshu Dubey, Ann S. Almgren, John B. Bell, Martin Berzins, Steven R. Brandt, Greg Bryan, Phillip Colella, Daniel T. Graves, Michael Lijewski, Frank Löffler 0001, Brian W. O'Shea, Erik Schnetter, Brian van Straalen, Klaus Weide
J. Parallel Distributed Comput.5
2012 Using GPU's to accelerate stencil-based computation kernels for the development of large scale scientific applications on heterogeneous systems
abstract
We present CaCUDA - a GPGPU kernel abstraction and a parallel programming framework for developing highly efficient large scale scientific applications using stencil computations on hybrid CPU/GPU architectures. CaCUDA is built upon the Cactus computational toolkit, an open source problem solving environment designed for scientists and engineers. Due to the flexibility and extensibility of the Cactus toolkit, the addition of a GPGPU programming framework required no changes to the Cactus infrastructure, guaranteeing that existing features and modules will continue to work without modification. CaCUDA was tested and benchmarked using a 3D CFD code based on a finite difference discretization of Navier-Stokes equations.
Marek Blazewicz, Steven R. Brandt
PPoPP3