wiki:MultiUser

Version 3 (modified by davea, 13 years ago) (diff)

--

Multi-user projects

This document describes a set of BOINC server features that support projects with multiple users (i.e., job submitters). A user may represent a single scientist, a research group, or some other organizational entity, An example of a multi-user project is a science portal such as NanoHUB.org.

Such projects are typically structured so that users interact with the project through a web-based interface, possibly served on a computer other than the BOINC server. The BOINC server is accessible only to administrators.

BOINC's design supports the following goals:

  • The set of users may be large (1000s) and dynamic. Typically, only a few may have jobs at any given point.
  • The project's resources are shared fairly among users, based on quotas.
  • Users have privacy: a user cannot see the computational results of other users.
  • The access rights of a user (e.g., the applications to which they can submit jobs) can be limited by project administrators.

User identity

Users are identified by BOINC project accounts (same as volunteers). Users can supply computing resources to the project, and this may affect their quota (see below).

Access control

To submit jobs, users must be given access by administrators. This can done via the project admin web interface. Users may be given permission to submit jobs only to specific applications, or to submit jobs to any current or future applications.

In the future, we may provide mechanisms by which users can create applications, and the access control system would be extended to control this capability.

User quotas

Each user has a quota which determines how much computing resource they get if there is contention. Roughly speaking, if a set of users are contending for resources, the amount that each one gets is proportional to their resource share.

The way in which quotas are determined is up to the project. Some possibilities:

  • Each user attaches their own PCs to the BOINC project, and their quota is the recent average credit of these hosts.
  • Volunteers attached to the project can assign shares of their resource to scientists, and a scientist's quota is the sum of these, weighted by the volunteer average credit.
  • A user's share is increased if they contribute to the portal, e.g. by participating in the message boards.

Quotas are set by administrators, via the admin web interface or other mechanism.

Implementation notes

Two new DB tables support the multi-user features

  • user_submit: access control and quota info for a user
  • user_submit_app: per (user, app) access control info.