Foto del docente

Luca Benini

Professore ordinario

Dipartimento di Ingegneria dell'Energia Elettrica e dell'Informazione "Guglielmo Marconi"

Settore scientifico disciplinare: ING-INF/01 ELETTRONICA

Didattica

Argomenti di tesi proposti dal docente.

Co-design HW e SW per Sistemi di calcolo ad alte performance (Scientific Computing, Cloud, Big data, Deep Learning)

Contatti: a.bartolini@unibo.itluca.benini@unibo.it

  • Power management su sistemi ARMv8 per High Performance e Big Data Computing

    L’espansione del mercato del calcolo ad alte performance e big data spinto dall’Industria 4.0 e da Tech Giants (Facebook, Google, Amazon, …) ha spinto diversi produttori di silicio ad entrare in questo mercato. ARMv8 permette di creare soluzioni competitive per questo mercato su tecnologia ARM (https://www.top500.org/news/fujitsu-reveals-details-of-processor-that-will-power-post-k-supercomputer/, https://www.anandtech.com/show/12694/assessing-cavium-thunderx2-arm-server-reality ). Parallelamente l’esercizio di larghi apparati di calcolo è vincolato al consumo energetico ed alla temperatura di esercizio. La proposta di tesi si focalizza sullo studio di sistemi di calcolo ad alte performance basati su sistemi ARMv8 (e.s. Cavium ThunderX2) e sulle soluzioni open source per il power management in sistemi di high performance computing (e.s. Intel GEOPM). Infine, nell’adattamento di queste librerie alle specificità HW delle CPU Cavium.

    Competenze richieste: Conoscenza delle architetture dei calcolatori, Conoscenza del linguaggio di programmazione C/C++

    La tesi darà modo allo studente di lavorare su architetture di calcolo di ultima generazione, su progetti software open source ed a stretto contatto con key developers in ARM research cambridge e Intel Hillsboro.

  • Thermal management run-time per sistemi di calcolo per High Performance e Big Data Computing

    Le performance dei sistemi di calcolo ad alte prestazioni (high performance computing) sono oggi limitate dai loro consumi e dalla loro dissipazione termica. La proposta di tesi si focalizza sull’estensione di librerie open source per la gestione dei consumi su sistemi di calcolo ad alte performance per il controllo predittivo della temperatura di esercizio dei nodi di calcolo.

    Competenze richieste: Conoscenza base di controlli automatici e ottimizzazione/system identification, Conoscenza del linguaggio di programmazione C/C++

    La tesi darà modo allo studente di lavorare su architetture di calcolo di ultima generazione, su progetti software open source e su algoritmi di controllo ottimo predittivo e system identification/ model learning.

  • Design di una power control unit per sistemi di calcolo ad alte performance basata su tecnologie open source.

    Le performance dei sistemi di calcolo ad alte prestazioni (high performance computing) sono oggi limitate dai loro consumi e dalla loro dissipazione termica. Per ottimizzare i consumi e gestire i la dissipazione termica ed al contempo massimizzare le performance i sistemi di calcolo moderno integrano al loro interno microcontrollori dedicati al controllo dei parametri vitali del processore (temperatura, uso della microarchitettura) e al controllo degli stati di low power (frequenza, voltaggio, power gating). I vari vendor usano soluzioni proprietarie che non permettono la standardizzazione e l’ottimizzazione. A tal fine risulta necessario sviluppare HW IPs open source indirizzate a questo scopo. La tesi partendo si propone di estendere PULP una piattaforma HW open source per la realizzazione di una power control unit per futuri sistemi di calcolo ad alte performance.

    Competenze richieste: Conoscenza base di linguaggi e del flusso di progettazione HW

    La tesi darà modo allo studente di lavorare sullo sviluppo di HW IPs per architetture di calcolo di ultima generazione

  • Realizzazione di un sistema per la prototipizzazione di sistemi di controllo termico e dei consumi in sistemi di calcolo ad alte performance

    I sistemi di High Performance Computing, Big Data e Artificial Intelligence sono caratterizzati da alti consumi e da architetture focalizzate alla gestione dinamica degli stessi. I processori in questi sistemi devono dialogare con i Voltage Regulator (VR) e con i Board Management Controller (BMC) per gestire correttamente l’evoluzione dei consumi. La tesi si propone di realizzare un sistema di prototipizzazione per logiche di controllo termico on chip, basato su FPGA e componenti di Voltage Regulation discreti.

    Competenze richieste: Progettazione di sistemi elettronici, progettazione su FPGA, progettazione HW e SW di sistemi embedded

    La tesi darà modo allo studente di apprendere concetti di progettazione di sistemi basati su FPGA e di power delivery, oltre ad apprendere concetti di high performance computing.

  • Progettazione di un run-time fail-safe ed open source per il controllo dei consumi in apparati di high performance computing

    I sistemi di High Performance Computing, Big Data e Artificial Intelligence sono caratterizzati da alti consumi e da architetture focalizzate alla gestione dinamica degli stessi. Questa tesi si focalizza nello sviluppo di run-time fail safe per il controllo termico e dei consumi in processori di calcolo per le alte performance.

    Competenze richieste: conoscenza base di programmazione embedded, e di sistemi operativi, linguaggi programmazione C/C++

    La tesi darà luogo allo studente di apprendere concetti di programmazione embedded e parallela, real-time, ed orientata alla security e safety che stanno prendendo piede in molti contesti legati all’industria 4.0, automotive ed industriali.

Machine Learning on IoT devices: Models, Systems and Applications

Contacts: manuele.rusci@unibo.it, alessandro.capotondi@unibo.it, f.conti@unibo.it, luca.benini@unibo.it

  • Deep Learning on Embedded Sensory Systems (LT)
    Development of audio/video systems featuring Deep Learning models for information extraction. By exploiting state-of-the-art tools and devices, the goal is to build a smart sensory system and measure the energy-efficiency.
    Required knowledge and skills:
    • Digital Systems & MCUs | ***
    • Signal-Processing | *
  • Efficient DL computation on advanced MCU devices (LT, LM)
    Writing optimized code and tools for mapping DL models on embedded targets. The goal is to exploit novel IoT devices and architectures to accelerate ML. This task includes writing optimized C code but also developing tools (python, C) for efficient mapping of ML models into the devices.
    Required knowledge and skills
    • Digital Systems & MCUs | ***
    • C/C++ Programming | **
    • Python Programming | *
  • Applications and Tools for Smart Camera Systems (LT, LM)
    Development of tools and applications for embedded smart camera devices. This includes using common OpenCV methods on sensor data for application case-study but also implementing the computer vision algorithm in-the-devices.
    Required knowledge and skills:
    • Digital Systems & MCUs | ***
    • Computer Vision | *
  • Machine Learning models for Embedded Devices (LM)
    Study and implementation of Machine Learning models for information extraction on resource-constrained devices. This includes theoretical study of models and training algorithms, using high-performance GPU machines for the training tasks with Python and learning how to interpret sensors data. Eventually, models can be implemented on the target devices for real-world testing.
    Required knowledge and skills:
    • Python Programming for Data Science | ***
    • Machine-Learning & IA | **

Machine Learning on IoT devices: Software Tools

Contacts: giuseppe.tagliavini@unibo.it, andrea.marongiu@unibo.it, luca.benini@unibo.it

  • Standard software library for Deep Neural Networks (LM)
    Development of a software library to facilitate and standardize the implementation of Deep Neural Networks on embedded devices. The goal is to adapt and extend the Neural Network Extension for OpenVX to exploit advanced IoT devices. Current market forecasts report that the deep learning market was worth $2.3B in 2017 and is expected to reach $18B by 2023, whereas the global IoT market will grow from $157B in 2016 to $457B by 2020. In this scenario a deep knowledge of these topics will be a key enabler to succeed at a career in industry.
    This thesis includes writing optimized C/C++ code and performing measurements on development boards.
    Required knowledge and skills:
    • C/C++ Programming | ***
    • Machine-Learning & IA | *
    • Computer Vision | *
    • Digital Systems Architecture | *

Digital Design on FPGAs for Embedded and Industrial Applications

Contacts: manuele.rusci@unibo.it, alessandro.capotondi@unibo.it, f.conti@unibo.it, luca.benini@unibo.it 
  • Digital Design on FPGA SoC with HLS tools (LT, LM)
    Development of digital circuits using high-level synthesis tools. Study and implementation of digital systems for HW acceleration of current solutions (railway or automotive devices). In collaboration with industrial partners (Magneti Marelli, RFI).
    Required knowledge and skills
    • Digital Systems & FPGA architecture | ***
    • C/C++ Programming | **
    • HDL (Verilog/VHDL) | *
  • Low-power FPGAs for embedded systems (LM)
    Using low-power FPGAs to connect sensors and actuators to IoT systems. This includes the implementation of the communication link between the host and the devices, the design of the control path and data path but also of filtering stages.
    Required knowledge and skills
    • Digital Systems & FPGA architecture | ****
    • HDL (Verilog/VHDL) | **
    • Signal-Processing | **

Multi and many-core embedded platforms: Software Models & Tools

Contacts: giuseppe.tagliavini@unibo.it, andrea.marongiu@unibo.it, luca.benini@unibo.it

  • Runtime library to enable task parallelism (LT, LM)
    Development of a runtime library which enables the tasking programming model on parallel embedded platforms. The goal is to introduce advanced techniques to reduce the overhead of task parallelism on resource-constrained embedded platforms beyond the current state-of-the-art.
    The ever-growing computational capabilities required by modern applications (such as UAVs and IoT devices) have paved the way for the introduction of parallel embedded systems. In perspective the adoption of programming models which are able to fully exploit the available parallelism is paramount to improve the efficiency of current and future applications.
    This thesis includes writing optimized C code and performing tests on virtual platforms/development boards.
    Required knowledge and skills
    • C Programming | **
    • Parallel Programming | *
  • Compiler support for custom hardware extensions (LM)
    Development of a GCC-based compilation toolchain to support custom hardware extensions.
    The goal is to extend the GCC compiler (at back-end and middle-end level) to exploit the benefits of custom hardware extensions of the PULP open-source platform. The adoption of open-source hardware substantially lowers costs in comparison to proprietary technologies and this approach has led to the emergence of new business models in recent years. However the lack of compiler-level support is often a limiting factor in the adoption of such solutions, especially when custom extensions are necessary.This project is an opportunity to dive into the internals of a compilation toolchain and gain the skills to enable emergent computing systems.
    This thesis includes writing optimized C/C++ code; it also requires a preliminary learning period in case of limited knowledge of compilers theory.
    Required knowledge and skills
    • C Programming | ***
    • Compilers Theory & Practice | *
    • Digital Systems Architecture | *

Note. LT stands for “Laurea Triennale” Thesis. In average takes around 2-3 months; LM stands for “Laurea Magistrale” Thesis. In average takes around 5-6 months.