arXiv.itsnick.co

an independent field guide to 23 million papers from arXiv & OpenAlex — not affiliated with arXiv.org

Author

Athanasios Stratikopoulos

24 papers · 2014–2026

2014: 12015: 02016: 02017: 02018: 12019: 12020: 52021: 22022: 22023: 82024: 12025: 22026: 1
2014peak 8 in 20232026

Frequent co-authors

Papers

showing 1–24 of 24 RSS

FastPath: Towards Wire-Speed NVMe SSDs

Athanasios Stratikopoulos, Christos Kotselidis, John Goodacre +1 more

Computer Networks and Communications · Research Explorer (The University of Manchester) · · cited 14× · DOI ↗ · more like this ·

The constant growth of data and its importance to drive Machine Learning and Big Data is pushing storage systems towards ever increasing I/O bandwidth and lower latency requirements. In recent years, the Non Volatile Memory Express (NVMe) standard has enabled SSD drives to deliver high I/O rates by allowing the storage to be connected directly via the fastest available interconnect to the processing chip. In parallel, the adoption of FPGAs in data centers is creating opportunities to accelerate various applications and/or Operating System (OS) operations. While, FPGAs in data centers have been connected via PCIe to mostly x86 servers, we have now also available heterogeneous SoCs with multi-cores and FPGAs integrated on the same die and connected by an on-chip interconnect. In this paper, we present how to rethink and accelerate NVMe performance on heterogeneous SoC with integrated…

Enabling Transparent Acceleration of Big Data Frameworks Using Heterogeneous Hardware

Maria Xekalaki, Juan Fumero, Athanasios Stratikopoulos +5 more

Hardware and Architecture · Proceedings of the VLDB Endowment · · cited 10× · DOI ↗ · more like this ·

The ever-increasing demand for high performance Big Data analytics and data processing, has paved the way for heterogeneous hardware accelerators, such as Graphics Processing Units (GPUs) and Field Programmable Gate Arrays (FPGAs), to be integrated into modern Big Data platforms. Currently, this integration comes at the cost of programmability since the end-user Application Programming Interface (APIs) must be altered to access the underlying heterogeneous hardware. For example, current Big Data frameworks, such as Apache Spark, provide a new API that combines the existing Spark programming model with GPUs. For other Big Data frameworks, such as Flink, the integration of GPUs and FPGAs is achieved via external API calls that bypass their execution models completely. In this paper, we rethink current Big Data frameworks from a systems and programming language perspective, and introduce a…

HPC-gSpan: An FPGA-based parallel system for frequent subgraph mining

Athanasios Stratikopoulos, Grigorios G. Chrysos, Ioannis Papaefstathiou +1 more

Computer Vision and Pattern Recognition · · cited 10× · DOI ↗ · more like this ·

Graph mining is an important research area within the domain of data mining. One of the most challenging tasks of graph mining is frequent subgraph mining. This work presents the first FPGA-based implementation, to the best of our knowledge, of the most efficient and well-known algorithm for the Frequent Subgraph Mining (FSM) problem, i.e. gSpan. The proposed system, named High Performance Computing-gSpan (HPC-gSpan), achieves manyfold speedup vs. the official software solution of the gboost library when executed on a high-end CPU for various real-world datasets.

FastPath_MP

Athanasios Stratikopoulos, Christos Kotselidis, John Goodacre +1 more

Hardware and Architecture · ACM Transactions on Architecture and Code Optimization · · cited 8× · DOI ↗ · more like this ·

In this article, we present FastPath_MP, a novel low-overhead and energy-efficient storage multi-path architecture that leverages FPGAs to operate transparently to the main processor and improve the performance and energy efficiency of accessing storage devices. We prototyped FastPath_MP on both Arm-FPGA Zynq 7000 SoC and Zynq UltraScale+ MPSoC and evaluated its performance against standard microbenchmarks as well as the real-world in-memory Redis database. Our results show that FastPath_MP achieves up to 82% lower latency, up to 12× higher throughput, and up to 10× more energy efficiency against the baseline storage path of the Linux kernel.

Multiple-tasks on multiple-devices (MTMD): exploiting concurrency in heterogeneous managed runtimes

Michail Papadimitriou, Eleni Markou, Juan Fumero +3 more

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 7× · DOI ↗ · more like this ·

Modern commodity devices are nowadays equipped with a plethora of heterogeneous devices serving different purposes. Being able to exploit such heterogeneous hardware accelerators to their full potential is of paramount importance in the pursuit of higher performance and energy efficiency. Towards these objectives, the reduction of idle time of each device as well as the concurrent program execution across different accelerators can lead to better scalability within the computing platform.

Towards Prototyping and Acceleration of Java Programs onto Intel FPGAs

Michail Papadimitriou, Juan Fumero, Athanasios Stratikopoulos +1 more

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 6× · DOI ↗ · more like this ·

In this work, we propose an approach for transparent compilation and execution of Java programs onto Intel FPGA devices. In detail, we showcase how a managed runtime environment can leverage Intel OpenCL SDK to generate specialized FPGA code, enabling prototyping and acceleration of Java Programs onto FPGAs. Finally, we describe our implementation in the context of TornadoVM with a clear objective to ease FPGA programmability allowing integration with existing frameworks.

Transparent Compiler and Runtime Specializations for Accelerating Managed Languages on FPGAs

Michail Papadimitriou, Juan Fumero, Athanasios Stratikopoulos +2 more

cs.PL · · cited 5× · arXiv ↗ · more like this ·

In recent years, heterogeneous computing has emerged as the vital way to increase computers? performance and energy efficiency by combining diverse hardware devices, such as Graphics Processing Units (GPUs) and Field Programmable Gate Arrays (FPGAs). The rationale behind this trend is that different parts of an application can be offloaded from the main CPU to diverse devices, which can efficiently execute these parts as co-processors. FPGAs are a subset of the most widely used co-processors, typically used for accelerating specific workloads due to their flexible hardware and energy-efficient characteristics. These characteristics have made them prevalent in a broad spectrum of computing systems ranging from low-power embedded systems to high-end data centers and cloud infrastructures. However, these hardware characteristics come at the cost of programmability. Developers who create…

Unified Shared Memory: Friend or Foe? Understanding the Implications of Unified Memory on Managed Heaps

Juan Fumero, Florin Blanaru, Athanasios Stratikopoulos +3 more

Hardware and Architecture · Zenodo (CERN European Organization for Nuclear Research) · · cited 3× · DOI ↗ · more like this ·

Adopting heterogeneous execution on GPUs and FPGAs in managed runtime systems, such as Java, is a challenging task due to the complexities of the underlying virtual machine. The majority of the current work has been focusing on compiler toolchains to solve the challenge of transparent just-in-time compilation of different code segments onto the accelerators. However, apart from providing automatic code generation, another paramount challenge is the seamless interoperability between the host memory manager and the Garbage Collector (GC). Currently, heterogeneous programming models that run on top of managed runtime systems, such as Aparapi and TornadoVM, need to block the GC when running native code (e.g, JNI code) in order to prevent the GC from moving data while the native code is still running on the hardware accelerator.

Cross-Language Interoperability of Heterogeneous Code

Athanasios Stratikopoulos, Florin Blanaru, Juan Fumero +3 more

Software · Research Explorer (The University of Manchester) · · cited 3× · DOI ↗ · more like this ·

In recent years, the Java Virtual Machine has evolved from a cross-ISA virtualization layer to a system that can also offer multilingual support. GraalVM paved the way to enable the interoperability of Java with other programming languages, such as Java, Python, R and even C++, that can run on top of the Truffle framework in a unified manner. Additionally, there have been numerous academic and industrial endeavors to bridge the gap between the JVM and modern heterogeneous hardware resources. All these efforts beacon the opportunity to use the JVM as a unified system that enables interoperability between multiple programming languages and multiple heterogeneous hardware resources. In this paper, we focus on the interoperability of code that accelerates applications on heterogeneous hardware with multiple programming languages. To realize that concept, we employ TornadoVM, a…

Enabling pipeline parallelism in heterogeneous managed runtime environments via batch processing

Florin Blanaru, Athanasios Stratikopoulos, Juan Fumero +1 more

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 3× · DOI ↗ · more like this ·

During the last decade, managed runtime systems have been constantly evolving to become capable of exploiting underlying hardware accelerators, such as GPUs and FPGAs. Regardless of the programming language and their corresponding runtime systems, the majority of the work has been focusing on the compiler front trying to tackle the challenging task of how to enable just-in-time compilation and execution of arbitrary code segments on various accelerators. Besides this challenging task, another important aspect that defines both functional correctness and performance of managed runtime systems is that of automatic memory management. Although automatic memory management improves productivity by abstracting away memory allocation and maintenance, it hinders the capability of using specific memory regions, such as pinned memory, in order to perform data transfer times between the CPU and…

Running parallel bytecode interpreters on heterogeneous hardware

Juan Fumero, Athanasios Stratikopoulos, Christos Kotselidis

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 3× · DOI ↗ · more like this ·

Since the early conception of managed runtime systems with tiered JIT compilation, several research attempts have been made to accelerate the bytecode execution. In this paper, we extend prior attempts by performing an initial analysis of whether heterogeneous hardware accelerators in the form of Graphics Processing Units (GPUs) and Field Programmable Gate Arrays (FPGAS) can help towards achieving higher performance during the bytecode interpreter mode. To answer this question, we implemented a simple parallel Java bytecode interpreter written in OpenCL and executed it across a plethora of devices, including GPUs and FPGAs. Our preliminary evaluation shows that under specific workloads, hardware acceleration can yield up to 17x better performance compared to traditional optimized interpreters running on Intel CPUs and up to 214x compared to ARM CPUs.

Scaling Up Performance of Managed Applications on NUMA Systems

Orion Papadakis, Andreas Andronikakis, Nikos Foutris +5 more

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 2× · DOI ↗ · more like this ·

Scaling up the performance of managed applications on Non-Uniform Memory Access (NUMA) architectures has been a challenging task, as it requires a good understanding of the underlying architecture and managed runtime environments (MRE). Prior work has studied this problem from the scope of specific components of the managed runtimes, such as the Garbage Collectors, as a means to increase the NUMA awareness in MREs.

Transparent acceleration of Java-based deep learning engines

Athanasios Stratikopoulos, Mihai-Cristian Olteanu, Ian Vaughan +4 more

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 2× · DOI ↗ · more like this ·

The advent of modern cloud services, along with the huge volume of data produced on a daily basis, have increased the demand for fast and efficient data processing. This demand is common among numerous application domains, such as deep learning, data mining, and computer vision. In recent years, hardware accelerators have been employed as a means to meet this demand, due to the high parallelism that these applications exhibit. Although this approach can yield high performance, the development of new deep learning neural networks on heterogeneous hardware requires a steep learning curve. The main reason is that existing deep learning engines support the static compilation of the accelerated code, that can be accessed via wrapper calls from a wide range of managed programming languages (e.g., Java, Python, Scala). Therefore, the development of high-performance neural network architectures…

TornadoViz: Visualizing Heterogeneous Execution Patterns in Modern Managed Runtime Systems

Michail Papadimitriou, Maria Xekalaki, Athanasios Stratikopoulos +3 more

Computer Networks and Communications · Research Explorer (The University of Manchester) · · cited 1× · DOI ↗ · more like this ·

With the increasing prevalence of machine learning and large language model (LLM) inference, heterogeneous computing has become essential. Modern JVMs are embracing this transition through projects such as TornadoVM and Babylon, which enable hardware acceleration on diverse hardware resources, including GPUs and FPGAs. However, while performance results are promising, developers currently face a significant tooling gap: traditional profilers excel at CPU-bound execution but become a “black box” when execution transitions to accelerators, providing no visibility into device memory management, execution patterns or cross-device data movement. This gap leaves developers without a unified view of how their Java applications behave across the heterogeneous computing stack. In this paper, we present TornadoViz, a visual analytics tool that leverages TornadoVM’s specialized bytecode system to…

Dynamic and Static Code Analysis for Java Programs on Heterogeneous Hardware

Athanasios Stratikopoulos, Tianyu Zuo, Umut Sarp Harbalioglu +5 more

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 1× · DOI ↗ · more like this ·

The increasing prevalence of heterogeneous computing systems, incorporating accelerators like GPUs, has spurred the development of advanced frameworks to bring high performance capabilities to managed languages. TornadoVM is a state-of-the-art, open-source framework for accelerating Java programs. It enables Java applications to offload computation onto GPUs and other accelerators, thereby bridging the gap between the high-level abstractions of the Java Virtual Machine (JVM) and the low-level, performance-oriented world of parallel programming models, such as OpenCL and CUDA. However, this bridging comes with inherent trade-offs. The semantic and operational mismatch between these two worlds - such as managed memory versus explicit memory control, or dynamic JIT compilation versus static kernel generation — forces TornadoVM to limit or exclude support for certain Java features. These…

Towards GPU Accelerated FHE Computations

Orion Papadakis, Michail Papadimitriou, Athanasios Stratikopoulos +4 more

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 1× · DOI ↗ · more like this ·

Fully homomorphic encryption (FHE) enables pro-cessing encrypted data without revealing sensitive information, making it applicable in fields like healthcare, finance, and legal. Despite its benefits, FHE has high computational complexity and performance overhead. To address this, researchers have explored hardware acceleration using Field-Programmable Gate Arrays (FPGAs) and Graphics Processing Units (GPUs). FPGAs are suitable for low-latency computations, while GPUs excel in parallel, high-throughput tasks. However, widespread FHE adoption remains elusive due to unresolved performance issues. This paper explores the challenges of offloading FHE computations to hardware accelerators, focusing on the OpenFHE library and the Brakerski-Gentry-Vaikuntanathan (BGV) scheme. It is the first study on adapting this scheme for GPU acceleration. We profile OpenFHE to identify computational…

A Multifaceted Memory Analysis of Java Benchmarks

Orion Papadakis, Andreas Andronikakis, Nikos Foutris +5 more

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 1× · DOI ↗ · more like this ·

Java benchmarking suites like Dacapo and Renaissance are employed by the research community to evaluate the performance of novel features in managed runtime systems. These suites encompass various applications with diverse behaviors in order to stress test different subsystems of a managed runtime. Therefore, understanding and characterizing the behavior of these benchmarks is important when trying to interpret experimental results.

Beehive SPIR-V Toolkit: A Composable and Functional API for Runtime SPIR-V Code Generation

Juan Fumero, György Réthy, Athanasios Stratikopoulos +2 more

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 1× · DOI ↗ · more like this ·

The Standard Portable Intermediate Representation (SPIR-V) is a low-level binary format designed for representing shaders and compute kernels that can be consumed by OpenCL for computing kernels, and Vulkan for graphics rendering. As a binary representation, SPIR-V is meant to be used by compilers and runtime systems, and is usually performed by C/C++ programs and the LLVM software and compiler ecosystem. However, not all programming environments, runtime systems, and language implementations are C/C++ or based on LLVM.

Automatically exploiting the memory hierarchy of GPUs through just-in-time compilation

Michail Papadimitriou, Juan Fumero, Athanasios Stratikopoulos +1 more

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 1× · DOI ↗ · more like this ·

Although Graphics Processing Units (GPUs) have become pervasive for data-parallel workloads, the efficient exploitation of their tiered memory hierarchy requires explicit programming. The efficient utilization of different GPU memory tiers can yield higher performance at the expense of programmability since developers must have extended knowledge of the architectural details in order to utilize them.

Towards High Performance Java-based Deep Learning Frameworks

Athanasios Stratikopoulos, Juan Fumero, Zoran Sevarac +1 more

cs.LG · · cited 1× · arXiv ↗ · more like this ·

The advent of modern cloud services along with the huge volume of data produced on a daily basis, have set the demand for fast and efficient data processing. This demand is common among numerous application domains, such as deep learning, data mining, and computer vision. Prior research has focused on employing hardware accelerators as a means to overcome this inefficiency. This trend has driven software development to target heterogeneous execution, and several modern computing systems have incorporated a mixture of diverse computing components, including GPUs and FPGAs. However, the specialization of the applications' code for heterogeneous execution is not a trivial task, as it requires developers to have hardware expertise in order to obtain high performance. The vast majority of the existing deep learning frameworks that support heterogeneous acceleration, rely on the…

Pulse: A Profiling and Visualization Infrastructure for Heterogeneous Managed Systems

Michail Papadimitriou, Maria Xekalaki, Orion Papadakis +3 more

Hardware and Architecture · Research Explorer (The University of Manchester) · · cited 0× · OpenAlex ↗ · more like this ·

TornadoVM is an open-source framework that enables Java applications to execute on heterogeneous hardware accelerators, such as GPUs and FPGAs.<br/>While TornadoVM simplifies programmability, understanding and optimizing the performance of applications on heterogeneous systems remains a significant challenge.<br/><br/>This paper introduces Pulse, a profiling infrastructure designed to collect, correlate, and visualize detailed performance metrics for application components offloaded to accelerators.<br/>At its core, Pulse includes a profiler that integrates information from both the managed runtime and the underlying hardware.<br/>The collected metrics include fine-grained execution timing, data-transfer costs, compilation overheads, and power consumption during accelerator execution.<br/>In addition, Pulse provides an interactive visualization layer that presents these metrics in an…

TornadoQSim: An Open-source High-Performance and Modular Quantum Circuit Simulation Framework

Ales Kubicek, Athanasios Stratikopoulos, Juan Fumero +2 more

quant-ph · · cited 0× · arXiv ↗ · more like this ·

In this article, we present TornadoQSim, an open-source quantum circuit simulation framework implemented in Java. The proposed framework has been designed to be modular and easily expandable for accommodating different user-defined simulation backends, such as the unitary matrix simulation technique. Furthermore, TornadoQSim features the ability to interchange simulation backends that can simulate arbitrary quantum circuits. Another novel aspect of TornadoQSim over other quantum simulators is the transparent hardware acceleration of the simulation backends on heterogeneous devices. TornadoQSim employs TornadoVM to automatically compile parts of the simulation backends onto heterogeneous hardware, thereby addressing the fragmentation in development due to the low-level heterogeneous programming models. The evaluation of TornadoQSim has shown that the transparent utilization of GPU…

Experiences in Building a Composable and Functional API for Runtime SPIR-V Code Generation

Juan Fumero, György Rethy, Athanasios Stratikopoulos +2 more

cs.SE · · cited 0× · arXiv ↗ · more like this ·

This paper presents the Beehive SPIR-V Toolkit; a framework that can automatically generate a Java composable and functional library for dynamically building SPIR-V binary modules. The Beehive SPIR-V Toolkit can be used by optimizing compilers and runtime systems to generate and validate SPIR-V binary modules from managed runtime systems, such as the Java Virtual Machine (JVM). Furthermore, our framework is architected to accommodate new SPIR-V releases in an easy-to-maintain manner, and it facilitates the automatic generation of Java libraries for other standards, besides SPIR-V. The Beehive SPIR-V Toolkit also includes an assembler that emits SPIR-V binary modules from disassembled SPIR-V text files, and a disassembler that converts the SPIR-V binary code into a text file, and a console client application. To the best of our knowledge, the Beehive SPIR-V Toolkit is the first Java…

Accelerating Java Ray Tracing Applications on Heterogeneous Hardware

Vinh Pham Van, Juan Fumero, Athanasios Stratikopoulos +2 more

cs.DC · · cited 0× · arXiv ↗ · more like this ·

Ray tracing has been typically known as a graphics rendering method capable of producing highly realistic imagery and visual effects generated by computers. More recently the performance improvements in Graphics Processing Units (GPUs) have enabled developers to exploit sufficient computing power to build a fair amount of ray tracing applications with the ability to run in real-time. Typically, real-time ray tracing is achieved by utilizing high performance kernels written in CUDA, OpenCL, and Vulkan which can be invoked by high-level languages via native bindings; a technique that fragments application code bases as well as limits portability. This paper presents a hardware-accelerated ray tracing rendering engine, fully written in Java, that can seamlessly harness the performance of underlying GPUs via the TornadoVM framework. Through this paper, we show the potential of Java and…