TBD: a new model for volunteer computing

David Anderson, 1 June 2017

A summary of what I've been doing and thinking about recently. Comments/suggestions welcome!


After 20 years, volunteer computing has had successes, but has not approached its potential.

These problems can be traced to BOINC's original structural model: the "project ecosystem" model. In this model, there's a dynamic ecosystem of competing projects, the public learns about them and make informed choices, the best projects get the most computing power, and the public learns and gets excited about science. BOINC is designed to encourage this model (e.g. cross-project IDs and credit).

The model was based on several assumptions:

The model didn't work as envisioned, for a number of reasons:

A new model

I think we need to take what we've learned from the project ecosystem model and make a new and better model. I brought up this idea at the 2013 BOINC workshop, and proposed a model consisting of two related parts:

On a technical level, the new model is enabled by our ability (thanks to Rom Walton and various people from CERN) to run jobs in virtual machines, and recent refinements by Marius Milea to support Docker on top of this. This makes it possible for HTC providers like TACC and nanoHUB (which already use Docker for app deployment) to run hundreds of existing applications with no porting or other per-app work.

This model addresses most of the problems with the previous one. Notes about the new model:

Funding status

In 2014 I started thinking seriously about the new model, and I teamed up with two mainstream computing providers as test cases:

Our goal is to create success stories that inspire all HTC providers to add VC back ends.

In 2014 we sent a proposal to NSF; it got good reviews but was rejected. We revised and resubmitted the next year, and in 2016 we were given 1 year of funding and encouraged to re-apply again. We did, and recently learned that our latest proposal was funded for 3 years, starting this month. Yippee!

The proposal text is here, and the 1-page summary is here.

We didn't get all the money we asked for, which is par for the course. We got enough to pay my salary, and 50% salary for my collaborators at Purdue and TACC. I had hoped to be able to hire a web designer here at UCB; maybe I can find other sources of money to do this.

Relationship to BOINC

In 2016 BOINC became a community-run project; I don't control it. The new project, TBD, will be separate from BOINC. I hope that the BOINC community likes and supports TBD, but some people might not, and I don't want to step on their toes. Of course, I'm interested in hearing comments and criticisms about TBD, and in discussing it.

I've been mostly MIA from BOINC for the last couple of years, because I've been working full-time on other projects. I apologize for this. With this new funding, I'll be able to devote a good chunk of my time to managing and contributing to BOINC, e.g. setting up a functional release management process.

I suspect that relatively few current volunteers will use TBD; it's more for new users with wider demographics. So current projects won't lose computing power, and they should get additional power from TBD. Long term, I think something like TBD is our only hope for going from a few 100K volunteers to millions or tens of millions. And such a rising tide will float all of our ships.

To implement TBD, I'll need to add some features to BOINC, e.g.:

These features will have no impact on existing projects.

The BOINC web site will link to TBD as well as BAM! and GridRepublic.

The TBD source code will be released under LGPLv3, and will be stored on Github. We'll welcome code contributions.

Names

I've been through a few names for TBD. The latest proposal calls it "Science United". This is OK, but it's a bit long and uninteresting. Also it conjures the ill-fated "United Devices", an early attempt at commercializing VC.

I thought about names starting with "Sci" and came up with:

"Sciborg": volunteers are assimilated into a collective intelligence. Too ominous.

"Sciphon": like we're siphoning off computing power. Has connotations of stealing gasoline.

"SciOn": where the "O" is the power-button icon. Power up Science! I like this one, though Scion is also a former car brand.

The bottom line: computer nerds shouldn't invent brand names. Hopefully I can get help from marketing/branding experts from the business world. The UCB business school teaches classes in this sort of thing.


Copyright © 2017 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.