GPU implementation of a resource-constrained virtual machine

2026-08-17Distributed, Parallel, and Cluster Computing

Distributed, Parallel, and Cluster ComputingGraphics
AI summary

The authors explain that software often uses more and more resources over time, which can make computers feel slow or outdated. They studied a small, simple virtual machine called Uxn, which limits resource use to keep programs lightweight. By running Uxn on a GPU and using a new way to do multiple tasks at once, they made it much faster. Their tests showed big speed improvements on example programs, even on regular computers and phones. This means GPUs can help run simple, efficient software more effectively.

software bloatvirtual machineGPUdata parallelismOpenMPUxnUxntalstack-based languageintegrated GPUbenchmark
Authors
Simone Li, Vladislav Brusokas, Andrei Ghita, Shuxuan Li, Wim Vanderbauwhede
Abstract
One of the main reasons compute hardware becomes obsolete is software bloat: resource requirements increase for every iteration of a software product. Resource constrained VMs are one way to combat software bloat as they post a hard limit on the resources and so force the programmer to be frugal. In this paper we explore the deployment of one such resource constrained VM, Uxn, on GPU. We show that for competitive performance it is essential to make use of the GPU data parallelism. We present an OpenMP-style parallelism API for Uxntal, the stack-based assembly-style language for the Uxn platform. We demonstrate that exemplar code using our API can run at comparable performance even on an integrated GPU. Specifically, our evaluation results show that using this approach improves performance on the compute-intensive Stencil benchmark with 19x and frame rate on the graphics-intensive Bunnymark benchmark with 7x. In practice, all laptops and desktops and even mobile devices have a GPU and our work shows that they can be used to execute frugal workloads effectively.