Demo Data from VLDB 2026 / reviewers in the wild / expert
Montse Farreras
dblp:19/3037
· DBLP profile ↗
15ranked-venue papers
2as first author
1since 2021 · last 2026
0000-0003-2027-1919ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 10 · 2 first-authorComputer networks · 1 · 1 since 2021Software engineering, systems software and programming languages · 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
3 papers |
Parallel and multicore computing · 78% High-performance computing · 22% | |
| Software engineering, system software, and programming languages
3 papers |
Compilers and program optimization · 100% |
Topics — the 9 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
parallel programming models |
0.4 | 3 | 2016 | Combining Static and Dynamic Data Coalescing in Unified Parallel C · IEEE Trans. Parallel Distributed Syst. 2016 ClusterSs: a task-based programming model for clusters · HPDC 2011 Shared memory programming for large scale machines · PLDI 2006 |
Parallel and multicore computing › parallel programming models › distributed memory programming models
partitioned global address space |
0.3 | 2 | 2016 | Combining Static and Dynamic Data Coalescing in Unified Parallel C · IEEE Trans. Parallel Distributed Syst. 2016 Shared memory programming for large scale machines · PLDI 2006 |
Compilers and program optimization
code generation |
0.2 | 1 | 2016 | Combining Static and Dynamic Data Coalescing in Unified Parallel C · IEEE Trans. Parallel Distributed Syst. 2016 |
High-performance computing
cluster computing |
0.1 | 1 | 2011 | ClusterSs: a task-based programming model for clusters · HPDC 2011 |
Parallel and multicore computing
dataflow computing |
0.1 | 1 | 2011 | ClusterSs: a task-based programming model for clusters · HPDC 2011 |
Parallel and multicore computing › parallel programming models
task-based programming |
0.1 | 1 | 2011 | ClusterSs: a task-based programming model for clusters · HPDC 2011 |
High-performance computing
supercomputing |
0.1 | 1 | 2016 | Combining Static and Dynamic Data Coalescing in Unified Parallel C · IEEE Trans. Parallel Distributed Syst. 2016 |
Compilers and program optimization
optimizing compiler |
0.1 | 1 | 2006 | Shared memory programming for large scale machines · PLDI 2006 |
High-performance computing
distributed memory systems |
0.0 | 1 | 2006 | Shared memory programming for large scale machines · PLDI 2006 |
Methods — techniques the papers use, named apart from their topics
inspector-executor model · 0.5compiler transformation · 0.5asynchronous message · 0.1affinity test elimination · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Service placement in the continuum: A systematic literature reviewabstractCloud computing plays a crucial role in the Industry 4.0 era, particularly with the rise of Internet of Things (IoT) applications that support domains such as education, healthcare, business, and manufacturing. These applications consist of multiple services with diverse quality of service (QoS) requirements, making their development and deployment complex. While traditional cloud environments provide scalability, they often fail to support latency-sensitive and resource-intensive applications. To overcome these limitations, alternative paradigms such as Cloud–Fog–Edge (CFE), Cloud–Fog (CF), Cloud–Edge (CE), Fog–Edge (FE), and Mobile Edge Computing (MEC) have emerged. These models push computation, storage, and networking closer to end devices, reducing latency and bandwidth usage. However, the heterogeneity, mobility, and dynamic nature of these environments make service placement (a known NP-hard problem) a central challenge. This article presents a systematic literature review of service placement approaches across the compute continuum. Following established SLR methodology, we identified and analyzed 124 peer-reviewed studies published between 2018 and 2024, classifying them by (i) deployment environment, (ii) service placement strategies and algorithms, (iii) adaptability of the solution, (iv) optimization objectives, (v) virtualization/orchestration technologies, (vi) evaluation methodologies, including workloads, testbeds, and simulation tools and (vii) use cases or application types. The novelty of this work lies in providing not only a detailed taxonomy of placement approaches but also this is the first survey that takes all seven aspects into consideration and establishes correlations between them. Our findings reveal that most existing works target smart health applications and favor heuristic-based placement in complex CFE scenarios, while research on scientific and compute-intensive workloads remains limited. We also identify Kubernetes as the most widely used orchestration technology and latency as the dominant optimization metric. Despite significant progress, the field is still maturing, with gaps in real-world validation and adaptive, ML-based placement strategies. By consolidating technical approaches, evaluation practices, and open challenges, this survey offers both researchers and practitioners a structured overview of the state of the art and guidance for advancing service placement in the compute continuum. Waseem Sajjad, Montse Farreras, Jordi Garcia 0001, Xavier Masip-Bruin |
Comput. Commun. | 2 |
| 2019 | Task Packing: Efficient task scheduling in unbalanced parallel programs to maximize CPU utilization
Gladys Utrera, Montse Farreras, Jordi Fornes |
J. Parallel Distributed Comput. | 2 |
| 2017 | Task Packing: Getting the Best from MPI Unbalanced ApplicationsabstractIn this work we propose a Taskpacking mechanism that concentrate the idle cycles of unbalanced applications in such a way that one or more cores are freed from execution. To achieve that we stress the cores with just useful work of the parallel application tasks, provided performance is not degraded. Tasks are "packed" in a minimum number of cores using oversubscription. In order to do the task mapping to cores and the computation of the minimum number of cores we apply the Subset Sum algorithm, which is a particular case of the Knapsack problem. Our experiments demonstrate that our task packing using oversubscription without performance degradation is possible. In this sense, the mechanism is able to make accurate allocation decisions leaving room for executing other applications or just keeping other cores idle. Our proposal is scalable as the task allocation decisions are based just on local information and task migrations are performed only within each node. Gladys Utrera, Montse Farreras, Jordi Fornes |
PDP | 2 |
| 2016 | Using shared-data localization to reduce the cost of inspector-execution in unified-parallel-C programs
Michail Alvanos, Ettore Tiotto, José Nelson Amaral, Montse Farreras, Xavier Martorell |
Parallel Comput. | 4 |
| 2016 | Combining Static and Dynamic Data Coalescing in Unified Parallel CabstractSignificant progress has been made in the development of programming languages and tools that are suitable for hybrid computer architectures that group several shared-memory multicores interconnected through a network. This paper addresses important limitations in the code generation for partitioned global address space (PGAS) languages. These languages allow fine-grained communication and lead to programs that perform many fine-grained accesses to data. When the data is distributed to remote computing nodes, code transformations are required to prevent performance degradation. Until now code transformations to PGAS programs have been restricted to the cases where both the physical mapping of the data or the number of processing nodes are known at compilation time. In this paper, a novel application of the inspector-executor model overcomes these limitations and allows profitable code transformations, which result in fewer and larger messages sent through the network, when neither the data mapping nor the number of processing nodes are known at compilation time. A performance evaluation reports both scaling and absolute performance numbers on up to 32,768 cores of a Power 775 supercomputer. This evaluation indicates that the compiler transformation results in speedups between 1.15x and 21x over a baseline and that these automated transformations achieve up to 63 percent the performance of the MPI versions. Michail Alvanos, Montse Farreras, Ettore Tiotto, José Nelson Amaral, Xavier Martorell |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2014 | Reducing Compiler-Inserted Instrumentation in Unified-Parallel-C Code GenerationabstractPrograms written in Partitioned Global Address Space (PGAS) languages can access any location of the entire address space via standard read/write operations. However, the compiler have to create the communication mechanisms and the runtime system to use synchronization primitives to ensure the correct execution of the programs. However, PGAS programs may have fine-grained shared accesses that lead to performance degradation. One solution is to use the inspector-executor technique to determine which accesses are indeed remote and which accesses may be coalesced in larger remote access operations. A straightforward implementation of the inspector-executor in a PGAS system may result in excessive instrumentation that hinders performance. This paper introduces a shared-data localization transformation based on linear memory descriptors (LMADs) that reduces the amount of instrumentation introduced by the compiler into programs written in the UPC language and describes a prototype implementation of the proposed transformation. A performance evaluation, using up to 2048 cores of a POWER 775 supercomputer, allows for a prediction that applications with regular accesses can achieve up to 180% of the performance of handoptimized versions while applications with irregular accesses yield performance gain from 1.12X up to 6.3X speedup. Michail Alvanos, José Nelson Amaral, Ettore Tiotto, Montse Farreras, Xavier Martorell |
SBAC-PAD | 4 |
| 2013 | Improving communication in PGAS environments: static and dynamic coalescing in UPCabstractThe goal of Partitioned Global Address Space (PGAS) languages is to improve programmer productivity in large scale parallel machines. However, PGAS programs may have many fine-grained shared accesses that lead to performance degradation. Manual code transformations or compiler optimizations are required to improve the performance of programs with fine-grained accesses. The downside of manual code transformations is the increased program complexity that hinders programmer productivity. On the other hand, most compiler optimizations of fine-grain accesses require knowledge of physical data mapping and the use of parallel loop constructs. Michail Alvanos, Montse Farreras, Ettore Tiotto, José Nelson Amaral, Xavier Martorell |
ICS | 2 |
| 2013 | Improving performance of all-to-all communication through loop scheduling in PGAS environmentsabstractNo abstract available. Michail Alvanos, Ilie Gabriel Tanase, Montse Farreras, Ettore Tiotto, José Nelson Amaral, Xavier Martorell |
ICS | 3 |
| 2013 | Efficient parallel construction of suffix trees for genomes larger than main memoryabstractThe construction of suffix tree for very long sequences is essential for many applications, and it plays a central role in the bioinformatic domain. With the advent of modern sequencing technologies, biological sequence databases have grown dramatically. Also the methodologies required to analyze these data have become everyday more complex, requiring fast queries to multiple genomes. In this paper we presented Parallel Continuous Flow PCF, a parallel suffix tree construction method that is suitable for very long strings. We tested our method on the construction of suffix tree of the entire human genome, about 3GB. We showed that PCF can scale gracefully as the size of the input string grows. Our method can work with an efficiency of 90% with 36 processors and 55% with 172 processors. We can index the Human genome in 7 minutes using 172 nodes. Matteo Comin, Montse Farreras |
EuroMPI | 2 |
| 2012 | A high-productivity task-based programming model for clustersabstractSUMMARY Programming for large‐scale, multicore‐based architectures requires adequate tools that offer ease of programming and do not hinder application performance. StarSs is a family of parallel programming models based on automatic function‐level parallelism that targets productivity. StarSs deploys a data‐flow model: it analyzes dependencies between tasks and manages their execution, exploiting their concurrency as much as possible. This paper introduces Cluster Superscalar (ClusterSs), a new StarSs member designed to execute on clusters of SMPs (Symmetric Multiprocessors). ClusterSs tasks are asynchronously created and assigned to the available resources with the support of the IBM APGAS runtime, which provides an efficient and portable communication layer based on one‐sided communication. We present the design of ClusterSs on top of APGAS, as well as the programming model and execution runtime for Java applications. Finally, we evaluate the productivity of ClusterSs, both in terms of programmability and performance and compare it to that of the IBM X10 language. Copyright © 2012 John Wiley & Sons, Ltd. Enric Tejedor, Montse Farreras, David Grove, Rosa M. Badia, Gheorghe Almási 0001, Jesús Labarta |
Concurr. Comput. Pract. Exp. | 2 |
| 2011 | Productive Cluster Programming with OmpSs
Javier Bueno, Luis Martinell, Alejandro Duran, Montse Farreras, Xavier Martorell, Rosa M. Badia, Eduard Ayguadé, Jesús Labarta |
Euro-Par (1) | 4 |
| 2011 | ClusterSs: a task-based programming model for clustersabstractProgramming for large-scale, multicore-based architectures requires adequate tools that offer ease of programming while not hindering application performance. StarSs is a family of parallel programming models based on automatic function level parallelism that targets productivity. StarSs deploys a data-flow model: it analyses dependencies between tasks and manages their execution, exploiting their concurrency as much as possible. We introduce Cluster Superscalar (ClusterSs), a new StarSs member designed to execute on clusters of SMPs. ClusterSs tasks are asynchronously created and assigned to the available resources with the support of the IBM APGAS runtime, which provides an efficient and portable communication layer based on one-sided communication.This short paper gives an overview of the ClusterSs design on top of APGAS, as well as the conclusions of a productivity study; in this study, ClusterSs was compared to the IBM X10 language, both in terms of programmability and performance. A technical report is available with the details. Enric Tejedor, Montse Farreras, David Grove, Rosa M. Badia, Gheorghe Almási 0001, Jesús Labarta |
HPDC | 2 |
| 2009 | Scalable RDMA performance in PGAS languagesabstractPartitioned global address space (PGAS) languages provide a unique programming model that can span shared-memory multiprocessor (SMP) architectures, distributed memory machines, or cluster ofSMPs. Users can program large scale machines with easy-to-use, shared memory paradigms. In order to exploit large scale machines efficiently, PGAS language implementations and their runtime system must be designed for scalability and performance. The IBM XLUPC compiler and runtime system provide a scalable design through the use of the shared variable directory (SVD). The SVD stores meta-information needed to access shared data. It is dereferenced, in the worst case, for every shared memory access, thus exposing a potential performance problem. In this paper we present a cache of remote addresses as an optimization that will reduce the SVD access overhead and allow the exploitation of native (remote) direct memory accesses. It results in a significant performance improvement while maintaining the run-time portability and scalability. Montse Farreras, Gheorghe Almási 0001, Calin Cascaval, Toni Cortes |
IPDPS | 1 |
| 2006 | Scaling MPI to short-memory MPPs such as BG/LabstractScalability to large number of processes is one of the weaknesses of current MPI implementations. Standard implementations are able to scale to hundreds of nodes, but not beyond. The main problem in these implementations is that they assume some resources (for both data and control-data) will always be available to receive/process unexpected messages. As we will show, this is not always true, especially in short-memory machines like the BG/L that has 64K nodes but each node only has 512Mbytes of memory.The objective of this paper is to present one algorithm that improves the robustness of MPI implementations for short-memory MPPs, taking care of data and control-data reception, the system will scale up to any number of nodes. The proposed solution achieves this goal without any observable overhead when there are no memory problems. Furthermore, in the worst case, when memory resources are extremely scarce, the overhead will never double the execution time (and we should never forget that in this extreme situation, traditional MPI implementations would fail to execute). Montse Farreras, Toni Cortes, Jesús Labarta, Gheorghe Almási 0001 |
ICS | 1 |
| 2006 | Shared memory programming for large scale machinesabstractThis paper describes the design and implementation of a scalable run-time system and an optimizing compiler for Unified Parallel C (UPC). An experimental evaluation on BlueGene/L®, a distributed-memory machine, demonstrates that the combination of the compiler with the runtime system produces programs with performance comparable to that of efficient MPI programs and good performance scalability up to hundreds of thousands of processors.Our runtime system design solves the problem of maintaining shared object consistency efficiently in a distributed memory machine. Our compiler infrastructure simplifies the code generated for parallel loops in UPC through the elimination of affinity tests, eliminates several levels of indirection for accesses to segments of shared arrays that the compiler can prove to be local, and implements remote update operations through a lower-cost asynchronous message. The performance evaluation uses three well-known benchmarks --- HPC RandomAccess, HPC STREAM and NAS CG --- to obtain scaling and absolute performance numbers for these benchmarks on up to 131072 processors, the full BlueGene/L machine. These results were used to win the HPC Challenge Competition at SC05 in Seattle WA, demonstrating that PGAS languages support both productivity and performance. Christopher Barton, Calin Cascaval, Gheorghe Almási 0001, Yili Zheng, Montse Farreras, Siddhartha Chatterjee, José Nelson Amaral |
PLDI | 5 |