Publications
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.
This paper presents an in-depth study of the memory behavior of 30 Dacapo and Renaissance applications. To realize the study, a characterization methodology based on a two-faceted profiling process of the Java applications is employed. The two-faceted profiling offers comprehensive insights into the memory behavior of Java applications, as it is composed of high-level and low-level metrics obtained through a Java object profiler (NUMAProfiler) and a microarchitectural event profiler (PerfUtil) of MaxineVM, respectively. By using this profiling methodology we classify the Dacapo and Renaissance applications regarding their intensity in object allocations, object accesses, LLC, and main memory pressure. In addition, several other aspects such as the JVM impact on the memory behavior of the application are discussed.
Published at:
20th International Conference on Managed Programming Languages & Runtimes (MPLR'23)
The Intrusion Detection System (IDS) is an effective tool utilized in cybersecurity systems to detect and identify intrusion attacks. With the increasing volume of data generation, the possibility of various forms of intrusion attacks also increases. Feature selection is crucial and often necessary to enhance performance. The structure of the dataset can impact the efficiency of the machine learning model. Furthermore, data imbalance can pose a problem, but sampling approaches can help mitigate it. This research aims to explore machine learning (ML) approaches for IDS, specifically focusing on datasets, machine algorithms, and metrics. Three datasets were utilized in this study: KDD 99, UNSW-NB15, and CSE-CIC-IDS 2018. Various machine learning algorithms were chosen and examined to assess IDS performance. The primary objective was to provide a taxonomy for interconnected intrusion detection systems and supervised machine learning algorithms. The selection of datasets is crucial to ensure the suitability of the model construction for IDS usage. The evaluation was conducted for both binary and multi-class classification to ensure the consistency of the selected ML algorithms for the given dataset. The experimental results demonstrated accuracy rates of 100% for binary classification and 99.4In conclusion, it can be stated that supervised machine learning algorithms exhibit high and promising classification performance based on the study of three popular datasets.
Published at:
Applied Sciences Journal
The address translation (AT) overhead has been widely studied in literature and the new 5-level paging is expected to make translation even costlier. Multiple solutions have been proposed to alleviate the issue either by reducing the number of TLB misses or by reducing their overhead. The solution widely adopted by industry involves extending the page sizes supported by the hardware and software, with the most common being 2MB and 1GB. We evaluate the usefulness of intermediate translation sizes, using memory-intensive work-loads running on an ARMv8-A server.
Published at:
18th European Conference on Computer System (EuroSys 2023)
In this talk, we will present the newly EU-funded project AERO (Accelerated EU Cloud) whose mission is to bring up and optimize the software stack of cloud deployments on top of the EU processor. After providing an overview of the AERO project, we will expand on two main components of the software stack to enable seamless acceleration of various programming languages on RISC-V architectures; namely, ComputeAorta which enables the generation of RISC-V vector instructions from SPIR-V binary modules, and TornadoVM which enables transparent hardware acceleration of managed applications. Finally, we will describe how the ongoing integration of ComputeAorta and TornadoVM will enable a plethora of applications from managed languages to harness RISC-V auto-vectorization completely transparently to developers.
Published at:
RISC-V Summit Europe 2023, 5-9 June 2023, Barcelona, Spain
We advocate and originally design FaaSCell, an intra-node orchestrator for serverless functions. It aims to enable single-node resource management and performance studies, while remaining compatible with the distributed software stack of FaaS. FaaSCell could potentially be integrated with Kubernetes and its ecosystem, or with any other upper-layer component or platform that may be used for cluster-wide orchestration of FaaS deployments.
Published at:
1st Workshop on SErverless Systems, Applications and MEthodologies (SESAME 2023)
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.
In this paper, we follow a different approach that complements prior work by studying the behavior of managed applications on NUMA architectures during mutation time. At first, we perform a characterization study that classifies several Dacapo and Renaissance applications as per their scalability-critical properties. Based on this study, we propose a novel lightweight mechanism in MREs for optimizing the scalability of managed applications on NUMA systems, in an application-agnostic way. Our experimental results show that the proposed mechanism can result in relative performance ranging from 0.66x up to 3.29x, with a geometric mean of 1.11x, against a NUMA-agnostic execution.
Published at:
2023 ACM SIGPLAN International Symposium on Memory Management (ISMM 2023), June 2023 Orlando, Florida, United States
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 state-of-the-art software for enabling various JDK distributions to exploit hardware acceleration. Although TornadoVM can transparently generate heterogeneous code at runtime, there are several challenges that hinder the portability of the generated code to other programming languages and systems. Therefore, we analyze all challenges and propose a set of modifications at the compiler and runtime levels to constitute Java as a prototyping language for the generation of heterogeneous code that can be used by other programming languages and systems.
Published at:
7th MoreVMs workshop (MoreVMs'23)
Title lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In pulvinar consectetur ex eu molestie. Aliquam at nisl lobortis, ornare mauris ut, rhoncus eros.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In pulvinar consectetur ex eu molestie. Aliquam at nisl lobortis, ornare mauris ut, rhoncus eros. Morbi sed rhoncus purus. Nunc hendrerit lacus non turpis tristique, eu tempus augue dignissim. Morbi lacinia porta aliquam. Phasellus bibendum suscipit lobortis. Etiam nec lectus id tortor placerat feugiat. Sed tristique leo aliquet, faucibus mi at, pellentesque leo. Suspendisse lacus odio, varius non volutpat et, sollicitudin a turpis. Pellentesque lacus sem, rhoncus sed felis sed, bibendum suscipit dui. Fusce et nunc a leo hendrerit iaculis vitae in tortor. Praesent molestie sodales nisl, vel vehicula nunc pulvinar in. Ut porta cursus consectetur. Aliquam eget tortor turpis. Nunc pretium dolor eget erat pulvinar, ac maximus mauris ullamcorper.
Nunc varius cursus eros, nec sodales metus malesuada ut. Donec congue magna eget libero viverra ultricies. Maecenas in diam eu nulla placerat commodo id venenatis elit. Praesent viverra pretium enim blandit facilisis. Proin maximus ultricies nisi eu varius. Ut id justo in nibh posuere eleifend. Etiam tempus, nibh quis viverra viverra, nisl justo bibendum turpis, id aliquet dui lacus ut ante. Proin ante ante, lacinia sit amet nisi porta, fermentum bibendum neque. Fusce ligula dolor, lacinia vel consequat molestie, convallis ut nisi. Ut pellentesque mattis diam, ac faucibus tellus condimentum ut. Mauris mattis, ex vitae ullamcorper bibendum, erat sem iaculis elit, eget faucibus turpis nisl a turpis. Cras nec urna in elit condimentum condimentum. Fusce rhoncus posuere mauris, id consequat nunc gravida id. Mauris aliquam dolor vitae massa tempor, at euismod mauris hendrerit.