Ride the Edge: Agentic Service Placement on Mobile Infrastructure

Background Most edge computing research assumes a fixed topology of static servers. In reality, cities are in constant motion. Buses, trams, and trains carry passengers — and the devices they depend on — through coverage gaps, congestion hotspots, and unpredictable handoff zones. This project introduces Mobile Edge (ME) servers installed on public transport vehicles as … Read more

Edge Swarms: Learning Cooperative Behaviour in Distributed AI Systems

Background Centralised placement controllers are simple to reason about but brittle in practice: a single point of failure, limited scalability, and high communication overhead as the network grows. Decentralised approaches — where each edge node makes its own decisions — are more resilient, but risk sub-optimal global outcomes when nodes act purely in self-interest. Multi-Agent … Read more

Zero-Shot Edge Deployment: Transfer Learning Agents for Cross-Network Service Placement

Background Training a reinforcement learning agent from scratch for each new edge environment is expensive — in time, data, and compute. Yet edge networks vary enormously: a placement policy tuned for a dense urban deployment may perform poorly in a suburban network with different server topologies, user mobility patterns, and service mixes. Transfer Reinforcement Learning … Read more

Approximate multiplication for integer constant division and remainder [Available September 2026]

Integer division and remainder are relatively complicated, expensive operations. Most modern processors have at least one integer multiplier unit that has both low latency (typically between 3 and 5 cycles) and high throughput (typically the unit can complete a multiply operation every cycle). In contrast, most modern processors do not have a fast integer division … Read more

Minimum constant big integer multiplication using fixed-size multiplication units [Available for September 2026]

Almost all modern processors provide special-purpose instructions for integer multiplication. However, some applications require integer values that are larger than fit in a single machine word, such as 256 bit integers. We can multiply these big integer values using a sequence of smaller multiplies. For example, multiplying two 256-bit integer values might be completed with … Read more

Minimum hardware constant multiplication with integer linear programming [Available for September 2026]

In some applications, such as many cryptography algorithms, multiplication by a known integer constant is a common operation. It’s well known that integer multiplication with a constant can be computed with a sequence of shifts and adds. Most modern processors already have fast integer multiplication units, so in software it is usually faster to use … Read more

In-place matrix multiplication for rectangular matrices [Available for September 2026]

Matrix multiplication is one of the commonly-used computations across a wide range of applications. For example, most implementations of neural networks implement very large numbers of matrix multiplications. Almost all processor and GPU manufacturers provide libraries with carefully hand-tuned fast matrix multiplication routines. All the best-known algorithms matrix multiplication are out-of-place; that is, the result … Read more

(Allocated) Microworld to teach about solutions to the housing crisis

Microworlds are a type of computer simulation which have proven to be very powerful tools with which to create effective learning experiences. For example a previous project developed one to teach about nati0nal waste management. This project will involve developing a microworld to help teach about the challenges involved in tackling the housing crisis. The … Read more