Be the first to rate this file! 6 Downloads (last 30 days) File Size: 2.98 KB File ID: #32441

ClusterInfo

by Raymond Norris

 

05 Aug 2011 (Updated 15 Sep 2011)

Used for passing parameters to third party schedulers

| Watch this File

File Information
Description

When submitting jobs to a third party scheduler, if it's necessary to pass additional arguments to the scheduler, rather than modifying the configuration, properties can be stored using the singleton class, ClusterInfo.

For example, if the Sys Admin wants the user to specify the walltime of a job, the user can specify it as such:

>> ClusterInfo.setWallTime('04:00:00');
>> job = batch(@simulation,1,{2,4});

In turn, the integration script used by the configuration will query for the walltime as such:

wt = ClusterInfo.getWallTime();
if isempty(wt)
   % Not set, default to 10 minutes
   wt = '00:10:00';
end
pn = ClusterInfo.getProjectName();
if isempty(pn)
   % Not set, but required, so error out
   error('For billing purposes, you must specify the project name')
end
...
% Embedded user options to call
cmd = system(['qsub -A ' pn ' -l walltime=' wt ' ...]);

The properties that can be passed are:

    % Arch
    % ClusterHost
    % EmailAddress
    % MemUsage
    % ProcsPerNode
    % ProjectName
    % QueueName
    % Reservation
    % UseGpu
    % UserDefinedOptions
    % UserNameOnCluster
    % WallTime

If an additional property is required, the Admin should create a setter and getter for it in ClusterInfo.m. Alternatively, the user can pass an argument to 'UserDefinedOptions', for instance

>> ClusterInfo.setUserDefinedOptions('-l pvmem=2gb')

The advantage to using ClusterInfo is that it allows the Admin to support a single configuration for their cluster while allowing the user the ability to pass additional arguments, tailoring it to their specific job submission.

Once the property is set, it is persistent between jobs as well as MATLAB sessions for that user. Call ClusterInfo.state to get the state of each property and ClusterInfo.clear to clear all property values.

ClusterInfo can be used by any integration script (i.e. any scheduler).

MATLAB release MATLAB 7.12 (2011a)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Updates
15 Sep 2011

Added the property, UserDefinedOptions, which allows the user to store arguments that are not already in ClusterInfo.

Tag Activity for this File
Tag Applied By Date/Time
distributed Raymond Norris 16 Aug 2011 09:37:20
pct Raymond Norris 16 Aug 2011 09:37:20
mdcs Raymond Norris 16 Aug 2011 09:37:20
integration scripts Raymond Norris 16 Aug 2011 09:37:20

Contact us at files@mathworks.com