wiki:OrgGrid

Version 34 (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 designed to rely on user decisions because they are the owners of the computer resources. However, there are situations where the users are not the owners of the PCs, for example the PCs of an institution like an University. In this case, the computers are controlled by the institution, so 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 a tool called OGM.

OGM is a tool which basically works in the same way as the Account Managers do. 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 it 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.

OGM Components

OGM has two main components: the hardware and the administrators. Therefore, for OGM, from the point of view of hardware components, an institution has the following items:

  • Computer. This is the basic item of OGM. A computer here is named as a "BOINC working node". The institution must have at least one computer.
  • Pool. A Pool is a set of zero or more computers that share something in common. For example, all the computers 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 has the following persons:

  • IT Manager. An IT Manager always belongs to one Department. For this reason, the IT Manager can only administer the pools that belong 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 computers.

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:
    • Admin (create, delete, edit) OGM users.
    • Do the tasks of an IT Manager.
    • Do the tasks of an Project Manager.

OGM Projects

An OGM Project is a BOINC project. This tool can have zero or more BOINC projects. Each project will be attached to all the pools. However, the OGM software can establish a priority policy based on the BOINC resource share parameter.

The following image shows how the BOINC projects are attached to all the pools of the departments within an Institution. The image shows an example of one institution with one department, having three pools (A, B, C). There are four different BOINC projects (purple, yellow, green, blue), all of them attached to all pools. The figure also shows different configurations for the Resource Share parameter.

The default behavior for the Resource Sharing parameter is to divide equally the amount of time between all the attached projects. In a future, it will be interesting to implement an scheduler which attach projects to pools of computers based on:

  • Hardware specifications:
    • CPU
    • RAM
    • HD
    • Time table
    • ??? what else?
  • ??? what else?

From here to Implementation we have the original version.

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

OGM has two main components: the server and the BOINC client. The tool employs the Account Manager protocol for all the communications.

Data Base Structure

The following sub-sections presents the DB tables. There are two foreign keys:

HOST.POOLID --> POOLS.ID POOLS.DEPARTMENT --> USERS.DEPARTMENT

users

  • id VARCHAR, KEY
  • password STRING
  • role INTEGER
  • department VARCHAR

pools

  • id INTEGER, KEY
  • name STRING
  • department STRING
  • prefs This field copes with all the BOINC preferences for one computer

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 STRING
  • url STRING
  • signature STRING
  • share FLOAT (between 0.0 and 1.0)

Attachments (4)

Download all attachments as: .zip