Local Scheduling for Volunteer Computing
David P. Anderson, John McLeod · 2007
BOINC, a middleware system for volunteer computing, involves projects, which distribute jobs, and hosts, which execute jobs. The local (host-level) scheduler addresses two issues: when to fetch new jobs from a project and, of the currently runnable jobs, which to execute. It seeks to simultaneously satisfy a number of constraints - such as maintaining given long-term ratios of work between projects, meeting deadlines for job reporting, and providing variety to the volunteer - using uncertain, dynamic information about resources and jobs. We describe these goals and factors, and discuss BOINC's local scheduling policies.