Un videogioco educativo per il calcolo ad alte prestazioni

View/ Open
Author
Zinkowicz, Szymon Piotr <1997>
Date
2026-03-25Data available
2026-04-02Abstract
L’High Performance Computing (HPC) e la programmazione parallela sono spesso difficili da insegnare perché molti dei loro concetti fondamentali sono altamente astratti. Gli studenti devono comprendere idee come thread, memoria condivisa, sincronizzazione e speedup, spesso prima di sentirsi sicuri nell’uso degli strumenti di programmazione tipici di questo ambito. Questa tesi esplora un modo più accessibile di introdurre questi argomenti attraverso un gioco educativo interattivo. Il sistema proposto è un gioco di ordinamento di carte basato sul web, in cui i giocatori devono disporre carte numerate in ordine crescente. Nella modalità single-player, l’attività rappresenta l’esecuzione sequenziale, poiché un solo giocatore svolge l’intero compito. Nella modalità multiplayer, più giocatori lavorano contemporaneamente sullo stesso insieme di dati, riflettendo il paradigma della memoria condivisa ispirato a OpenMP. Delle aree buffer locali vengono utilizzate per modellare gli spazi di lavoro locali dei thread e rendere più visibile la suddivisione del lavoro. Il gioco mostra anche che il parallelismo non riguarda soltanto l’aumento della velocità, ma anche il coordinamento, la sincronizzazione e l’overhead di comunicazione. Il sistema è stato sviluppato come applicazione web utilizzando il motore Godot e un framework per la sincronizzazione multiplayer. Il risultato è un prototipo educativo open-source che rende i concetti introduttivi dell’HPC più comprensibili e coinvolgenti per gli studenti. High Performance Computing (HPC) and parallel programming are often difficult to teach because many of their core concepts are highly abstract. Students must understand ideas such as threads, shared memory, synchronization, and speedup, often before feeling confident with the programming tools used in this field. This thesis explores a more accessible way of introducing these topics through an interactive educational game. The proposed system is a browser-based card-sorting game in which players arrange numbered cards in ascending order. In single-player mode, the activity represents sequential execution, since one player performs the whole task alone. In multiplayer mode, several players work on the same dataset at the same time, reflecting shared-memory parallelism inspired by OpenMP. Local buffer areas are used to model thread-local workspaces and make the division of work easier to observe. The game also shows that parallelism is not only about working faster, but also about coordination, synchronization, and communication overhead. The system was implemented as a web-based application using the Godot engine and a multiplayer synchronization framework. The result is an open-source educational prototype that makes introductory HPC concepts more understandable and engaging for students.
Type
info:eu-repo/semantics/masterThesisCollections
- Laurea Magistrale [7402]

