Changes between Initial Version and Version 1 of GSoC_13

Mar 26, 2013, 10:55:06 PM (9 years ago)



  • GSoC_13

    v1 v1  
     1= Google Summer of Code 2013 project ideas =
     3== Enhance the BOINC Android GUI ==
     5The current BOINC Android GUI is functional but not visually appealing,
     6and it lacks some usability features.
     7The project is to design and implement improvements to the GUI.
     8Possibilities includes:
     10 * Add graphics to the GUI; for example, allow projects to supply
     11   slide-show images illustrating their science.
     12 * Implement mechanism that allow users to smoothly navigate
     13   from the GUI to web-based features on project sites,
     14   as is done on the desktop BOINC GUI.
     15 * Implement the "notices" mechanism that allows project to push
     16   news items to volunteers.
     18== Automated testing of BOINC ==
     20We're in the process of deploying a Jenkins-based automated test system for BOINC.
     21Help us add unit tests to the BOINC code,
     22and to design end-to-end tests that exercise the entire system
     23under a range of use cases and error conditions.
     25== Job size matching ==
     27Some BOINC projects now have applications with versions for GPUs, CPUs, and mobile devices.
     28The speed of these devices varies by roughly 3 orders of magnitude;
     29a job that takes 10 minutes to complete on a GPU might take a week to complete on a mobile device.
     30This disparity is undesirable - we'd like all jobs to take roughly the same amount of time.
     31To do this, we need a way to generate an appropriate distribution of jobs sizes,
     32based on a dynamic resource pool,
     33and we need a scheduling mechanisms that distributes jobs appropriately.
     34Design and implement these.
     36== Accelerating batch completion ==
     38Volunteer computing resources are unreliable - computers fail,
     39people uninstall BOINC, and so on.
     40Roughly 5% of jobs fail or time out.
     41This means that in a batch of 10,000 jobs, 500 or so will fail.
     42We retry these (after a delay of a few days) and 25 or so will fail, and so on.
     43Thus is can take quite a long time to finish the entire batch.
     45This problem can be solved by using more reliable computers to handle retries
     46and jobs at the end of a batch.
     47Doing so, however, is tricky.
     48Design and implement a mechanism for doing this.