Articles

These articles are a random selection of write-ups I've done usually with the aim of helping me understand a new topic. With any luck they may even be useful to innocent bystanders.

Finding Shortest Paths in Hexagonal Torus Topologies

Finding Shortest Paths in Hexagonal Torus Topologies

Numerous people working on packet routing in SpiNNaker have been faced with the problem of generating shortest paths in the hexagonal mesh and torus topologies of SpiNNaker networks. This article introduces the (widely known) method for calculating shortest paths in hexagonal meshes. For hexagonal toruses topologies, the solution is less obvious. Though a number of solutions have been produced, this article describes a new, cleaner method which is able to generate all possible routes unlike existing solutions. Finally, we conclude with a proof-of-principle Python implementation which demonstrates the technique.
The Tickysim SpiNNaker Model

The Tickysim SpiNNaker Model

Tickysim is a timing-based simulator of the inter-chip interconnection network of the SpiNNaker architecture. This article describes the configurations used by on-going work comparing the simulator with a Bluespec SystemVerilog simulator implemented on an FPGA and the actual SpiNNaker hardware.
Mesh Muddling Madness

Mesh Muddling Madness Small-World Super-Computers

The theory of six degrees of separation is the idea that any living person is only six introductions away. In other words, the graph with nodes being people and edges being their friendships has a very low maximum-shortest-path-length (or diameter) compared to the number of nodes. Networks such as these are known as 'small-world networks' and this article explores what properties a super-computer wired up in this manner might have.