Smartphone Task Farm

Project reference: 1611
EPCC has developed a prototype for a smartphone app that demonstrates parallelism and task farms in a distributed computing environment. It is targeted at outreach events where visitors can join a compute “cluster” with their own smartphone by loading a web page. The goal is to show how tasks are shared across all the workers in a distributed application, and how the final result is assembled from the pieces that each worker computes. The demo is a client-server application with a RESTful web server as master that distributes tasks to smartphone clients running a HTML5/Javascript app.
The vision is to take the app to science festivals where we run demo sessions and invite visitors with their own smartphone to sign up to a distributed cluster and contribute to the application.
The exact specifications of the project are intentionally vague in the expectation that the chosen student can tailor the project and concentrate on the specific aspects that suit their abilities and interests. A prototype version will be available by the start of the Summer of HPC project. The main tasks for the student would be to develop the user interface of the app and/or the server to the state where it is suitable for the general public to use. This would include design and development of graphics for the distributed application. The student would also lead the beta-testing and fine-tuning of the app.

Project reference: 1611
Project Mentor: Amy Krause
Site Co-ordinator: Catherine Inglis
Student: Anna Gradou
Learning Outcomes:
The student will learn about parallel and distributed computation techniques and how to visualise the mechanisms employed by a distributed task farm or a distributed memory HPC service. They will also develop skills in mobile/web design and RESTful web service development.
Student Prerequisites (compulsory):
A strong programming background, with an interest in both HPC, parallel programming and the visualisation aspects of the field as well as a flair for design.
Student Prerequisites (desirable):
Experience in HTML5, Javascript and jQuery, Python and RESTful web services, parallel programming techniques and MPI, and/or the willingness to learn these technologies
Training Materials:
These will be provided to the successful student once they accept the placement.
Workplan:
Week 1: Familiarise with the existing prototype
Week 2, 3: Start working on the chosen features: this could be the master web page for the result visualisation, the RESTful web server acting as the master, or the client web page; also produce intermediate report by end of week 3
Week 4 – 7: Continue work on the chosen features or extensions; develop documentation and supporting materials; beta-test the app with EPCC staff and students
Week 8: Final report
Final Product Description:
The final product will be a mobile/web app and a web service, specifically designed to be used at science fairs, schools, and other outreach events. It will be made freely available and could be used as part of PRACE outreach events.
Adapting the Project: Increasing the Difficulty:
The app and web site could be extended to introduce (simulate) message passing between worker nodes and show a distributed application based on the image sharpening exercise that is available as part of the introductory course on ARCHER. The visualisation of the distributed workers could be explored to use 3d features.
Resources:
Nothing specific, just a desktop/laptop machine capable of running the development tools.
Organisation:
Edinburgh Parallel Computing Centre (University of Edinburgh)
[…] 11. Smartphone Task Farm […]