class Origen::Application::LSF::Configuration

The LSF command configuration that will be used for all submissions to the LSF. An instance of this class is returned via the configuration method and which can be used to modify the LSF behavior on a per-setup basis.

Attributes

cores[RW]

Specify the number of cores to use while submitting the job to LSF There is a restriction on the number of cores available per queue name Below is a table:

Queue name          equivalent           Purpose
interq                  gui                  Interactive jobs, like Virtuoso. Max 15 jobs/user
batchq                  normal               CPU intensive batch jobs, 1 .. 3 threads. Specify # of threads with bsub -n option. Slots/user: ~10% of total batch capacity.
batchq_mt               normal            CPU intensive batch jobs, >= 4 threads. Specify # of threads with bsub -n option. Slots: shared with batchq.
shortq                  short                        CPU intensive batch jobs, 1 thread (= 1 core), guaranteed run time 15 minutes. Slots/user: approximately 3x limit in batchq.
offloadq                  -                        Used for offloading cpu intensive batch jobs to cloud, see CloudPortal.
                                              Do not submit directly into this queue. No real slot limit. Focused on CPU intensive jobs, not using much memory/data.
distributed             normal          Run jobs than span multiple hosts.
-                       prio                    High prio queue with low slot count, useful if you don't have slots available in normal queue. See PrioritizingMyJobs.
-                       ondemand                On-Demand Servers to satisfy urgent and short-term (2 weeks or less) customer compute requirements.
-                       wam                 WAM cron processing
-                       grid                       Low-priority batch jobs (random sim, regressions, etc). Access to all spare CPU cycles.
debug[RW]

When set to true no submissions will be made to LSF and instead the command that would have been submitted is printed to the terminal instead

group[RW]

The group parameter, default: nil

max_jobs[RW]

default 400. Set number of max jobs (- 100) to be able to run by this user before lsf submission pauses. eg if max jobs you want ran is 500, set to 400, which will block until local submissions is less than 400 at which point it can batch submit up to 100 more jobs

project[RW]

The project parameter, default: ‘msg.te’

queue[RW]

The queue parameter, default: ‘short’

queue_count_only[RW]

default false. used when calculating remote job count for comparison with the max jobs parameter If set to true, then only jobs of the specified queue will be counted, effectively making the max_jobs value a max_jobs per queue

resource[RW]

The resource parameter, default: ‘linux’

Public Class Methods

new() click to toggle source
# File lib/origen/application/lsf.rb, line 46
def initialize
  @group = Origen.site_config.lsf_group
  @project = Origen.site_config.lsf_project
  @resource = Origen.site_config.lsf_resource
  @queue = Origen.site_config.lsf_queue
  @debug = Origen.site_config.lsf_debug
  @cores = Origen.site_config.lsf_cores
  @max_jobs = Origen.site_config.lsf_max_jobs || 400
  @queue_count_only = Origen.site_config.lsf_queue_count_only || false
end