Version 32 (modified by 16 years ago) (diff) | ,
---|
An organizational grid management system for BOINC
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.
OGM Components
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:
- 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?
- The Project Manager role. This user is in charge of:
- Creating, Editing, Deleting BOINC projects.
- Defining the Resource Share parameter for each BOINC project.
- 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?
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)
- ogm.png (9.9 KB) - added by 17 years ago.
- institution.png (109.0 KB) - added by 16 years ago.
- projects.png (195.0 KB) - added by 16 years ago.
-
ogm.sql (5.1 KB) - added by 16 years ago.
Data Base
Download all attachments as: .zip