Demo Data from EDBT 2026 / reviewers in the wild / expert
Harry Wagstaff
dblp:130/1355
· DBLP profile ↗
14ranked-venue papers
3as first author
0since 2021 · last 2019
0000-0002-2079-8596ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 8 · 2 first-authorSoftware engineering, systems software and programming languages · 5 · 1 first-authorArtificial intelligence and machine learning · 1Applied, 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 |
Performance modeling and evaluation · 46% Cloud and datacenter computing · 23% Hardware accelerators and domain-specific architectures · 15% | |
| Software engineering, system software, and programming languages
4 papers |
Runtime systems and virtual machines · 47% Operating systems · 44% Compilers and program optimization · 9% | |
| Artificial intelligence
2 papers |
Robot navigation and mapping · 100% |
Topics — the 14 heaviest of 17, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Runtime systems and virtual machines › binary translation
dynamic binary translation |
0.8 | 3 | 2019 | A Retargetable System-Level DBT Hypervisor · USENIX ATC 2019 A Retargetable System-level DBT Hypervisor · ACM Trans. Comput. Syst. 2018 Hardware-Accelerated Cross-Architecture Full-System Virtualization · ACM Trans. Archit. Code Optim. 2016 |
Operating systems › virtualization
hypervisor |
0.7 | 2 | 2019 | A Retargetable System-Level DBT Hypervisor · USENIX ATC 2019 A Retargetable System-level DBT Hypervisor · ACM Trans. Comput. Syst. 2018 |
Robotics › Robot navigation and mapping
SLAM |
0.4 | 2 | 2018 | Navigating the Landscape for Real-Time Localization and Mapping for Robotics and Virtual and Augmented Reality · Proc. IEEE 2018 SLAMBench2: Multi-Objective Head-to-Head Benchmarking for Visual SLAM · ICRA 2018 |
Robotics › Robot navigation and mapping › SLAM
real-time SLAM |
0.3 | 1 | 2018 | Navigating the Landscape for Real-Time Localization and Mapping for Robotics and Virtual and Augmented Reality · Proc. IEEE 2018 |
Performance modeling and evaluation
benchmarking |
0.3 | 1 | 2018 | SLAMBench2: Multi-Objective Head-to-Head Benchmarking for Visual SLAM · ICRA 2018 |
Electronic design automation
design space exploration |
0.3 | 1 | 2018 | Navigating the Landscape for Real-Time Localization and Mapping for Robotics and Virtual and Augmented Reality · Proc. IEEE 2018 |
Performance modeling and evaluation › benchmarking
SLAM benchmarking |
0.3 | 1 | 2018 | SLAMBench2: Multi-Objective Head-to-Head Benchmarking for Visual SLAM · ICRA 2018 |
Cloud and datacenter computing › virtualization
hardware-assisted virtualization |
0.2 | 1 | 2016 | Hardware-Accelerated Cross-Architecture Full-System Virtualization · ACM Trans. Archit. Code Optim. 2016 |
Cloud and datacenter computing
virtualization |
0.2 | 1 | 2016 | Hardware-Accelerated Cross-Architecture Full-System Virtualization · ACM Trans. Archit. Code Optim. 2016 |
Compilers and program optimization
partial evaluation |
0.2 | 1 | 2013 | Early partial evaluation in a JIT-compiled, retargetable instruction set simulator generated from a high-level architecture description · DAC 2013 |
Performance modeling and evaluation › simulation › processor simulation
instruction set simulation |
0.2 | 1 | 2013 | Early partial evaluation in a JIT-compiled, retargetable instruction set simulator generated from a high-level architecture description · DAC 2013 |
Performance modeling and evaluation
simulation |
0.2 | 1 | 2013 | Early partial evaluation in a JIT-compiled, retargetable instruction set simulator generated from a high-level architecture description · DAC 2013 |
Operating systems
virtualization |
0.1 | 1 | 2019 | A Retargetable System-Level DBT Hypervisor · USENIX ATC 2019 |
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation |
0.1 | 1 | 2018 | A Retargetable System-level DBT Hypervisor · ACM Trans. Comput. Syst. 2018 |
Methods — techniques the papers use, named apart from their topics
JIT compilation · 1.6machine learning · 1.0heterogeneous acceleration · 1.0memory management unit virtualization · 0.5dynamic binary translation · 0.5retargetable DBT · 0.3partial evaluation · 0.3offline and online optimization · 0.3archc · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Full-System Simulation of Mobile CPU/GPU PlatformsabstractGraphics Processing Units (GPUs) critically rely on a complex system software stack comprising kernel- and user-space drivers and Just-in-time (JIT) compilers. Yet, existing GPU simulators typically abstract away details of the software stack and GPU instruction set. Partly, this is because GPU vendors rarely release sufficient information about their latest GPU products. However, this is also due to the lack of an integrated CPU/GPU simulation framework, which is complete and powerful enough to drive the complex GPU software environment. This has led to a situation where research on GPU architectures and compilers is largely based on outdated or greatly simplified architectures and software stacks, undermining the validity of the generated results. In this paper we develop a full-system system simulation environment for a mobile platform, which enables users to run a complete and unmodified software stack for a state-of-the-art mobile Arm CPU and Mali-G71 GPU powered device. We validate our simulator against a hardware implementation and Arm's stand-alone GPU simulator, achieving 100% architectural accuracy across all available toolchains. We demonstrate the capability of our GPU simulation framework by optimizing an advanced Computer Vision application using simulated statistics unavailable with other simulation approaches or physical GPU implementations. We demonstrate that performance optimizations for desktop GPUs trigger bottlenecks on mobile GPUs, and show the importance of efficient memory use. Kuba Kaszyk, Harry Wagstaff, Tom Spink, Björn Franke, Michael F. P. O'Boyle, Bruno Bodin, Henrik Uhrenholt |
ISPASS | 2 |
| 2019 | A Retargetable System-Level DBT Hypervisor
Tom Spink, Harry Wagstaff, Björn Franke |
USENIX ATC | 2 |
| 2019 | Mitigating JIT compilation latency in virtual execution environmentsabstractMany Virtual Execution Environments (VEEs) rely on Just-in-time (JIT) compilation technology for code generation at runtime, e.g. in Dynamic Binary Translation (DBT) systems or language Virtual Machines (VMs). While JIT compilation improves native execution performance as opposed to e.g. interpretive execution, the JIT compilation process itself introduces latency. In fact, for highly optimizing JIT compilers or compilers not specifically designed for JIT compilation, e.g. LLVM, this latency can cause a substantial overhead. While existing work has introduced asynchronously decoupled JIT compilation task farms to hide this JIT compilation latency, we show that this on its own is not sufficient to mitigate the impact of JIT compilation latency on overall performance. In this paper, we introduce a novel JIT compilation scheduling policy, which performs continuous low-cost profiling of code regions already dispatched for JIT compilation, right up to the point where compilation commences. We have integrated our novel JIT compilation scheduling approach into a commercial LLVM-based DBT system and demonstrate speedups of 1.32x on average, and up to 2.31x, over its state-of-the-art concurrent task-farm based JIT compilation scheme across the SPEC CPU2006 and BioPerf benchmark suites. Martin Kristien, Tom Spink, Harry Wagstaff, Björn Franke, Igor Böhm, Nigel P. Topham |
VEE | 3 |
| 2018 | SLAMBench2: Multi-Objective Head-to-Head Benchmarking for Visual SLAMabstractSLAM is becoming a key component of robotics and augmented reality (AR) systems. While a large number of SLAM algorithms have been presented, there has been little effort to unify the interface of such algorithms, or to perform a holistic comparison of their capabilities. This is a problem since different SLAM applications can have different functional and non-functional requirements. For example, a mobile phone-based AR application has a tight energy budget, while a UAV navigation system usually requires high accuracy. SLAMBench2 is a benchmarking framework to evaluate existing and future SLAM systems, both open and close source, over an extensible list of datasets, while using a comparable and clearly specified list of performance metrics. A wide variety of existing SLAM algorithms and datasets is supported, e.g. ElasticFusion, InfiniTAM, ORB-SLAM2, OKVIS, and integrating new ones is straightforward and clearly specified by the framework. SLAMBench2 is a publicly-available software framework which represents a starting point for quantitative, comparable and val-idatable experimental research to investigate trade-offs across SLAM systems. Bruno Bodin, Harry Wagstaff, Sajad Saeedi G., Luigi Nardi, Emanuele Vespa, John Mawer, Andy Nisbet, Mikel Luján, Steve Furber, Andrew J. Davison, Paul H. J. Kelly, Michael F. P. O'Boyle |
ICRA | 2 |
| 2018 | Algorithmic Performance-Accuracy Trade-off in 3D Vision ApplicationsabstractSimultaneous Localisation And Mapping (SLAM) is a key component of robotics and augmented reality (AR) systems. While a large number of SLAM algorithms have been presented, there has been little effort to unify the interface of such algorithms, or to perform a holistic comparison of their capabilities. This is particularly true when it comes to evaluate the potential trade-offs between computation speed, accuracy, and power consumption. SLAMBench is a benchmarking framework to evaluate existing and future SLAM systems, both open and closed source, over an extensible list of datasets, while using a comparable and clearly specified list of performance metrics. SLAMBench is a publicly-available software framework which represents a starting point for quantitative, comparable and validatable experimental research to investigate trade-offs in performance, accuracy and energy consumption across SLAM systems. In this poster we give an overview of SLAMBench and in particular we show how this framework can be used within Design Space Exploration and large-scale performance evaluation on mobile phones. Bruno Bodin, Luigi Nardi, Harry Wagstaff, Paul H. J. Kelly, Michael F. P. O'Boyle |
ISPASS | 3 |
| 2018 | Navigating the Landscape for Real-Time Localization and Mapping for Robotics and Virtual and Augmented RealityabstractVisual understanding of 3-D environments in real time, at low power, is a huge computational challenge. Often referred to as simultaneous localization and mapping (SLAM), it is central to applications spanning domestic and industrial robotics, autonomous vehicles, and virtual and augmented reality. This paper describes the results of a major research effort to assemble the algorithms, architectures, tools, and systems software needed to enable delivery of SLAM, by supporting applications specialists in selecting and configuring the appropriate algorithm and the appropriate hardware, and compilation pathway, to meet their performance, accuracy, and energy consumption goals. The major contributions we present are: 1) tools and methodology for systematic quantitative evaluation of SLAM algorithms; 2) automated, machine-learning-guided exploration of the algorithmic and implementation design space with respect to multiple objectives; 3) end-to-end simulation tools to enable optimization of heterogeneous, accelerated architectures for the specific algorithmic requirements of the various SLAM algorithmic approaches; and 4) tools for delivering, where appropriate, accelerated, adaptive SLAM solutions in a managed, JIT-compiled, adaptive runtime context. Sajad Saeedi G., Bruno Bodin, Harry Wagstaff, Andy Nisbet, Luigi Nardi, John Mawer, Nicolas Melot, Oscar Palomar, Emanuele Vespa, Tom Spink, Cosmin Gorgovan, Andrew M. Webb 0002, James Clarkson, Erik Tomusk, Thomas Debrunner, Kuba Kaszyk, Pablo González de Aledo Marugán, Andrey Rodchenko, Graham D. Riley, Christos Kotselidis, Björn Franke, Michael F. P. O'Boyle, Andrew J. Davison, Paul H. J. Kelly, Mikel Luján, Steve Furber |
Proc. IEEE | 3 |
| 2018 | A Retargetable System-level DBT HypervisorabstractSystem-level Dynamic Binary Translation (DBT) provides the capability to boot an Operating System (OS) and execute programs compiled for an Instruction Set Architecture (ISA) different from that of the host machine. Due to their performance-critical nature, system-level DBT frameworks are typically hand-coded and heavily optimized, both for their guest and host architectures. While this results in good performance of the DBT system, engineering costs for supporting a new architecture or extending an existing architecture are high. In this article, we develop a novel, retargetable DBT hypervisor, which includes guest-specific modules generated from high-level guest machine specifications. Our system simplifies retargeting of the DBT, but it also delivers performance levels in excess of existing manually created DBT solutions. We achieve this by combining offline and online optimizations and exploiting the freedom of a Just-in-time (JIT) compiler operating in a bare-metal environment provided by a Virtual Machine (VM) hypervisor. We evaluate our DBT using both targeted micro-benchmarks as well as standard application benchmarks, and we demonstrate its ability to outperform the de facto standard Q EMU DBT system. Our system delivers an average speedup of 2.21× over Q EMU across SPEC CPU2006 integer benchmarks running in a full-system Linux OS environment, compiled for the 64-bit ARMv8-A ISA and hosted on an x86-64 platform. For floating-point applications the speedup is even higher, reaching 6.49× on average. We demonstrate that our system-level DBT system significantly reduces the effort required to support a new ISA while delivering outstanding performance. Tom Spink, Harry Wagstaff, Björn Franke |
ACM Trans. Comput. Syst. | 2 |
| 2017 | SimBench: A portable benchmarking methodology for full-system simulatorsabstractFull-system simulators are increasingly finding their way into the consumer space for the purposes of backwards compatibility and hardware emulation (e.g. for games consoles). For such compute-intensive applications simulation performance is paramount. In this paper we argue that existing benchmark suites such as SPEC CPU2006, originally designed for architecture and compiler performance evaluation, are not well suited for the identification of performance bottlenecks in full-system simulators. While their large, complex workloads provide an indication as to the performance of the simulator on `real-world' workloads, this does not give any indication of why a particular simulator might run an application faster or slower than another. In this paper we present SimBench, an extensive suite of targeted micro-benchmarks designed to run bare-metal on a fullsystem simulator. SimBench exercises dynamic binary translation (DBT) performance, interrupt and exception handling, memory access performance, I/O and other performance-sensitive areas. SimBench is cross-platform benchmarking framework and can be retargeted to new architectures with minimal effort. For several simulators, including QEMU, Gem5 and SimIt-ARM, and targeting ARM and Intel x86 architectures, we demonstrate that SimBench is capable of accurately pinpointing and explaining real-world performance anomalies, which are largely obfuscated by existing application-oriented benchmarks. Harry Wagstaff, Bruno Bodin, Tom Spink, Björn Franke |
ISPASS | 1 |
| 2016 | Integrating Algorithmic Parameters into Benchmarking and Design Space Exploration in 3D Scene UnderstandingabstractSystem designers typically use well-studied benchmarks to evaluate and improve new architectures and compilers. We design tomorrow's systems based on yesterday's applications. In this paper we investigate an emerging application, 3D scene understanding, likely to be significant in the mobile space in the near future. Until now, this application could only run in real-time on desktop GPUs. In this work, we examine how it can be mapped to power constrained embedded systems. Key to our approach is the idea of incremental co-design exploration, where optimization choices that concern the domain layer are incrementally explored together with low-level compiler and architecture choices. The goal of this exploration is to reduce execution time while minimizing power and meeting our quality of result objective. As the design space is too large to exhaustively evaluate, we use active learning based on a random forest predictor to find good designs. We show that our approach can, for the first time, achieve dense 3D mapping and tracking in the real-time range within a 1W power budget on a popular embedded device. This is a 4.8x execution time improvement and a 2.8x power reduction compared to the state-of-the-art. Bruno Bodin, Luigi Nardi, M. Zeeshan Zia, Harry Wagstaff, Govind Sreekar Shenoy, Murali Emani, John Mawer, Christos Kotselidis, Andy Nisbet, Mikel Luján, Björn Franke, Paul H. J. Kelly, Michael F. P. O'Boyle |
PACT | 4 |
| 2016 | Efficient asynchronous interrupt handling in a full-system instruction set simulatorabstractInstruction set simulators (ISS) have many uses in embedded software and hardware development and are typically based on dynamic binary translation (DBT), where frequently executed regions of guest instructions are compiled into host instructions using a just-in-time (JIT) compiler. Full-system simulation, which necessitates handling of asynchronous interrupts from e.g. timers and I/O devices, complicates matters as control flow is interrupted unpredictably and diverted from the current region of code. In this paper we present a novel scheme for handling of asynchronous interrupts, which integrates seamlessly into a region-based dynamic binary translator. We first show that our scheme is correct, i.e. interrupt handling is not deferred indefinitely, even in the presence of code regions comprising control flow loops. We demonstrate that our new interrupt handling scheme is efficient as we minimise the number of inserted checks. Interrupt handlers are also presented to the JIT compiler and compiled to native code, further enhancing the performance of our system. We have evaluated our scheme in an ARM simulator using a region-based JIT compilation strategy. We demonstrate that our solution reduces the number of dynamic interrupt checks by 73%, reduces interrupt service latency by 26% and improves throughput of an I/O bound workload by 7%, over traditional per-block schemes. Tom Spink, Harry Wagstaff, Björn Franke |
LCTES | 2 |
| 2016 | Hardware-Accelerated Cross-Architecture Full-System VirtualizationabstractHardware virtualization solutions provide users with benefits ranging from application isolation through server consolidation to improved disaster recovery and faster server provisioning. While hardware assistance for virtualization is supported by all major processor architectures, including Intel, ARM, PowerPC, and MIPS, these extensions are targeted at virtualization of the same architecture, for example, an x86 guest on an x86 host system. Existing techniques for cross-architecture virtualization, for example, an ARM guest on an x86 host, still incur a substantial overhead for CPU, memory, and I/O virtualization due to the necessity for software emulation of these mismatched system components. In this article, we present a new hardware-accelerated hypervisor called C aptive , employing a range of novel techniques that exploit existing hardware virtualization extensions for improving the performance of full-system cross-platform virtualization. We illustrate how (1) guest memory management unit (MMU) events and operations can be mapped onto host memory virtualization extensions, eliminating the need for costly software MMU emulation, (2) a block-based dynamic binary translation engine inside the virtual machine can improve CPU virtualization performance, (3) memory-mapped guest I/O can be efficiently translated to fast I/O specific calls to emulated devices, and (4) the cost for asynchronous guest interrupts can be reduced. For an ARM-based Linux guest system running on an x86 host with Intel VT support, we demonstrate application performance levels, based on SPEC CPU2006 benchmarks, of up to 5.88× over state-of-the-art Q emu and 2.5× on average, achieving a guest dynamic instruction throughput of up to 1280 MIPS (million instructions per second) and 915.52 MIPS, on average. Tom Spink, Harry Wagstaff, Björn Franke |
ACM Trans. Archit. Code Optim. | 2 |
| 2014 | Automated ISA branch coverage analysis and test case generation for retargetable instruction set simulatorsabstractProcessor design tools integrate in their workflows generators for instruction set simulators (Iss) from architecture descriptions. However, it is difficult to validate the correctness of these simulators. Isa coverage analysis is insufficient to isolate modelling faults, which might only be exposed in corner cases. We present a novel Isa branch coverage analysis, which considers every possible execution path within an instruction and, on demand, generates new test cases to cover the missing paths. We have applied this analysis to industry standard Eembc and Spec Cpu2006 benchmarks and show that for an Arm v5T model neither of these benchmark suites provides a sufficient Isa coverage to exercise every path through each instruction of the whole instruction set. Harry Wagstaff, Tom Spink, Björn Franke |
CASES | 1 |
| 2014 | Efficient code generation in a region-based dynamic binary translatorabstractRegion-based JIT compilation operates on translation units comprising multiple basic blocks and, possibly cyclic or conditional, control flow between these. It promises to reconcile aggressive code optimisation and low compilation latency in performance-critical dynamic binary translators. Whilst various region selection schemes and isolated code optimisation techniques have been investigated it remains unclear how to best exploit such regions for efficient code generation. Complex interactions with indirect branch tables and translation caches can have adverse effects on performance if not considered carefully. In this paper we present a complete code generation strategy for a region-based dynamic binary translator, which exploits branch type and control flow profiling information to improve code quality for the common case. We demonstrate that using our code generation strategy a competitive region-based dynamic compiler can be built on top of the LLVM JIT compilation framework. For the ARM-V5T target ISA and SPEC CPU 2006 benchmarks we achieve execution rates of, on average, 867 MIPS and up to 1323 MIPS on a standard X86 host machine, outperforming state-of-the-art QEMU-ARM by delivering a speedup of 264%. Tom Spink, Harry Wagstaff, Björn Franke, Nigel P. Topham |
LCTES | 2 |
| 2013 | Early partial evaluation in a JIT-compiled, retargetable instruction set simulator generated from a high-level architecture descriptionabstractModern processor design tools integrate in their workflows generators for instruction set simulators (Iss) from architecture descriptions. Whilst these generated simulators are useful for design evaluation and software development, they suffer from poor performance. We present an ultra-fast Jit-compiled Iss generated from an ArchC description. We also introduce a novel partial evaluation optimisation, which further improves Jit compilation time and code quality. This results in a simulation rate of 510Mips for an Arm target across 45 Eembc and Spec benchmarks. On average, our Iss is 1.7 times faster than Simit-Arm, one of the fastest Iss generated from an architecture description. Harry Wagstaff, Miles Gould, Björn Franke, Nigel P. Topham |
DAC | 1 |