From ComputeMode
Jump to: navigation, search


Quick overview

A ComputeMode server can help you
  • deploy easily and non intrusively a distributed network test-bed
  • extend an already existing computing system through the aggregation of unused computing resources (idle workstations for instance)
  • have a unified view of all your resources

General overview

ComputeMode relies on a master-slave architecture built by using a central server as a master. Though centralized, some services may be distributed to other servers.

The CM server maintains the availability of registered PCs on the local network. Each PC owner, in accordance with your company policy, may choose to let his/her PC be used at nights, or during weekends or vacations: most workstations are used interactively 50 hours a week. A PC used by CM when it is idle is told to be a client (or processing or slave) node. The other mode is known as 'user mode'.

The two modes are
  1. in user mode, in which the machine is working the way it's used to (most likely under Microsoft Windows for instance). The owner of the machine should not even notice that his or her PC is managed as a ComputeMode processing node. In particular, the computational resources of the PC will not be used while in User Mode (unless virtualization support is enabled)
  2. The Computation Mode (from when the ComputeMode name comes) is activated when the machine is in a time period where the PC is considered as "idle". If the ComputeMode Server detects some computational peak, the PC can be remotely switched to Computation Mode. The switch from user mode is done through an automatic reboot of the machine and proceeds to a remote boot. The remote boot is handled by the ComputeMode Server with the "pre-execution environment" (PXE) protocol, which is natively available from the BIOS of PCs since 1999. While in Computation Mode, the machine is running under the Linux Operating System, and does not have access to any local drive.

The ComputeMode administrator can easily manage the computing PCs through a web-based interface available on the ComputeMode server.

A grid user (standard Unix user) may submit computational jobs to the system through the use of a classical batch manager by logging in on the server (through ssh for instance), or computation scheduler (for large parametric computation campaigns for instance)

The batch manager will then take care of
  1. reserving adequate resources for the computations
  2. scheduling the execution of the jobs

The Open Source (GPL) batch manager 'OAR' ships with CM but other products such as Platform's LSF, OpenPBS, TORQUE or Sun Grid Engine are known to work with ComputeMode.

Load balancing with an already installed job manager is also something which can be accomplished: for instance, your dedicated cluster usually handle the work load but for peak periods, some extra-CPU power would be useful...

When the ComputeMode server detects that a client node becomes unavailable, the latter returns to the previous User Mode so that the owner will not even notice that his/her PC has been used by ComputeMode.

Submitted jobs can take advantage of the NFS distributed file system made available from the ComputeMode Server. Each Grid User has his/her own private home directory and can use it to store the data required by the computational jobs, as well as to retrieve the generated results.

If a PC owner comes back and needs his/her PC at once, he/she is still the boss: simply by pressing keys (alt-ctl-del), the PC owner can abort any ongoing computational activity on his/her PC, and ComputeMode will restore theUser Mode in about one minute. The Owner won't be bothered again as his/her PC will be 'quarantined' and will no longer be used for further computations till 'un-quarantined'.

The On-demand HPC cluster manager Computemode building software suite ?

Yes, it is. The word 'grid' is used but you may also see the CM infrastructure as a 'cluster'. The differences between 'cluster' and 'grid' is somewhat fuzzy and the meanings of these words vary according to different CS schools. To help you understand what CM can do for you:

  • if you have some workstations (PC) available during nights, weekends or vacations, or some spare systems,
  • if you have CPU-hungry applications (MPI-like parallel codes, parametric codes, scientific simulations, large compilation projects) running under Unix

Note: scientific applications for Microsoft OS [DOS, Win 3.x, and current OS] can often be run under Linux - this may however require specific work that Icatis can help you do

  • if you know what the role of a batch manager/scheduler (PBS, Platform's LSF, TORQUE, Sun's Grid Engine/N1, OAR)
  • CM will help you make all those entities meet easily.
  • If you happen to already own and use a dedicated cluster, ComputeMode will offer extra power without extra costs: think of the costs of new machines, a system administratore, AC, ...
  • If your application is CPU hungry but you do not know whether it can gain from being parallelized or distributed, feel free to ask Icatis for advice.
  • If you want to initiate students to distributed infrastructures, as well as cluster tools and technologies, or if you simply want to experiment with a cluster prior to buying a dedicated system, CM will help you reach those goals easily.
  • If you are working in a scientific laboratory, you may want to use CM to offer your searchers or colleagues an extra infrastructure to test-bed your computations.

The scope and possibilities offered by CM are rather extensive.

ComputeMode is Open Source

ComputeMode is indeed a whole set of software available under Open Source licenses (most tools being available through a GNU GPL) - an acknowledgement list will be given in appendix sec:acknowledgement-oss.

It is currently based on Linux and ships a Debian GNU/Linux OS for the server. The solution to ship a compete distribution was chosen since a lot of configuration has to be done to let the system run smoothly.

As such it is available under Open Source license or Open Source-friendly licenses :

  • cmwebadmin: the web interface administration is available under the GNU GPL 2
  • all the other codes or patches are available for free (sources are available on ComputeMode web site) under the license of the project to which they apply
  • cmwebadmin-data: (basically, images, style sheets, logos) are available under a Creative Common license (Attribution-NonCommercial-NoDerivs 2.5) which basically lets you redistribute it unmodified for free provided you do not steal Icatis's credits.

End 2007, Icatis stopped supporting ComputeMode. The former professional parts of the software are now included in the open-source software.

Personal tools

user portal
developer portal
wiki stuff