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

Joseph G. Wingbermuehle

dblp:37/10372 · DBLP profile ↗
← Back
6ranked-venue papers
4as 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 · 4 · 3 first-authorSoftware engineering, systems software and programming languages · 1 · 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
1 paper
Reconfigurable computing and FPGAs · 44% Memory systems · 44% Embedded and real-time systems · 13%

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

TopicWeightPapersLastEvidence papers
Memory systems › memory hierarchy
cache hierarchy
0.212015
Superoptimized Memory Subsystems for Streaming Applications · FPGA 2015
Reconfigurable computing and FPGAs
FPGA accelerator
0.212015
Superoptimized Memory Subsystems for Streaming Applications · FPGA 2015
Embedded and real-time systems
streaming applications
0.112015
Superoptimized Memory Subsystems for Streaming Applications · FPGA 2015

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

superoptimization · 0.2streaming · 0.2
YearPublicationVenuePosition
2015 Superoptimized Memory Subsystems for Streaming Applications
abstract
Because main memory is many times slower than modern processor cores, deep, multi-level cache hierarchies are ubiquitous in computers today. Similarly, applications deployed on ASICs and FPGAs are often hindered by slow external memories. Therefore, to achieve good performance, hardware designers must optimize main memory usage. Unfortunately, this process is often labor intensive and fails to explore the full range of potential memory designs. To address this issue for applications expressed in a streaming manner, we show that it is possible to generate automatically a superoptimized memory subsystem that can be deployed on an FPGA such that it performs better than a general-purpose memory subsystem. Rather than explore only simple memory subsystems, our superoptimizer is capable of exploring extremely complex designs consisting of multi-level caches and other components. Finally, we show that it is possible to deploy applications with superoptimized memory subsystems with minimal additional effort while achieving significant performance improvements over a naive memory subsystem.
Joseph G. Wingbermuehle, Ron Cytron, Roger D. Chamberlain
FPGA1
2014 Superoptimization of memory subsystems
abstract
The disparity in performance between processors and main memories has led computer architects to incorporate large cache hierarchies in modern computers. Because these cache hierarchies are designed to be general-purpose, they may not provide the best possible performance for a given application. In this paper, we determine a memory subsystem well suited for a given application and main memory by discovering a memory subsystem comprised of caches,scratchpads, and other components that are combined to provide better performance. We draw motivation from the superoptimization of instruction sequences, which successfully finds unusually clever instruction sequences for programs. Targeting both ASIC and FPGA devices, we show that it is possible to discover unusual memory subsystems that provide performance improvements over a typical memory subsystem.
Joseph G. Wingbermuehle, Ron Cytron, Roger D. Chamberlain
LCTES1
2013 Compiling for power with ScalaPipe
Joseph G. Wingbermuehle, Ron Cytron, Roger D. Chamberlain
J. Syst. Archit.1
2012 ScalaPipe: A Streaming Application Generator
abstract
Summary form only given. ScalaPipe is a streaming application generator for heterogeneous platforms. By using a collection of domain-specific languages (DSLs) embedded in the Scala programming language, ScalaPipe allows creation of streaming applications that can run on a variety of hardware, including traditional processors, graphics processors, and field-programmable gate arrays (FPGAs). Its application DSL allows specification of the application topology and resource mapping. Its block DSL allows the authoring of implementations for processing kernels, or blocks, which are used in the streaming application. ScalaPipe makes it easy to generate, modify, and instrument large, complex topologies and resource mappings while also exposing optimization opportunities.
Joseph G. Wingbermuehle, Roger D. Chamberlain, Ron Cytron
FCCM1
2011 Crossing Boundaries in TimeTrial: Monitoring Communications across Architecturally Diverse Computing Platforms
abstract
Time Trial is a low-impact performance monitor that supports streaming data applications deployed on a variety of architecturally diverse computational platforms, including multicore processors and field-programmable gate arrays. Communication between resources in architecturally diverse systems is frequently a limitation to overall application performance. Understanding these bottlenecks is crucial to understanding overall application performance. Direct measurement of inter-resource communications channel occupancy is not readily achievable without significantly impacting performance of the application itself. Here, we present Time Trial's approach to monitoring those queues that cross platform boundaries. Since the approach includes a combination of direct measurement and modeling, we also describe circumstances under which the model can be shown to be inappropriate. Examples with several micro-benchmark applications (for which the true measurement is known) and an application that uses Monte Carlo techniques to solve Lap lace's equation are used for illustrative purposes.
Joseph M. Lancaster, Joseph G. Wingbermuehle, Jonathan C. Beard, Roger D. Chamberlain
EUC2
2011 Asking for Performance: Exploiting Developer Intuition to Guide Instrumentation with TimeTrial
abstract
Architecturally-diverse systems (containing co-processors such as reconfigurable logic and graphics engines) have received significant attention recently in the high performance computing community. They are new enough, however, that application development tools are quite limited. This paper describes our performance measurement system, Time Trial, that automates performance measurements of diverse, streaming data applications. Time Trial enables low-impact measurements by interpreting performance queries in the Time Trial language and by compiling these queries to highly-specific, optimized instrumentation that aggressively performs lossy compression on the performance meta-data. Currently, Time Trial supports multi-core processors and reconfigurable logic, with GPU support under development. We present the Time Trial language and its associated compiler, including its use in optimizing the performance of an example computational science problem.
Joseph M. Lancaster, Joseph G. Wingbermuehle, Roger D. Chamberlain
HPCC2