Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Marcos Maronas

dblp:206/0018 · also Marcos Maroñas, Marcos Maroñas Bravo · DBLP profile ↗
← Back
6ranked-venue papers
4as first author
3since 2021 · last 2023
0000-0003-1035-5625ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 5 · 4 first-author · 2 since 2021Software engineering, systems software and programming languages · 1 · 1 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.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Parallel and multicore computing · 87% Electronic design automation · 13%

Topics — the 6 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › control operators
delimited control
0.612022
High-level effect handlers in C++ · Proc. ACM Program. Lang. 2022
Programming languages and type systems › computational effects › algebraic effects
effect handlers
0.612022
High-level effect handlers in C++ · Proc. ACM Program. Lang. 2022
Programming languages and type systems
language design
0.612022
High-level effect handlers in C++ · Proc. ACM Program. Lang. 2022
Parallel and multicore computing
synchronization
0.512021
Advanced synchronization techniques for task-based runtime systems · PPoPP 2021
Parallel and multicore computing › parallel programming runtimes
task-based runtime
0.512021
Advanced synchronization techniques for task-based runtime systems · PPoPP 2021
Electronic design automation › high-level synthesis
scheduling
0.112021
Advanced synchronization techniques for task-based runtime systems · PPoPP 2021

Methods — techniques the papers use, named apart from their topics

object-oriented interface · 0.6manual memory management · 0.6
YearPublicationVenuePosition
2023 Mitigating the NUMA effect on task-based runtime systems
Marcos Maronas, Antoni C. Navarro, Eduard Ayguadé, Vicenç Beltran 0001
J. Supercomput.1
2022 High-level effect handlers in C++
abstract
Effect handlers allow the programmer to implement computational effects, such as custom error handling, various forms of lightweight concurrency, and dynamic binding, inside the programming language. We introduce cpp-effects, a C++ library for effect handlers with a typed high-level, object-oriented interface. We demonstrate that effect handlers can be successfully applied in imperative systems programming languages with manual memory management. Through a collection of examples, we explore how to program effectively with effect handlers in C++, discuss the intricacies and challenges of the implementation, and show that despite its limitations, cpp-effects performance is competitive and in some cases even outperforms state-of-the-art approaches such as C++20 coroutines and the libmprompt library for multiprompt delimited control.
Dan R. Ghica, Sam Lindley, Marcos Maronas, Maciej Piróg
Proc. ACM Program. Lang.3
2021 Advanced synchronization techniques for task-based runtime systems
abstract
Task-based programming models like OmpSs-2 and OpenMP provide a flexible data-flow execution model to exploit dynamic, irregular and nested parallelism. Providing an efficient implementation that scales well with small granularity tasks remains a challenge, and bottlenecks can manifest in several runtime components. In this paper, we analyze the limiting factors in the scalability of a task-based runtime system and propose individual solutions for each of the challenges, including a wait-free dependency system and a novel scalable scheduler design based on delegation. We evaluate how the optimizations impact the overall performance of the runtime, both individually and in combination. We also compare the resulting runtime against state of the art OpenMP implementations, showing equivalent or better performance, especially for fine-grained tasks.
David Álvarez 0006, Kevin Sala, Marcos Maronas, Aleix Roca, Vicenç Beltran 0001
PPoPP3
2020 Evaluating Worksharing Tasks on Distributed Environments
abstract
Hybrid programming is a promising approach to exploit clusters of multicore systems. Our focus is on the combination of MPI and tasking. This hybrid approach combines the low-latency and high throughput of MPI with the flexibility of tasking models and their inherent ability to handle load imbalance. However, combining tasking with standard MPI implementations can be a challenge. The Task-Aware MPI library (TAMPI) eases the development of applications combining tasking with MPI. TAMPI enables developers to overlap computation and communication phases by relying on the tasking data-flow execution model. Using this approach, the original computation that was distributed in many different MPI ranks is grouped together in fewer MPI ranks, and split into several tasks per rank. Nevertheless, programmers must be careful with task granularity. Too fine-grained tasks introduce too much overhead, while too coarse-grained tasks lead to lack of parallelism. An adequate granularity may not always exist, especially in distributed environments where the same amount of work is distributed among many more cores. Worksharing tasks are a special kind of tasks, recently proposed, that internally leverage worksharing techniques. By doing so, a single worksharing task may run in several cores concurrently. Nonetheless, the task management costs remain the same than a regular task. In this work, we study the combination of worksharing tasks and TAMPI on distributed environments using two well known mini-apps: HPCCG and LULESH. Our results show significant improvements using worksharing tasks compared to regular tasks, and to other state-of-the-art alternatives such as OpenMP worksharing.
Marcos Maronas, Xavier Teruel, J. Mark Bull, Eduard Ayguadé, Vicenç Beltran 0001
CLUSTER1
2020 Extending the OpenCHK Model with advanced checkpoint features
Marcos Maronas, Sergi Mateo, Kai Keller, Leonardo Arturo Bautista-Gomez, Eduard Ayguadé, Vicenç Beltran 0001
Future Gener. Comput. Syst.1
2019 Worksharing Tasks: An Efficient Way to Exploit Irregular and Fine-Grained Loop Parallelism
abstract
Shared memory programming models usually provide worksharing and task constructs. The former relies on the efficient fork-join execution model to exploit structured parallelism; while the latter relies on fine-grained synchronization among tasks and a flexible data-flow execution model to exploit dynamic, irregular, and nested parallelism. On applications that show both structured and unstructured parallelism, both worksharing and task constructs can be combined. However, it is difficult to mix both execution models without penalizing the data-flow execution model. Hence, on many applications structured parallelism is also exploited using tasks to leverage the full benefits of a pure data-flow execution model. However, task creation and management might introduce a non-negligible overhead that prevents the efficient exploitation of fine-grained structured parallelism, especially on many-core processors. In this work, we propose worksharing tasks. These are tasks that internally leverage worksharing techniques to exploit fine-grained structured loop-based parallelism. The evaluation shows promising results on several benchmarks and platforms.
Marcos Maronas, Kevin Sala, Sergi Mateo, Eduard Ayguadé, Vicenç Beltran 0001
HiPC1