On March 21st, Adriano Vogel (GMAP researcher) successfully defended his thesis “Self-adaptive abstractions for efficient high-level parallel computing in multi-cores” at the School of Technology of the Pontifical Catholic University of Rio Grande do Sul (PUCRS). The defense was done through video conference due to the events of Covid-19.
Main research findings:
Nowadays, a significant part of computing systems and real-world applications demand parallelism to accelerate their executions. Although high-level and structured parallel programming aims to facilitate parallelism exploitation, there are still issues to be addressed to improve existing parallel programming abstractions. Usually, application developers still have to set non-intuitive or complex parallelism configurations.
In this context, self-adaptation is a potential alternative to provide a higher level of autonomic abstractions and runtime responsiveness in parallel executions. However, a recurrent problem is that self-adaptation is still limited in terms of flexibility, efficiency, and abstractions. For instance, there is a lack of mechanisms to apply adaptation actions and efficient decision-making strategies to decide which configurations to be enforced at run-time. In this work, we are interested in abstractions achievable with self-adaptation transparently managing the executions while the parallel programs are running (at run-time). Our main goals are to increase the adaptation space to be more representative of real-world applications and make self-adaptation more efficient with comprehensive evaluation methodologies, which can provide use-cases demonstrating the true potentials of self-adaptation. The doctoral dissertation provided the following scientific contributions:
- Categorizations, a taxonomy, a catalog of self-adaptation optimization, and a discussion of research challenges and perspectives of self-adaptive executions in parallel stream processing;
- A conceptual framework for decision-making in self-adaptive parallel executions;
- Strategies for a self-adaptive number of replicas for applications with a single parallel stage. The strategies support non-functional requirements such as latency and throughput, and SLO for managing resources utilization, minimizing self-adaptation overhead and providing seamless parallelism management;
- Mechanism, models, and strategies for self-adaptive applications’ composition structures.
- Mechanism and strategy for a self-adaptive number of replicas in complex compositions within the applications’ composition structures.
The proposed solution was applied to the context of stream processing applications, a representative paradigm present in several real-world applications that compute data flowing in the form of streams (e.g., video feeds, image, and data analytics). A part of the proposed solutions is evaluated with SPar and another part with the FastFlow programming framework.
The results demonstrate that self-adaptation can provide efficient parallelism abstractions and autonomous responsiveness at run-time, yet achieve a competitive performance w.r.t. the best static executions.
Evaluation committee:
Prof. Ph.D. Rodrigo da Rosa Righi (Unisinos)
Prof. Ph.D. Virginia Niculescu (BBU)
Prof. Ph.D. Fernando Luís Dotti (PUCRS)
Supervisors:
Prof. Ph.D. Luiz Gustavo Fernandes (PUCRS – Advisor)
Prof. Ph.D. Marco Danelutto (UNIPI – Advisor)
Prof. Ph.D. Dalvan Griebler (PUCRS – Co-Advisor)