The cluster challenge game nears completion

Author: Nick Brown
Posted: 11 Sep 2015 | 11:49

This summer we hosted a PRACE Summer of HPC student, Anna, who has been working with us on an HPC supercomputer cluster challenge game which she previously blogged about here. The idea of this has been to gamify the design of a supercomputer, balancing the desire for advanced components (CPU, memory and accelerators) against budget and power efficiency.

The user’s design must handle jobs, and the completion of these provides money which can be further invested. As one progresses through the levels the jobs become more complex (and lucrative) and additional components are available to be included within the machine. Not only is the user aiming to progress through the levels and maximise their score, but badges are awarded for specific achievements such as a green supercomputer, profitable machine and the overall number of jobs run.

The game provides both something new to keep our outreach events fresh, and it's also something that the public can play with at home even if they don’t manage to come to any of our outreach events in person.

Right from the start we knew it would be important to support multiple devices, from desktops to tablets to phones. There are some other technologies out there (such as Unity) which allow you to develop full-fat applications which work across these devices and the initial phase of the project involved evaluating the options available. Due to the steep learning curve of Unity and short timescales (especially for Anna, who was only with us for 2 months) we decided that, instead, a web-based application would be preferable. Irrespective of whether the user was on a desktop running Windows or a phone running Android, it would be the same URL and same code that would run on their device. In order to achieve this we have used the Bootstrap framework, originally developed by Twitter, to manage the UI part of the application and this provides the seamless transition between presentation on different devices with (almost) no specialist code required by us.

The application itself is written in Javascript and having expertise in HPC rather than the web meant that there was plenty of experimentation required to select the most appropriate libraries and technologies. Personally, whenever I have done web development in the past the pages have been front ends and actually very simple in terms of logic and presentation. Therefore one of the initial concerns we had was whether the web browser would be sufficient – however the richness of this technology, and what can be achieved using it, has actually taken us by surprise. Not only the large number of existing libraries, such as JQuery, but also the volume of helpful documentation out there has meant that it is trivial to achieve effects (such as smoke billowing from a machine cabinet when a node breaks) that using other approaches would be more complex. With the work being done by organisations such as optimising their Javascript engines, it really does seem like the web browser has become a very realistic choice for complex applications.

We are currently in the final stages of tweaking the game before unveiling it next week at the Bang Goes the Borders science festival, and we will make it available online in the next few weeks too. There are numerous technologies out there that package up web applications into Apple and Android apps, so we are also planning on adding it to the app stores in the near future.

Author

Nick Brown, EPCC