Demo Data from VLDB 2026 / reviewers in the wild / expert
Eduardo Henrique Molina da Cruz
dblp:89/10101 · also Eduardo H. M. Cruz
· DBLP profile ↗
22ranked-venue papers
9as first author
2since 2021 · last 2023
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 15 · 6 first-author · 2 since 2021
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
2 papers |
Parallel and multicore computing · 53% Memory systems · 40% Performance modeling and evaluation · 8% |
Topics — the 7 heaviest of 8, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing › task allocation
thread and data mapping |
0.5 | 2 | 2016 | Kernel-Based Thread and Data Mapping for Improved Memory Affinity · IEEE Trans. Parallel Distributed Syst. 2016 Hardware-Assisted Thread and Data Mapping in Hierarchical Multicore Architectures · ACM Trans. Archit. Code Optim. 2016 |
Memory systems
data locality |
0.2 | 1 | 2016 | Hardware-Assisted Thread and Data Mapping in Hierarchical Multicore Architectures · ACM Trans. Archit. Code Optim. 2016 |
Parallel and multicore computing › parallel scheduling
NUMA-aware scheduling |
0.2 | 1 | 2016 | Kernel-Based Thread and Data Mapping for Improved Memory Affinity · IEEE Trans. Parallel Distributed Syst. 2016 |
Memory systems › virtual memory management
page mapping |
0.2 | 1 | 2016 | Hardware-Assisted Thread and Data Mapping in Hierarchical Multicore Architectures · ACM Trans. Archit. Code Optim. 2016 |
Parallel and multicore computing › parallel computing
parallel application performance |
0.2 | 1 | 2016 | Kernel-Based Thread and Data Mapping for Improved Memory Affinity · IEEE Trans. Parallel Distributed Syst. 2016 |
Memory systems › memory management › virtual memory › address translation
TLB |
0.2 | 1 | 2016 | Hardware-Assisted Thread and Data Mapping in Hierarchical Multicore Architectures · ACM Trans. Archit. Code Optim. 2016 |
Performance modeling and evaluation
workload characterization |
0.1 | 1 | 2016 | Kernel-Based Thread and Data Mapping for Improved Memory Affinity · IEEE Trans. Parallel Distributed Syst. 2016 |
Methods — techniques the papers use, named apart from their topics
page fault tracing · 0.2intense pages mapping · 0.2integrated thread and data mapping · 0.2TLB-based access behavior analysis · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Mitigating execution unit contention in parallel applications using instruction-aware mappingabstractSummary Parallel applications running on simultaneous multithreading (SMT) processors naturally compete for execution units when their threads are mapped to the same core. This issue is further aggravated when such threads execute similar instructions that stress the same execution unit type, making their execution to behave very similarly as if the threads were running sequentially. This, in turn, will lead to performance degradation and underutilization of hardware resources. This work proposes a completely transparent framework (no modifications to the source code are necessary) that automatically maps threads of multiple parallel applications on SMT processors. The framework focuses on improving performance by mitigating the contention on execution units, considering each thread's instruction types, which are detected at runtime by our framework. Results show performance gains of 21% (geometric mean), compared to the native scheduler of the operating system. Matheus S. Serpa, Eduardo Henrique Molina da Cruz, Matthias Diener, Arthur Francisco Lorenzon, Antonio Carlos Schneider Beck, Philippe Olivier Alexandre Navaux |
Concurr. Comput. Pract. Exp. | 2 |
| 2021 | Energy efficiency and portability of oil and gas simulations on multicore and graphics processing unit architecturesabstractSummary Reverse time migration (RTM) simulation is the basis of the seismic imaging tools used by the oil and gas industry. Developers have been porting their simulations to the new high‐performance computing architectures, providing faster and more accurate results at each new generation. However, several challenges arrive when trying to achieve high performance on these new architectures. The first one is to choose the architecture that best fits the kind of simulation. After that, researchers should choose the API used to implement the simulation code. These two decisions are strongly related to the effort, performance, and energy efficiency of the simulations. In this article, we propose three optimizations for an oil and gas application, which reduce the floating‐point operations by changing the equation derivatives. We evaluate these optimizations in different multicore and GPU architectures, investigating the impact of different APIs on the performance, energy efficiency, and portability of the code. Our experimental results show that the dedicated CUDA implementation running on the NVIDIA Volta architecture has the best performance and energy efficiency for RTM on GPUs, while the OpenMP version is the best for Intel Broadwell in the multicore. Also, the OpenACC version, which has a lower programming effort and executes on both architectures, has an up to 20% better performance and energy efficiency than the nonportable ones. Matheus S. Serpa, Pablo J. Pavan, Eduardo Henrique Molina da Cruz, Rodrigo L. Machado, Jairo Panetta, Antônio Azambuja, Alexandre Carissimi, Philippe Olivier Alexandre Navaux |
Concurr. Comput. Pract. Exp. | 3 |
| 2019 | Memory Performance and Bottlenecks in Multicore and GPU ArchitecturesabstractNowadays, there are several different architectures available not only for the industry, but also for normal consumers. Traditional multicore processors, GPUs, accelerators such as the Sunway SW26010, or even energy efficiency-driven processors such as the ARM family, present very different architectural characteristics. This wide range of characteristics presents a challenge for the developers of applications. Developers must deal with different instruction sets, memory hierarchies, or even different programming paradigms when programming for these architectures. Therefore, the same application can perform well when executing on one architecture, but poorly on another architecture. To optimize an application, it is important to have a deep understanding of how it behaves on different architectures. The related work in this area mostly focuses on a limited analysis encompassing execution time and energy. In this paper, we perform a detailed investigation on the impact of the memory subsystem of different architectures, which is one of the most important aspects to be considered. For this study, we performed experiments in the Broadwell CPU and Pascal GPU, using applications from the Rodinia benchmark suite. In this way, we were able to understand why an application performs well on one architecture and poorly on others. Matheus S. Serpa, Francis B. Moreira 0001, Philippe Olivier Alexandre Navaux, Eduardo Henrique Molina da Cruz, Matthias Diener, Dalvan Griebler, Luiz Gustavo Fernandes |
PDP | 4 |
| 2018 | Improving Communication and Load Balancing with Thread Mapping in Manycore SystemsabstractCommunication and load balancing have a significant impact on the performance of parallel applications and have been the subject of extensive research in multicore architectures. Thread mapping has been one of the solutions adopted in multicore architectures to address both communication and load balancing. However, the impact of such issues on more recently introduced manycore architectures is still unknown. Most related work on manycore architectures focus on execution time and idleness information for scheduling decisions. In this paper, we improve the state of the art by performing a very detailed analysis of the impact of thread mapping on communication and load balancing in two manycore systems from Intel, namely Knights Corner and Knights Landing. We observed that the widely used metric of CPU time provides very inaccurate information for load balancing. We also evaluated the usage of thread mapping based on the communication and load information of the applications to improve the performance of manycore systems. Eduardo Henrique Molina da Cruz, Matthias Diener, Matheus S. Serpa, Philippe Olivier Alexandre Navaux, Laércio Lima Pilla, Israel Koren |
PDP | 1 |
| 2018 | Optimizing Machine Learning Algorithms on Multi-Core and Many-Core Architectures Using Thread and Data MappingabstractDriven by the development of new technologies such as personal assistants or autonomous cars, machine learning has rapidly become one of the most active fields in computer science. The algorithms at the core of machine learning are notoriously demanding in terms of resources. It is therefore of paramount importance to optimize their operation on modern processors. Several approaches have been proposed to accelerate machine learning on GPUs and massively parallel computers, as well as dedicated ASICs. In this paper, we focus on Intel's multi-core Xeon and many-core accelerator Xeon Phi Knights Landing, which can host several hundreds of threads on the same CPU. In such architectures, thread and data mapping are keys for performance. We study the impact of mapping strategies, revealing that, with smart mapping policies, one can indeed significantly speed up machine learning applications on many-core architectures. Execution time was reduced by up to 25.2% and 18.5% on Intel Xeon and Xeon Phi KNL, respectively. Matheus S. Serpa, Arthur M. Krause, Eduardo Henrique Molina da Cruz, Philippe Olivier Alexandre Navaux, Marcelo Pasin, Pascal Felber |
PDP | 3 |
| 2016 | Automatic Communication Optimization of Parallel Applications in Public CloudsabstractOne of the most important aspects that influences the performance of parallel applications is the speed of communication between their tasks. To optimize communication, tasks that exchange lots of data should be mapped to processing units that have a high network performance. This technique is called communication-aware task mapping and requires detailed information about the underlying network topology for an accurate mapping. Previous work on task mapping focuses on network clusters or shared memory architectures, in which the topology can be determined directly from the hardware environment. Cloud computing adds significant challenges to task mapping, since information about network topologies is not available to end users. Furthermore, the communication performance might change due to external factors, such as different usage patterns of other users. In this paper, we present a novel solution to perform communication-aware task mapping in the context of commercial cloud environments with multiple instances. Our proposal consists of a short profiling phase to discover the network topology and speed between cloud instances. The profiling can be executed before each application start as it causes only a negligible overhead. This information is then used together with the communication pattern of the parallel application to group tasks based on the amount of communication and to map groups with a lot of communication between them to cloud instances with a high network performance. In this way, application performance is increased, and data traffic between instances is reduced. We evaluated our proposal in a public cloud with a variety of MPI-based parallel benchmarks from the HPC domain, as well as a large scientific application. In the experiments, we observed substantial performance improvements (up to 11 times faster) compared to the default scheduling policies. Emmanuell D. Carreño, Matthias Diener, Eduardo Henrique Molina da Cruz, Philippe Olivier Alexandre Navaux |
CCGrid | 3 |
| 2016 | A Sharing-Aware Memory Management Unit for Online Mapping in Multi-core Architectures
Eduardo Henrique Molina da Cruz, Matthias Diener, Laércio Lima Pilla, Philippe Olivier Alexandre Navaux |
Euro-Par | 1 |
| 2016 | Communication in Shared Memory: Concepts, Definitions, and Efficient DetectionabstractOptimizing the communication behavior of parallel applications has emerged as an important topic in parallel processing. In shared memory architectures, threads communicate implicitly through memory accesses to shared memory areas. The communication behavior can be improved by mapping threads that communicate a lot to processing units that are close to each other in the memory hierarchy, such that they can benefit from shared caches and faster interconnections. An important aspect of such a communication-aware thread mapping is the accurate and efficient detection of communication in shared memory. Previous work used impromptu definitions, without an evaluation of the complexities of different communication types. In this paper, we perform an in-depth, systematic evaluation of communication in shared memory, focusing on its architectural effects. We present an efficient way to detect communication, which is orders of magnitude faster than a cache simulator, while maintaining a high accuracy. Matthias Diener, Eduardo Henrique Molina da Cruz, Marco A. Z. Alves, Philippe Olivier Alexandre Navaux |
PDP | 2 |
| 2016 | LAPT: A locality-aware page table for thread and data mapping
Eduardo Henrique Molina da Cruz, Matthias Diener, Marco A. Z. Alves, Laércio Lima Pilla, Philippe Olivier Alexandre Navaux |
Parallel Comput. | 1 |
| 2016 | Hardware-Assisted Thread and Data Mapping in Hierarchical Multicore ArchitecturesabstractThe performance and energy efficiency of modern architectures depend on memory locality, which can be improved by thread and data mappings considering the memory access behavior of parallel applications. In this article, we propose intense pages mapping, a mechanism that analyzes the memory access behavior using information about the time the entry of each page resides in the translation lookaside buffer. It provides accurate information with a very low overhead. We present experimental results with simulation and real machines, with average performance improvements of 13.7% and energy savings of 4.4%, which come from reductions in cache misses and interconnection traffic. Eduardo Henrique Molina da Cruz, Matthias Diener, Laércio Lima Pilla, Philippe Olivier Alexandre Navaux |
ACM Trans. Archit. Code Optim. | 1 |
| 2016 | Kernel-Based Thread and Data Mapping for Improved Memory AffinityabstractReducing the cost of memory accesses, both in terms of performance and energy consumption, is a major challenge in shared-memory architectures. Modern systems have deep and complex memory hierarchies with multiple cache levels and memory controllers, leading to a Non-Uniform Memory Access (NUMA) behavior. In such systems, there are two ways to improve the memory affinity: First, by mapping threads that share data to cores with a shared cache, cache usage and communication performance are optimized. Second, by mapping memory pages to memory controllers that perform the most accesses to them and are not overloaded, the average cost of accesses is reduced. We call these two techniques thread mapping and data mapping, respectively. Thread and data mapping should be performed in an integrated way to achieve a compounding effect that results in higher improvements overall. Previous work in this area requires expensive tracing operations to perform the mapping, or require changes to the hardware or to the parallel application. In this paper, we propose kMAF, a mechanism that performs integrated thread and data mapping in the kernel. kMAF uses the page faults of parallel applications to characterize their memory access behavior and performs the mapping during the execution of the application based on the detected behavior. In an evaluation with a large set of parallel benchmarks executing on three NUMA architectures, kMAF achieved substantial performance and energy efficiency improvements, close to an Oracle-based mechanism and significantly higher than previous proposals. Matthias Diener, Eduardo Henrique Molina da Cruz, Marco A. Z. Alves, Philippe Olivier Alexandre Navaux, Anselm Busse, Hans-Ulrich Heiß |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2015 | Locality and Balance for Communication-Aware Thread Mapping in Multicore Systems
Matthias Diener, Eduardo Henrique Molina da Cruz, Marco A. Z. Alves, Mohammad Shadi Al Hakeem, Philippe Olivier Alexandre Navaux, Hans-Ulrich Heiß |
Euro-Par | 2 |
| 2015 | An Efficient Algorithm for Communication-Based Task MappingabstractThe communication between tasks of a parallel application is an important characteristic to consider when mapping tasks to computing cores due to possible differences in communication performance. Within a machine, performance differences are introduced by the memory hierarchy, in which cache memories can be shared by groups of cores and intra-chip interconnections are faster than inter-chip interconnections. In cluster and grid systems, the network imposes an additional communication latency. By mapping tasks that communicate to cores nearby on the memory hierarchy, or to the same nodes in clusters or grids, the communication of parallel applications is optimized, leading to increased performance and energy efficiency. In the task mapping context, one of the most important aspects to be considered is the mapping algorithm, as it determines the improvements that can be achieved. Since the problem of finding the best mapping is NP-Hard, heuristics must be employed to find an approximate solution in feasible time. In this paper, we present Eager Map, a new algorithm to perform communication-based mapping that is based on a greedy grouping strategy applied hierarchically. Experimental evaluation indicates that the execution time of our algorithm is 10 times faster than the state-of-the-art, and presents higher performance improvements. Due to its low execution time and high stability, Eager Map is also suitable for online task mapping, where tasks are migrated during execution. Eduardo Henrique Molina da Cruz, Matthias Diener, Laércio Lima Pilla, Philippe Olivier Alexandre Navaux |
PDP | 1 |
| 2015 | Locality vs. Balance: Exploring Data Mapping Policies on NUMA SystemsabstractIn parallel architectures that have a Non-Uniform Memory Access (NUMA) behavior, the mapping of memory pages to NUMA nodes influences the performance of parallel applications. In order to improve traditional data mapping policies, two basic strategies can be employed: optimizing locality or balance of memory accesses. In a locality-based policy, memory pages are mapped to nodes that access the page the most. In a balance-based policy, memory pages are mapped such that the number of memory accesses resolved by each memory controller is similar. In this paper, we perform an in-depth exploration of these data mapping policies on the performance of parallel applications. We introduce metrics that describe their memory access behavior and evaluate their suitability for data mapping. We also present new mapping policies that focus on locality, balance or both. These policies were evaluated on three different NUMA architectures with applications from the NAS-OMP and PARSEC benchmark suites. Results show that the performance improvements of each policy depend on the characteristics of the applications and machines. Choosing the wrong policy can actually hurt the performance compared to the default first-touch mapping. Compared to traditional mapping policies and to policies that only focus on either locality or balance, taking into account both locality and balance results in the highest improvements. Furthermore, it avoids the performance reduction caused by the wrong data mapping. Matthias Diener, Eduardo Henrique Molina da Cruz, Philippe Olivier Alexandre Navaux |
PDP | 2 |
| 2015 | Communication-aware thread mapping using the translation lookaside bufferabstractSummary Threads of parallel applications need to communicate in order to fulfill their tasks. The communication performance between the cores in modern multi‐core architectures differs because of the memory and interconnection hierarchies. In these architectures, it is important to map the threads of parallel applications by taking into account the communication between them, to improve their performance and energy consumption. In parallel applications based on shared memory, communication is implicit, which makes it difficult to detect the communication pattern between the threads. In this paper, we introduce a new lightweight mechanism to detect the communication pattern between threads of shared memory applications using the translation lookaside buffer. Our mechanism relies on hardware features, which make it transparent to the programmer and allow the detection to be performed by the operating system during the execution of the application. We also developed a heuristic mapping algorithm that uses the detected pattern to dynamically map the threads to cores. Experiments were performed with applications from the NAS‐OMP and PARSEC parallel benchmark suites in a simulated machine as well as a real machine. Results show that our mechanism can substantially improve parallel application performance, as well as processor and DRAM energy consumption. Copyright © 2015 John Wiley & Sons, Ltd. Eduardo Henrique Molina da Cruz, Matthias Diener, Philippe Olivier Alexandre Navaux |
Concurr. Comput. Pract. Exp. | 1 |
| 2015 | Communication-aware process and thread mapping using online communication detection
Matthias Diener, Eduardo Henrique Molina da Cruz, Philippe Olivier Alexandre Navaux, Anselm Busse, Hans-Ulrich Heiß |
Parallel Comput. | 2 |
| 2015 | Characterizing communication and page usage of parallel applications for thread and data mapping
Matthias Diener, Eduardo Henrique Molina da Cruz, Laércio Lima Pilla, Fabrice Dupros, Philippe Olivier Alexandre Navaux |
Perform. Evaluation | 2 |
| 2014 | kMAF: automatic kernel-level management of thread and data affinityabstractOne of the main challenges for parallel architectures is the increasing complexity of the memory hierarchy, which consists of several levels of private and shared caches, as well as interconnections between separate memories in NUMA machines. To make full use of this hierarchy, it is necessary to improve the locality of memory accesses by reducing accesses to remote caches and memories, and using local ones instead. Two techniques can be used to increase the memory access locality: executing threads and processes that access shared data close to each other in the memory hierarchy (thread affinity), and placing the memory pages they access on the NUMA node they are executing on (data affinity). Most related work in this area focuses on either thread or data affinity, but not both, which limits the improvements. Other mechanisms require expensive operations, such as memory access traces or binary analysis, require changes to hardware or work only on specific parallel APIs. Matthias Diener, Eduardo Henrique Molina da Cruz, Philippe Olivier Alexandre Navaux, Anselm Busse, Hans-Ulrich Heiß |
PACT | 2 |
| 2014 | Optimizing Memory Locality Using a Locality-Aware Page TableabstractOne of the main challenges for modern parallel shared-memory architectures are accesses to main memory. In current systems, the performance and energy efficiency of memory accesses depend on their locality: accesses to remote caches and NUMA nodes are more expensive than accesses to local ones. Increasing the locality requires knowledge about how the threads of a parallel application access memory pages. With this information, pages can be migrated to the NUMA nodes that access them (data mapping), as well as threads that access the same pages can be migrated to the same node such that locality can be improved even further (thread mapping). In this paper, we propose LAPT, a mechanism to store the memory access pattern of parallel applications in the page table, which is updated by the hardware during TLB misses. This information is used by the operating system to perform an optimized thread and data mapping during the execution of the parallel application. In contrast to previous work, LAPT does not require any previous information about the behavior of the applications, or changes to the application or runtime libraries. Extensive experiments with the NAS Parallel Benchmarks (NPB) and PARSEC showed performance and energy efficiency improvements of up to 19.2% and 15.7%, respectively, (6.7% and 5.3% on average). Eduardo Henrique Molina da Cruz, Matthias Diener, Marco A. Z. Alves, Laércio Lima Pilla, Philippe Olivier Alexandre Navaux |
SBAC-PAD | 1 |
| 2014 | Dynamic thread mapping of shared memory applications by exploiting cache coherence protocols
Eduardo Henrique Molina da Cruz, Matthias Diener, Marco A. Z. Alves, Philippe Olivier Alexandre Navaux |
J. Parallel Distributed Comput. | 1 |
| 2013 | Communication-Based Mapping Using Shared PagesabstractIn current shared memory architectures, the complexity of the cache and memory hierarchies is increasing. Therefore, it is becoming more important to analyze the communication behavior of parallel applications when mapping threads to cores, to improve performance and energy efficiency. However, communication is implicit in most programming models for shared memory, which makes it difficult to detect the communication pattern between the threads in an accurate and low-overhead way. We propose a new mechanism to detect the communication pattern of shared memory applications by monitoring page table accesses. Combining this mechanism with a dynamic migration algorithm allows mapping to be performed dynamically by the operating system. We implemented our mechanism in the Linux kernel and performed experiments with applications from the NAS Parallel Benchmarks. Results show a reduction of up to 16.7% of the execution time and 63% of the cache misses, compared to the original scheduler of the operating system. Furthermore, we decrease total processor and DRAM energy consumption by up to 14.7% and 28.5%, respectively. Matthias Diener, Eduardo Henrique Molina da Cruz, Philippe Olivier Alexandre Navaux |
IPDPS | 2 |
| 2012 | Using the Translation Lookaside Buffer to Map Threads in Parallel Applications Based on Shared MemoryabstractThe communication latency between the cores in multiprocessor architectures differs depending on the memory hierarchy and the interconnections. With the increase of the number of cores per chip and the number of threads per core, this difference between the communication latencies is increasing. Therefore, it is important to map the threads of parallel applications taking into account the communication between them. In parallel applications based on the shared memory paradigm, the communication is implicit and occurs through accesses to shared variables. For this reason, it is difficult to detect the communication pattern between the threads. Traditional approaches use simulation to monitor the memory accesses performed by the application, requiring modifications to the source code and drastically increasing the overhead. In this paper, we introduce a new light-weight mechanism to detect the communication pattern of threads using the Translation Look aside Buffer (TLB). Our mechanism relies entirely on hardware features, which makes the thread mapping transparent to the programmer and allows it to be performed dynamically by the operating system. Moreover, no time consuming task, such as simulation, is required. We evaluated our mechanism with the NAS Parallel Benchmarks (NPB) and achieved an accurate representation of the communication patterns. Using the detected communication patterns, we generated thread mappings using a heuristic method based on the Edmonds graph matching algorithm. Running the applications with these mappings resulted in performance improvements of up to 15.3%, reducing the number of cache misses by up to 31.1%. Eduardo Henrique Molina da Cruz, Matthias Diener, Philippe Olivier Alexandre Navaux |
IPDPS | 1 |