Web-based volunteer distributed computing for handling time-critical urgent workloads
Urgent computing workloads are time critical, unpredictable, and highly dynamic. Whilst efforts are on-going to run these on traditional HPC machines, another option is to leverage the computing power donated by volunteers. Volunteer computing, where members of the public donate some of their CPU time to large scale projects has been popular for many years because it is a powerful way of delivering compute for specific problems, with the public often eager to contribute to a good cause with societal benefits. However, traditional volunteer computing has required user installation of specialist software which is a barrier to entry, and the development of the software itself by the projects, even on-top of existing frameworks, is non-trivial. As such, the number of users donating CPU time to these volunteer computing projects has decreased in recent years, and this comes at a time when the frequency of disasters, often driven by climate change, are rising fast. We believe that an alternative approach, where visitors to websites donate some of their CPU time whilst they are browsing, has the potential to address these issues. However, web-based distributed computing is an immature field and there are numerous questions that must be answered to fully understand the viability of leveraging the large scale parallelism that website visitors represent. In this paper we describe our web-based distributed computing framework, Panther, and perform in-depth performance experiments for two benchmarks using real world hardware and real world browsing habits for the first time. By exploring the performance characteristics of our approach we demonstrate that this is viable for urgent workloads, but there are numerous caveats, not least the most appropriate visitor patterns to a website, that must be considered.
READ FULL TEXT