Mobile offloading project In this project, we are going to develop a distributed computing infrastructure using only mobile phones: Task list
- Develop a Master mobile application that can be used to start a program that collects battery levels from mobile phones and lists it in a file
- Develop a service discovery application, that sends queries to available mobile phones in close proximity through Bluetooth or WiFi to request participation
- Develop a dispatcher application that choses a mobile phone among the ones that accepted the request based on matching some requirements. Requirements can be minimum battery level, and location proximity (you have to use GPS on slave mobile phones)
- Based on the chosen set, send requests to start battery monitoring application on the slave side.
- Develop a slave application that can receive a request from a master through Bluetooth or WiFi
- The application can also monitor the battery level and current location and send it back to the master if the user decides to consent.
- The application can then run a code snippet in the slave end to start the periodic monitoring application
- Using this framework, solve the problem of distributed Matrix Multiplication a. The master instantiates the Matrix b. Sends parts of the Matrix to the Slave c. Slave computes on the Matrix d. Sends data back to the Master e. Master combines and shows the result
- Write a failure recovery algorithm in the Master, where if a slave fails the master can reassign immediately to another available slave node
- Estimate execution time of the Matrix Multiplication if done only on the Master
- Estimate execution time If done using the distributed approach with no failure
- Estimate execution time if done using the distributed approach with failure
- Estimate power consumption of Master and Slave nodes without distributed computation
- Estimate power consumption of Master and Slave nodes with distributed computation