Andrea Rosà

ORCID: 0000-0002-6467-0113
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • Parallel Computing and Optimization Techniques
  • Software System Performance and Reliability
  • Cloud Computing and Resource Management
  • Distributed and Parallel Computing Systems
  • Software Engineering Research
  • Distributed systems and fault tolerance
  • Software Testing and Debugging Techniques
  • Logic, programming, and type systems
  • IoT and Edge/Fog Computing
  • Advanced Software Engineering Methodologies
  • Advanced Data Storage Technologies
  • Embedded Systems Design Techniques
  • Scientific Computing and Data Management
  • Advanced Database Systems and Queries
  • Interconnection Networks and Systems
  • Evolutionary Algorithms and Applications
  • Reservoir Engineering and Simulation Methods
  • Advanced Malware Detection Techniques
  • Plant and soil sciences
  • Business, Innovation, and Economy
  • Algorithms and Data Compression
  • Simulation Techniques and Applications
  • Aging, Health, and Disability
  • Agricultural and Food Production Studies
  • Ethics and bioethics in healthcare

Università della Svizzera italiana
2016-2025

Bayero University Kano
2022

Universidade Federal de Goiás
2022

Sultan Qaboos University Hospital
2022

Al Nahdha Hospital
2022

Ministry of Health
2022

Polytechnic University of Turin
2002-2003

Established benchmark suites for the Java Virtual Machine (JVM), such as DaCapo, ScalaBench, and SPECjvm2008, lack workloads that take advantage of parallel programming abstractions concurrency primitives offered by JVM Class Library. However, are fundamental understanding way in which modern applications data-processing frameworks use JVM's features, validating new just-in-time (JIT) compiler optimizations enable more efficient execution workloads. We present Renaissance, a suite composed...

10.1145/3314221.3314637 article EN 2019-06-07

In large-scale data enters, software and hardware failures are frequent, resulting in of job executions that may cause significant resource waste performance deterioration. To proactively minimize the inefficiency due to failures, it is important identify them advance using key attributes. However, so far, prevailing research on datacenter workload characterization has overlooked including their patterns, root causes, impact. this paper, we aim develop prediction models mitigation policies...

10.1109/ccgrid.2015.139 article EN 2015-05-01

Motivated by the high complexity of today's datacenters, a large body studies tries to understand workloads and resource utilization in datacenters. However, there is little work on exploring unsuccessful job task executions. In this article, we study predict three types executions traces Google datacenter, namely fail, kill, eviction. We first quantitatively show their strongly negative impact machine time resulting slowdown. analyze patterns jobs tasks, particularly focusing...

10.1109/tsc.2016.2543718 article EN IEEE Transactions on Services Computing 2016-03-17

Motivated by the high system complexity of today's datacenters, a large body related studies tries to understand workloads and resource utilization in datacenters. However, there is little work on exploring unsuccessful job task executions. In this paper, we study three types executions traces Google datacenter, namely fail, kill, eviction. The objective our analysis identify their waste, impacts application performance, root causes. We first quantitatively show strong negative impact CPU,...

10.1109/dsn.2015.37 article EN 2015-06-01

Scheduling is a central operation to achieve "green" data centers, i.e., distributing diversified workloads across heterogeneous resources in an energy efficient manner. Taking opposite perspective from most of the related work, this paper reveals "brown" side scheduling, wasted core seconds (so called brown resources), using fleld analysis and trace-driven simulation Google cluster trace. First, based on trace, we pinpoint dependency between priority scheduling task eviction that causes...

10.1145/2695533.2695560 article EN ACM SIGMETRICS Performance Evaluation Review 2014-12-08

Big-data applications are becoming the core of today's business operations, featuring complex data structures and high task fan-out. According to publicly available Google trace, more than 40% big-data jobs do not reach successful completion. Interestingly, a significant portion tasks such failed undergo multiple types repetitive executions consume non-negligible amount resources. To conserve resources for clusters, it is imperative capture jobs, very challenging problem due failures...

10.1109/iwqos.2015.7404739 article EN 2015-06-01

The ever increasing size and complexity of large-scale datacenters enhance the difficulty developing efficient scheduling policies for big data systems, where priority is often employed to guarantee allocation system resources high tasks, at cost task preemption resulting resource waste. A large number related studies focuses on understanding workloads their performance impact such systems; nevertheless, existing works pay little attention evicted characteristics, impairment performance. In...

10.1145/2788402.2788406 article EN ACM SIGMETRICS Performance Evaluation Review 2015-06-02

The Java Vector API is a new module introduced in 16, allowing developers to concisely express vector computations. promises both high performance, achieved via the runtime compilation of operations hardware instructions, and portability. To best our knowledge, there no study evaluating performance API. bridge this gap, we propose JVBench, first open-source benchmark suite for JVBench extensively exercises features by API, resulting coverage. We use evaluate portability on multiple...

10.1145/3578360.3580265 article EN 2023-02-17

Task granularity, i.e., the amount of work performed by parallel tasks, is a key performance attribute applications. On one hand, fine-grained tasks (i.e., small carrying out few computations) may introduce considerable parallelization overheads. other coarse-grained large performing substantial not fully utilize available CPU cores, resulting in missed opportunities. In this paper, we provide better understanding task granularity for applications running on Java Virtual Machine. We present...

10.1145/3168828 article EN 2018-02-24

Several programming languages and frameworks offer actor-based concurrency inspired by Erlang. Among them, Akka has been adopted in numerous applications running on the Java Virtual Machine. Unfortunately, despite spread of Akka-based applications, there are few dedicated profilers. In this paper, we aim at filling gap presenting a novel profiling tool for applications. contrast to existing profilers Akka, our focuses particularly actor utilization communication between them. We evaluate...

10.1145/2975969.2975972 article EN 2016-08-29

Researchers often rely on benchmarks to demonstrate feasibility or efficiency of their contributions. However, finding the right benchmark suite can be a daunting task - existing suites may outdated, known flawed, simply irrelevant for proposed approach. Creating proper is challenging, extremely time consuming, and also unless it becomes widely popular thankless endeavor. In this paper, we introduce novel approach help researchers find relevant workloads experimental evaluation needs. Our...

10.1109/saner.2016.70 article EN 2016-03-01

Nowadays, many virtual execution environments benefit from concurrency offered by the actor model. Unfortunately, while actors are used in applications, existing profiling tools not much effective analyzing performance of applications using actors. In this paper, we present a new instrumentation-based technique to profile environments. Our adopts platform-independent metrics that minimize perturbations induced instrumentation logic and allow comparing results across different platforms....

10.1145/2993236.2993241 article EN 2016-10-20

Task granularity, i.e., the amount of work performed by parallel tasks, is a key performance attribute applications. On one hand, fine-grained tasks (i.e., small carrying out few computations) may introduce considerable parallelization overheads. other coarse-grained large performing substantial not fully utilize available CPU cores, leading to missed opportunities. In this article, we provide better understanding task granularity for task-parallel applications running on single Java Virtual...

10.1145/3338497 article EN ACM Transactions on Programming Languages and Systems 2019-07-16

Abstract Graphics Processing Units (GPUs) have been successful in providing up to an order of magnitude performance benefit for reservoir simulation; this has demonstrated both standalone black-oil and compositional models. To our knowledge however, a demonstration the applicability GPUs simulation models coupled at asset level is still missing. In paper, we present how full-GPU simulator turned into field whereby multiple reservoirs can be by scheduler, using Message Passing Interface...

10.2118/212657-ms article EN SPE Reservoir Characterisation and Simulation Conference and Exhibition 2023-01-24

This paper describes an approach to hardware/software design space exploration for reconfigurable processors. The existing compiler tool-chain, because of the user-definable instructions, needs be extended in order offer developers easy way explore space. Such extension often is not use that have only a software background, thus ignoring architecture details or hardware logic synthesis on FPGA. Our differs from others it based simple standard programming model well known developers.

10.1109/date.2003.1253669 article EN 2003 Design, Automation and Test in Europe Conference and Exhibition 2003-12-22

Fork/join applications are divide-and-conquer algorithms recursively forking tasks that executed in parallel, waiting for them to complete, and then typically joining their results. An efficient fork/join application maximizes parallelism while minimizing overheads, locality contention. However, there is no unique optimal implementation best resolves such tradeoffs failing balancing may lead suffering from several issues (e.g., suboptimal forking, load imbalance, excessive synchronization),...

10.1145/3388831.3388851 article EN 2020-05-18

Android has become one of the most popular operating systems for mobile devices. As number applications ecosystem grows, so is their complexity, increasing need runtime verification on platform. Unfortunately, despite presence several frameworks Java bytecode, DEX bytecode used in does not benefit from such a wide support. While few tools support developed Android, offer only limited coverage and may be able to detect property violations certain classes. In this paper, we show that...

10.1109/icst.2017.61 article EN 2017-03-01

Node.js has become one of the most popular frameworks for general-purpose and server-side application development in JavaScript. However, due to its dynamic, asynchronous, event-driven programming model, applications are considered error-prone, their correctness is hard verify. Monitoring-Oriented Programming (MOP) a Runtime Verification (RV) paradigm that aims at improving safety reliability software system. To best our knowledge, no practical RV framework targets JavaScript applications.

10.1145/3297280.3297456 article EN Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing 2019-04-08

Nowadays, many virtual execution environments benefit from concurrency offered by the actor model. Unfortunately, while actors are used in applications, existing profiling tools not much effective analyzing performance of applications using actors. In this paper, we present a new instrumentation-based technique to profile environments. Our adopts platform-independent metrics that minimize perturbations induced instrumentation logic and allow comparing results across different platforms....

10.1145/3093335.2993241 article EN ACM SIGPLAN Notices 2016-10-20

The Stream API was added in Java 8 to allow the declarative expression of data-processing logic, typically mapreduce-like data transformations on collections and datasets.The introduces two key abstractions.The stream, which is a sequence elements available source, stream pipeline, contains operations (e.g., map, filter, reduce) that are applied upon execution.Streams getting popular among developers as they leverage conciseness functional programming ease parallelization processing.Despite...

10.22152/programming-journal.org/2023/7/10 article EN arXiv (Cornell University) 2023-02-15

Tracking specific events in a program’s execution, such as object allocation or lock acquisition, is at the heart of dynamic analysis. Despite apparent simplicity this task, quantifying these challenging due to presence compiler optimizations. Profiling perturbs optimizations that would normally do—a profiled program usually behaves differently than original one. In article, we propose novel technique for compiler-internal optimized code, reducing profiling perturbation on Our achieves by...

10.1145/3591473 article EN ACM Transactions on Programming Languages and Systems 2023-04-10
Coming Soon ...