logo SBA

ETD

Archivio digitale delle tesi discusse presso l’Università di Pisa

Tesi etd-09252024-232944


Tipo di tesi
Tesi di laurea magistrale
Autore
FERRARO, DOMENICO
URN
etd-09252024-232944
Titolo
Designing and Implementing Parallel Building Blocks in Python through FastFlow Integration
Dipartimento
INFORMATICA
Corso di studi
INFORMATICA
Relatori
relatore Prof. Torquati, Massimo
Parole chiave
  • fastflow
  • parallel
  • parallel building blocks
  • python
Data inizio appello
11/10/2024
Consultabilità
Completa
Riassunto
This thesis focuses on the design and implementation of parallel building blocks in Python using the FastFlow C++ library to overcome Python's Global Interpreter Lock (GIL) limitations. By creating Python bindings for FastFlow through the Python C API, this work introduces predefined parallel building blocks such as pipelines, farms, and all-to-all communication into Python, allowing developers to build efficient and scalable parallel applications.

The goal of the thesis is to provide a high-level API for FastFlow in Python, enabling users to implement complex parallelism without manual process management or synchronization. The proposed solution supports two strategies: one using multiple processes to bypass the GIL and the other using subinterpreters, which allow threads to run in parallel by isolating their execution.

This work addresses Python’s shortcomings in parallelism by leveraging the efficiency of FastFlow’s C++ core and extending its power to Python developers. This improves performance in CPU-bound tasks, make parallel building blocks available in Python, and enhance the scalability of Python programs on multi-core processors.
File