Demo Data from VLDB 2026 / reviewers in the wild / expert
Cosmin Gorgovan
dblp:168/8650
· DBLP profile ↗
12ranked-venue papers
3as first author
1since 2021 · last 2023
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 7 · 1 first-authorSoftware engineering, systems software and programming languages · 4 · 2 first-author · 1 since 2021Applied, 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
5 papers |
Electronic design automation · 51% Processor architecture and microarchitecture · 21% Hardware accelerators and domain-specific architectures · 20% | |
| Software engineering, system software, and programming languages
3 papers |
Runtime systems and virtual machines · 100% | |
| Artificial intelligence
1 paper |
Robot navigation and mapping · 100% |
Topics — the 12 heaviest of 14, 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 | 2017 | Low overhead dynamic binary translation on ARM · PLDI 2017 MAMBO: A Low-Overhead Dynamic Binary Modification Tool for ARM · ACM Trans. Archit. Code Optim. 2016 Optimizing Indirect Branches in Dynamic Binary Translators · ACM Trans. Archit. Code Optim. 2016 |
Electronic design automation › hardware/software co-design
co-simulation |
0.4 | 1 | 2020 | DBHI: A Tool for Decoupled Functional Hardware-Software Co-Design on SoCs · FPGA 2020 |
Electronic design automation
hardware/software co-design |
0.4 | 1 | 2020 | DBHI: A Tool for Decoupled Functional Hardware-Software Co-Design on SoCs · FPGA 2020 |
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 |
Robotics › Robot navigation and mapping
SLAM |
0.3 | 1 | 2018 | Navigating the Landscape for Real-Time Localization and Mapping for Robotics and Virtual and Augmented Reality · Proc. IEEE 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 |
Processor architecture and microarchitecture
branch prediction |
0.2 | 1 | 2016 | Optimizing Indirect Branches in Dynamic Binary Translators · ACM Trans. Archit. Code Optim. 2016 |
Integrated circuit design
system-on-chip |
0.1 | 1 | 2020 | DBHI: A Tool for Decoupled Functional Hardware-Software Co-Design on SoCs · FPGA 2020 |
Processor architecture and microarchitecture › instruction set architecture › RISC
ARMv8 |
0.1 | 1 | 2017 | Low overhead dynamic binary translation on ARM · PLDI 2017 |
Processor architecture and microarchitecture
instruction set architecture |
0.1 | 1 | 2017 | Low overhead dynamic binary translation on ARM · PLDI 2017 |
Processor architecture and microarchitecture › instruction set architecture › RISC
ARM architecture |
0.1 | 1 | 2016 | MAMBO: A Low-Overhead Dynamic Binary Modification Tool for ARM · ACM Trans. Archit. Code Optim. 2016 |
Embedded and real-time systems
embedded processor |
0.1 | 1 | 2016 | MAMBO: A Low-Overhead Dynamic Binary Modification Tool for ARM · ACM Trans. Archit. Code Optim. 2016 |
Methods — techniques the papers use, named apart from their topics
machine learning · 1.0heterogeneous acceleration · 1.0JIT compilation · 1.0software return address stack · 0.5profiling · 0.5hash table · 0.5
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Evaluating the Impact of Optimizations for Dynamic Binary Modification on 64-bit RISC-VabstractDynamic Binary Modification (DBM) is an important technique used in computer architecture simulators, virtualization, and program analysis, to name a few examples. The software ecosystem of RISC-V is maturing at pace, but is still missing a high-performance, optimized DBM. Addressing this requirement is key to improving the overall software ecosystem. This paper presents a comprehensive performance evaluation study for a DBM (MAMBO) which has been ported and optimized for 64-bit RISC-V. The main optimizations for DBM on RISC architectures have been implemented and tuned for RISC-V to address specific architectural features. For example, jump trampolines have been specifically developed to address the short direct branch range specified by the RISC-V ISA. The evaluation shows that for SPEC CPU2006 the geometric mean overhead is of 14.5%, with SPECint having the largest contribution with a geometric mean of 28.5%, while SPECfp has only an overhead of 5.6%. Concretely, this results in a reduction in runtime for h264ref from over 75 hours using the baseline DBM, to 2.2 hours with optimizations applied. John Alistair Kressel, Guillermo Callaghan, Cosmin Gorgovan, Mikel Luján |
ISPASS | 3 |
| 2020 | Balancing performance and productivity for the development of dynamic binary instrumentation tools: a case study on Arm systemsabstractDynamic Binary Instrumentation (DBI) is a well-established approach for analysing the execution of applications at the level of machine code. DBI frameworks implement a runtime system capable of modifying running applications without access to their source code. These frameworks provide APIs used by DBI tools to plug in their specific analysis and instrumentation routines. However, the dynamic instrumentation needed by these DBI tools is either challenging to implement, and/or introduces a significant performance overhead. Cosmin Gorgovan, Guillermo Callaghan, Mikel Luján |
CC | 1 |
| 2020 | DBHI: A Tool for Decoupled Functional Hardware-Software Co-Design on SoCsabstractThis paper presents a system-level co-simulation and co-verification workflow to ease the transition from a software-only procedure, executed in a General Purpose processor, to the integration of a custom hardware accelerator developed in a Hardware Description Language (HDL). Unai Martinez-Corral, Guillermo Callaghan, Konstantinos Iordanou, Cosmin Gorgovan, Koldo Basterretxea, Mikel Luján |
FPGA | 4 |
| 2020 | Optimising dynamic binary modification across 64-bit Arm microarchitecturesabstractA common optimisation used in most Dynamic Binary Modification (DBM) systems is trace generation as these traces improve locality and code layout. We describe an optimised code layout for traces as well as present how to adapt the runtime algorithm to generate it. In this way, we manage to reduce the overhead on all the Arm systems evaluated; 5 different microarchitectures. Guillermo Callaghan, Cosmin Gorgovan, Mikel Luján |
VEE | 2 |
| 2019 | SimAcc: A Configurable Cycle-Accurate Simulator for Customized Accelerators on CPU-FPGAs SoCsabstractThis paper describes a flexible infrastructure for fast computer architecture simulation and prototyping of accelerator IP. A trend for System-on-Chips is to include application specific accelerators on the die. However, there is still a key research problem that needs to be addressed: How do hardware accelerators interact with the processors of a system and what is the impact on overall performance? To solve this problem, we propose an infrastructure that can directly simulate unmodified application executables with FPGA hardware accelerators. Unmodified application binaries are dynamically instrumented to generate processor load/store and program counter events and any memory accesses generated by accelerators, that are sent to an FPGA-based out-of-order pipeline model. The key features of our infrastructure are the ability to code exclusively at the user level, to dynamically discover and use available hardware models at run time, to test and simultaneously optimize hardware accelerators in an heterogeneous system. In terms of evaluation, we present a comparison between our system and Gem5 to demonstrate accuracy and relative performance, using the SPEC CPU benchmarks; even though our system is implemented on Zynq XC7045 which integrates dual 667MHz Arm Cortex-A9s with substantial FPGA resources, it outperforms Gem5 running on a Xeon E3 3.2 GHz with 32GBs of RAM. We also evaluate our infrastructure in simulating the interaction of accelerators with processors using accelerators taken from the Mach Benchmark Suite and other custom accelerators from computer vision applications. Konstantinos Iordanou, Oscar Palomar, John Mawer, Cosmin Gorgovan, Andy Nisbet, Mikel Luján |
FCCM | 4 |
| 2018 | Optimising Dynamic Binary Modification Across ARM MicroarchitecturesabstractDynamic Binary Modification (DBM) is a technique for modifying applications transparently while they are executed, working at the level of native code. However, DBM introduces a performance overhead, which in some cases can dominate execution time, making many uses impractical. The ARM hardware ecosystem poses unique challenges for high performance DBM systems because of the large number and wide range of capabilities of the commercially available implementations: from single issue, in order cores up to 6-issue out-of-order cores and including less traditional implementations. These variations raise the question of whether it is possible to develop DBM optimisations which either improve or, at the very least, do not affect performance on all available systems and microarchitectures. To answer this question, the performance of three new optimisations for the MAMBO DBM system has been evaluated on five systems using different microarchitectures. For comparison, the overhead of DynamoRIO, a high performance DBM system which was recently ported to the ARM architecture, is also evaluated. Cosmin Gorgovan, Amanieu D'Antras, Mikel Luján |
ICPE | 1 |
| 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 | 11 |
| 2017 | The Potential of Dynamic Binary Modification and CPU-FPGA SoCs for SimulationabstractIn this paper we describe a flexible infrastructure that can directly interface unmodified application executables with FPGA hardware acceleration IP in order to 1), facilitate faster computer architecture simulation, and 2), to prototype microarchitecture or accelerator IP. Dynamic binary modification tool plugins are directly interfaced to the application under evaluation via flexible software interfaces provided by a userspace hardware control library that also manages access to a parameterised Bluespec IP library. We demonstrate the potential of our infrastructure with two use cases with unmodified application executables where, 1), an executable is dynamically instrumented to generate load/store and program counter events that are sent to FPGA hardware accelerated in-order microarchitecture pipeline, and memory hierarchy models, and 2), the design of a branch predictor is prototyped using an FPGA. The key features of our infrastructure are the ability to instrument at instruction level granularity, to code exclusively at the user level, and to dynamically discover and use available hardware models at run time, thus, we enable software developers to rapidly investigate and evaluate parameterised Bluespec microarchitecture and accelerator IP models. We present a comparison between our system and GEM5, the industry standard ARM architecture simulator, to demonstrate accuracy and relative performance, even though our system is implemented on an Xilinx Zynq 7000 FPGA board with tightly coupled FPGA and ARM Cortex A9 processors, it outperforms GEM5 running on a Xeon with 32GBs of RAM (400x vs 700x slowdown over native execution). John Mawer, Oscar Palomar, Cosmin Gorgovan, Andy Nisbet, William B. Toms, Mikel Luján |
FCCM | 3 |
| 2017 | Low overhead dynamic binary translation on ARMabstractThe ARMv8 architecture introduced AArch64, a 64-bit execution mode with a new instruction set, while retaining binary compatibility with previous versions of the ARM architecture through AArch32, a 32-bit execution mode. Most hardware implementations of ARMv8 processors support both AArch32 and AArch64, which comes at a cost in hardware complexity. Amanieu D'Antras, Cosmin Gorgovan, Jim D. Garside, Mikel Luján |
PLDI | 2 |
| 2017 | HyperMAMBO-X64: Using Virtualization to Support High-Performance Transparent Binary TranslationabstractCurrent computer architectures --- ARM, MIPS, PowerPC, SPARC, x86 --- have evolved from a 32-bit architecture to a 64-bit one. Computer architects often consider whether it could be possible to eliminate hardware support for a subset of the instruction set as to reduce hardware complexity, which could improve performance, reduce power usage and accelerate processor development. This paper considers the scenario where we want to eliminate 32-bit hardware support from the ARMv8 architecture. Amanieu D'Antras, Cosmin Gorgovan, Jim D. Garside, John Goodacre, Mikel Luján |
VEE | 2 |
| 2016 | Optimizing Indirect Branches in Dynamic Binary TranslatorsabstractDynamic binary translation is a technology for transparently translating and modifying a program at the machine code level as it is running. A significant factor in the performance of a dynamic binary translator is its handling of indirect branches. Unlike direct branches, which have a known target at translation time, an indirect branch requires translating a source program counter address to a translated program counter address every time the branch is executed. This translation can impose a serious runtime penalty if it is not handled efficiently. MAMBO-X64, a dynamic binary translator that translates 32-bit ARM (AArch32) code to 64-bit ARM (AArch64) code, uses three novel techniques to improve the performance of indirect branch translation. Together, these techniques allow MAMBO-X64 to achieve a very low performance overhead of only 10% on average compared to native execution of 32-bit programs. Hardware-assisted function returns use a software return address stack to predict the targets of function returns, making use of several novel optimizations while also exploiting hardware return address prediction. This technique has a significant impact on most benchmarks, reducing binary translation overhead compared to native execution by 40% on average and by 90% on some benchmarks. Branch table inference , an algorithm for detecting and translating branch tables, can reduce the overhead of translated code by up to 40% on some SPEC CPU2006 benchmarks. The remaining indirect branches are handled using a fast atomic hash table , which is optimized to work with multiple threads. This last technique translates indirect branches using a single shared hash table while avoiding expensive synchronization in performance-critical lookup code. This allows the performance to be on par with thread-private hash tables while having superior memory scalability. Amanieu D'Antras, Cosmin Gorgovan, Jim D. Garside, Mikel Luján |
ACM Trans. Archit. Code Optim. | 2 |
| 2016 | MAMBO: A Low-Overhead Dynamic Binary Modification Tool for ARMabstractAs the ARM architecture expands beyond its traditional embedded domain, there is a growing interest in dynamic binary modification (DBM) tools for general-purpose multicore processors that are part of the ARM family. Existing DBM tools for ARM suffer from introducing large overheads in the execution of applications. The specific questions that this article addresses are (i) how to develop such DBM tools for the ARM architecture and (ii) whether new optimisations are plausible and needed. We describe the general design of MAMBO, a new DBM tool for ARM, which we release together with this publication, and introduce novel optimisations to handle indirect branches. In addition, we explore scenarios in which it may be possible to relax the transparency offered by DBM tools to allow extra optimisations to be applied. These scenarios arise from analysing the most typical usages: for example, application binaries without handcrafted assembly. The performance evaluation shows that MAMBO introduces small overheads for SPEC CPU2006 and PARSEC 3.0 when comparing with the execution times of the unmodified programs: a geometric mean overhead of 28% on a Cortex-A9 and of 34% on a Cortex-A15 for CPU2006, and between 27% and 32%, depending on the number of threads, for PARSEC on a Cortex-A15. Cosmin Gorgovan, Amanieu D'Antras, Mikel Luján |
ACM Trans. Archit. Code Optim. | 1 |