10:00
13:00

High-performance computing refers to the use of supercomputers to solve complex problems requiring exceptional computing power, particularly in numerical simulations such as weather forecasting or fluid dynamics. These systems, organized into computing clusters, combine system administration, networking, hardware architecture, and software optimization. Supercomputers are composed of multiple computing nodes, each equipped with multi-core processors or even graphics cards, connected in a network that allows data exchange. Rather than executing a task on a single machine, problems are divided and parallelized. This allows simultaneous execution on multiple resources. There are two forms of parallelism: inter-node, where communication between nodes is critical but resources are vast, and intra-node, where processors share memory, facilitating communication but with more limited resources. In this context, streaming applications, particularly software radio, take advantage of intra-node parallelism. Stream computing differs from batch processing. Data is processed as it arrives, without accumulating input data. Processing filters are organized in a pipeline, with each stage being executed by a different computing resource. This mechanism significantly increases throughput, which is essential for applications such as video or radio broadcasting. This thesis aims to optimize the automatic allocation of resources for streaming applications on multicore architectures, first homogeneous and then heterogeneous. The first part of this work focuses on task chain scheduling on homogeneous multicore architectures. The problem is modeled as a pipeline workflow scheduling problem. The objective is to maximize throughput by exploiting pipeline parallelism and task replication. Two algorithms are proposed: a dynamic programming approach to obtain an optimal solution, and OTAC, an optimal greedy algorithm that guarantees high throughput while minimizing resource usage. Experiments show that OTAC quickly produces optimal partitions with reduced resource usage. The emergence of hybrid processors composed of high-performance cores (core-P) and energy-efficient cores (core-E) introduces new challenges: execution times vary depending on the assignment. The objective becomes twofold: to maximize throughput while minimizing energy consumption, favoring the use of efficient cores. The second part therefore focuses on resource allocation for task chains on heterogeneous architectures. Three strategies are developed: two greedy heuristics (FERTAC and 2CATAC) and an optimal solution using dynamic programming (HeRAD).
The results indicate that heuristics achieve near-optimal performance while consuming very few additional resources. The last part of this work focuses on the management of multiple simultaneous streaming channels. In certain contexts, such as embedded systems, IoT, or the cloud, multiple applications coexist on the same resources. The goal is to intelligently distribute resources among multiple pipelines while satisfying throughput constraints without wasting resources. The last part explores allocation strategies adapted to the management of multiple task chains or task graphs. Thus, this thesis offers several contributions to the optimization of streaming systems on parallel architectures, covering optimal scheduling, adaptation to heterogeneous architectures, and the coexistence of multiple simultaneous streams, with a constant focus on performance and energy efficiency.

Amphi LaBRI