wiki:OrgGrid

Version 24 (modified by teleyinex, 16 years ago) (diff)

--

An organizational grid management system for BOINC

TOC?

Introduction

OGM (TODO: pick a better name) is a system for grid computing on organizational resources, using BOINC.

BOINC is thought to rely on user decisions because they are the owners of the computers. However, there are situations where the users are not the owners of the PCs, for example the PCs from an institution like an University. In this case, the computers are controlled by the institution, and therefore the institution decides in which tasks can be used those computers. In this new scenario BOINC lacks a tool to harness remotely all the BOINC enabled computers without the intervention of the user. For this reason, we are developing the tool called OGM.

OGM is a tool which basically works in the same way as the Account Managers does. The main difference is that OGM is institutional oriented instead of user oriented. Hence, the OGM employs the Account Manager protocol, and uses a Master Slave architecture. To support this software, all the clients will have to install a BOINC client and attach to the OGM server. Once the clients have contacted the OGM server, the clients will receive all the BOINC projects that they have to process.

As now the institution has the power of deciding which projects they are going to support with its resources, the institution could receive petitions for using those BOINC resources. For this reason, the institution will have a committee. This committee will decide which BOINC projects are interesting for the institution. Based on this decision, the institution will donate its BOINC enabled PCs to the chosen projects.

A more detailed view of OGM

OGM consists in two main parts: the hardware and the administrators. Therefore, for OGM, from the point of view of hardware components, an institution is composed with the following items:

  • PC. This is the basic item of OGM. A PC here is named as a "BOINC working node". The institution must have at least one PC.
  • Pool. A Pool is a set of zero or more PCs that share something in common. For example, all the PCs are located in the same laboratory. The institution must have at least one pool of computers.
  • Department. A Department is a set of one or more Pools of computers that share something in common. For example, all the pools belongs to the math research group of the institution. An institution must have at least one Department.

For OGM, from the point of view of managers, an institution is composed with the following persons:

  • IT Manager. An IT Manager always belongs to one Department. For this reason, the IT Manager can only administer the computer pools which belongs to his department.
  • Project Manager. A Project Manager is in charge of choosing and attaching the BOINC projects that will run on the institution BOINC PCs.

A visual summary of the explained components is in the following figure:

OGM Users

OGM employs roles to distinguish between the different OGM users:

  1. The IT Manager role. This user can:
    • See the statistics of his pools of computers: CPU, RAM, HD, etc.
    • Change the BOINC preferences for the pools of his institution:
      • Time policy: Between which hours BOINC can use the PC resources. For example, the pool of computers A (which represents all the computers of laboratory 1) can work with BOINC from 9:00 am to 21:00 pm.
      • CPU use. The percentage of allowed CPU that BOINC can use.
      • RAM use. The percentage of allowed RAM that BOINC can use.
      • HD use. The percentage of allowed HD that BOINC can use.
      • ??? what else?
  2. The Project Manager role. This user is in charge of:
    • Creating, Editing, Deleting BOINC projects.
    • Defining the Resource Share parameter for each BOINC project.
  3. The root role. This user can do any task, is the super user:
    • Administer (create, delete, edit) OGM users.
    • Do the tasks of an IT Manager.
    • Do the tasks of an Project Manager.

The OGM assumes also different roles for the OGM users:

  • OGM Administrator. This is the root user. He can do the following tasks:

OGM assumes the following organizational structure:

  • There is a set of "resource pools" (groups of computers). Each resource pool is owned by an organizational unit (e.g. a research group, a university department, a division of a company, etc.).
  • There is a set of BOINC projects that are allowed to use these resources. These projects are operated by organizations (some of which may also manage resource pools). The projects may get resources from sources other than the OGM (e.g., from the public).
  • The set of organizations has agreed to cooperate in the sharing of computer resources. They all trust an organization (the OGM) to manage this sharing.

Based on requests and constraints from resource providers and consumers, the OGM decides which projects to attach to which computers, and what resource share should be assigned.

OGM is implemented using BOINC's Account Manager mechanism. The computers in a particular resource pool are attached to a single OGM account. The BOINC client on the computer periodically communicates with the OGM, which instructs it which projects to attach to, and the resource share for each attachment.

OGM provides different interfaces to different people. All the interfaces are web-based.

For the OGM manager, the interfaces include:

  • Create and delete accounts for resource managers and project managers.
  • Decide what fraction of total resources is assigned to each project.
  • ??? what else?

For resource managers, the interfaces include:

  • View list of computers in the pool.
  • Edit BOINC preferences for computers in the pool.
  • View set of projects currently using the pool.
  • ??? what else?

For project managers, the interfaces include:

  • ??? what else?

Implementation

The tool has the following tables:

users

  • id INTEGER, KEY
  • password STRING
  • rolid INTEGER, FKINDEX
  • departmenid INTEGER, FKINDEX

roles

  • id INTEGER, KEY
  • name VARCHAR

pools

  • id INTEGER, KEY
  • name VARCHAR
  • organization ID
  • prefs This field copes with all the BOINC preferences for one computer

organization

  • id INTEGER, KEY
  • name VARCHAR
  • location STRING

host

  • id INTEGER, KEY
  • poolid INTEGER, INDEX
  • features This field copes with all the PC features (RAM, CPU, HD, etc.)

projects

  • id INTEGER, KEY
  • name VARCHAR
  • url STRING
  • signature string
  • share FLOAT (between 0.0 and 1.0)

Attachments (4)

Download all attachments as: .zip