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.

Conor Hetland

dblp:180/8561 · DBLP profile ↗
← Back
6ranked-venue papers
2as first author
0since 2021 · last 2020
—ORCID · none

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

Systems, architecture and hardware · 6 · 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.

Computer architecture, parallel and distributed computing, and storage systems
3 papers
Performance modeling and evaluation · 29% Parallel and multicore computing · 27% Embedded and real-time systems · 22%
Software engineering, system software, and programming languages
2 papers
Operating systems · 66% Debugging and program repair · 34%

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

TopicWeightPapersLastEvidence papers
Performance modeling and evaluation › program instrumentation
binary instrumentation
0.412020
Spying on the Floating Point Behavior of Existing, Unmodified Scientific Applications · HPDC 2020
Performance modeling and evaluation
program instrumentation
0.412020
Spying on the Floating Point Behavior of Existing, Unmodified Scientific Applications · HPDC 2020
Performance modeling and evaluation
tracing
0.412020
Spying on the Floating Point Behavior of Existing, Unmodified Scientific Applications · HPDC 2020
Parallel and multicore computing › synchronization
barrier synchronization
0.412019
Paths to Fast Barrier Synchronization on the Node · HPDC 2019
Processor architecture and microarchitecture
instruction set architecture
0.412019
Paths to Fast Barrier Synchronization on the Node · HPDC 2019
Processor architecture and microarchitecture › instruction set architecture
ISA extension
0.412019
Paths to Fast Barrier Synchronization on the Node · HPDC 2019
Parallel and multicore computing › synchronization
synchronization mechanisms
0.412019
Paths to Fast Barrier Synchronization on the Node · HPDC 2019
Embedded and real-time systems › real-time scheduling
hard real-time scheduling
0.312018
Hard real-time scheduling for parallel run-time systems · HPDC 2018
Parallel and multicore computing
parallel programming runtimes
0.312018
Hard real-time scheduling for parallel run-time systems · HPDC 2018
Embedded and real-time systems › real-time scheduling
parallel real-time task scheduling
0.312018
Hard real-time scheduling for parallel run-time systems · HPDC 2018
Embedded and real-time systems
real-time scheduling
0.312018
Hard real-time scheduling for parallel run-time systems · HPDC 2018
Operating systems › kernel
kernel design
0.212016
Automatic Hybridization of Runtime Systems · HPDC 2016
Debugging and program repair
fault localization
0.112020
Spying on the Floating Point Behavior of Existing, Unmodified Scientific Applications · HPDC 2020
Reconfigurable computing and FPGAs › FPGA SoC
CPU-FPGA integration
0.112019
Paths to Fast Barrier Synchronization on the Node · HPDC 2019
High-performance computing
barrier elimination
0.112018
Hard real-time scheduling for parallel run-time systems · HPDC 2018
Parallel and multicore computing
synchronization
0.112018
Hard real-time scheduling for parallel run-time systems · HPDC 2018

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

tracing · 0.9binary instrumentation · 0.9simulation · 0.4performance evaluation · 0.4resource throttling · 0.3per-hardware-thread scheduling · 0.3runtime splitting · 0.2compiler toolchain · 0.2
YearPublicationVenuePosition
2020 Spying on the Floating Point Behavior of Existing, Unmodified Scientific Applications
abstract
Scientific (and other) applications are critically dependent on calculations done using IEEE floating point arithmetic. A number of concerns have been raised about correctness in such applications given the numerous gotchas the IEEE standard presents for developers, as well as the complexity of its implementation at the hardware and compiler levels. The standard and its implementations do provide mechanisms for analyzing floating point arithmetic as it executes, making it possible to find and track problematic operations. However, this capability is seldom used in practice. In response, we have developed FPSpy, a tool that provides this capability when operating underneath existing, unmodified x64 application binaries on Linux, including those using thread- and process-level parallelism. FPSpy can observe application behavior without any cooperation from the application or developer, and can potentially be deployed as part of a job launch process. We present the design, implementation, and performance evaluation of FPSpy. FPSpy operates conservatively, getting out of the way if the application itself begins to use any of the OS or hardware features that FPSpy depends on. Its overhead can be throttled, allowing a tradeoff between which and how many unusual events are to be captured, and the slowdown incurred by the application, with the low point providing virtually zero slowdown. We evaluated FPSpy by using it to methodically study seven widely-used applications/frameworks from a range of domains (five of which are in the NSF XSEDE top-20), as well as the NAS and PARSEC benchmark suites. All told, these comprise about 7.5 million lines of source code in a wide range of languages, and parallelism models (including OpenMP and MPI). FPSpy was able to produce trace information for all of them. The traces show that problematic floating point events occur in both the applications and the benchmarks. Analysis of the rounding behavior captured in our traces also suggests the feasibility of an approach to adding adaptive precision underneath existing, unmodified binaries.
Peter A. Dinda, Alex Bernat, Conor Hetland
HPDC3
2019 Paths to Fast Barrier Synchronization on the Node
abstract
Synchronization primitives like barriers heavily impact the performance of parallel programs. As core counts increase and granularity decreases, the value of enabling fast barriers increases. Through the evaluation of the performance of a variety of software implementations of barriers, we found the cost of software barriers to be on the order of tens of thousands of cycles on various incarnations of x64 hardware. We argue that reducing the latency of a barrier via hardware support will dramatically improve the performance of existing applications and runtimes, and would enable new execution models, including those which currently do not perform well on multicore machines. To support our argument, we first present the design, implementation, and evaluation of a barrier on the Intel HARP, a prototype that integrates an x64 processor and FPGA in the same package. This effort gives insight into the potential speed and compactness of hardware barriers, and suggests useful improvements to the HARP platform. Next, we turn to the processor itself and describe an x64 ISA extension for barriers, and how it could be implemented in the microarchitecture with minimal collateral changes. This design allows for barriers to be securely managed jointly between the OS and the application. Finally, we speculate on how barrier synchronization might be implemented on future photonics-based hardware.
Conor Hetland, Georgios Tziantzioulis, Brian Suchy, Michael Leonard, John Albers, Nikos Hardavellas, Peter A. Dinda
HPDC1
2019 Prospects for Functional Address Translation
abstract
Address translation fundamentally embodies a translation function that maps from virtual to physical addresses. In current systems, the translation function is encoded by the kernel in an in-memory radix tree structure (the page table hierarchy) which is then interpreted by the hardware (the pagewalker, pagewalk-caches, and TLBs). We consider implementing the translation function itself as reconfigurable hardware-does this make any sense? To study this question, we collected numerous in-situ Linux page tables for a wide range of workloads, including those from HPC, to serve as example translation functions. We then prototyped several potential mechanisms to implement the translation function, including inverted page tables with function-specific perfect hashing, translation functions directly implemented using Espresso-minimized PLAs, translation functions genetically-evolved in a language suitable for FPGA-like synthesis, and translation functions based on recovered/manufactured region (segment/mmap) lookup using multiplexor trees. Each mechanism was then evaluated using the Linux page tables, primarily for space and lookup speed. We report our findings and try to address the question.
Conor Hetland, Georgios Tziantzioulis, Brian Suchy, Kyle C. Hale, Nikos Hardavellas, Peter A. Dinda
MASCOTS1
2018 Hard real-time scheduling for parallel run-time systems
abstract
High performance parallel computing demands careful synchronization, timing, performance isolation and control, as well as the avoidance of OS and other types of noise. The employment of soft real-time systems toward these ends has already shown considerable promise, particularly for distributed memory machines. As processor core counts grow rapidly, a natural question is whether similar promise extends to the node. To address this question, we present the design, implementation, and performance evaluation of a hard real-time scheduler specifically for high performance parallel computing on shared memory nodes built on x64 processors, such as the Xeon Phi. Our scheduler is embedded in a kernel framework that is already specialized for high performance parallel run-times and applications, and that meets the basic requirements needed for a real-time OS (RTOS). The scheduler adds hard real-time threads both in their classic, individual form, and in a group form in which a group of parallel threads execute in near lock-step using only scalable, per-hardware-thread scheduling. On a current generation Intel Xeon Phi, the scheduler is able to handle timing constraints down to resolution of ∼13,000 cycles (∼10 μs), with synchronization to within ∼4,000 cycles (∼3 μs) among 255 parallel threads. The scheduler isolates a parallel group and is able to provide resource throttling with commensurate application performance. We also show that in some cases such fine-grain control over time allows us to eliminate barrier synchronization, leading to performance gains, particularly for fine-grain BSP workloads.
Peter A. Dinda, Jinghang Wang, Chris Beauchene, Conor Hetland
HPDC5
2018 Do Developers Understand IEEE Floating Point?
abstract
Floating point arithmetic, as specified in the IEEE standard, is used extensively in programs for science and engineering. This use is expanding rapidly into other domains, for example with the growing application of machine learning everywhere. While floating point arithmetic often appears to be arithmetic using real numbers, or at least numbers in scientific notation, it actually has a wide range of gotchas. Compiler and hardware implementations of floating point inject additional surprises. This complexity is only increasing as different levels of precision are becoming more common and there are even proposals to automatically reduce program precision (reducing power/energy and increasing performance) when results are deemed ""good enough.'"" Are software developers who depend on floating point aware of these issues? Do they understand how floating point can bite them? To find out, we conducted an anonymous study of different groups from academia, national labs, and industry. The participants in our sample did only slightly better than chance in correctly identifying key unusual behaviors of the floating point standard, and poorly understood which compiler and architectural optimizations were non-standard. These surprising results and others strongly suggest caution in the face of the expanding complexity and use of floating point arithmetic.
Peter A. Dinda, Conor Hetland
IPDPS2
2016 Automatic Hybridization of Runtime Systems
abstract
The hybrid runtime (HRT) model offers a plausible path towards high performance and efficiency. By integrating the OS kernel, parallel runtime, and application, an HRT allows the runtime developer to leverage the full privileged feature set of the hardware and specialize OS services to the runtime's needs. However, conforming to the HRT model currently requires a complete port of the runtime and application to the kernel level, for example to our Nautilus kernel framework, and this requires knowledge of kernel internals. In response, we developed Multiverse, a system that bridges the gap between a built-from-scratch HRT and a legacy runtime system. Multiverse allows existing, unmodified applications and runtimes to be brought into the HRT model without any porting effort whatsoever. Developers simply recompile their package with our compiler toolchain, and Multiverse automatically splits the execution of the application between the domains of a legacy OS and an HRT environment. To the user, the package appears to run as usual on Linux, but the bulk of it now runs as a kernel. The developer can then incrementally extend the runtime and application to take advantage of the HRT model. We describe the design and implementation of Multiverse, and illustrate its capabilities using the Racket runtime system.
Kyle C. Hale, Conor Hetland, Peter A. Dinda
HPDC2