abstract:farber:runjobs:schedule_jobs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
abstract:farber:runjobs:schedule_jobs [2019-02-19 10:32] – [Array jobs] anitaabstract:farber:runjobs:schedule_jobs [2019-02-22 11:36] – [Memory] ssunkara
Line 388: Line 388:
 For memory you will be concerned about how much is free.  Memory resources come as both consumable and sensor driven (not consumable).   For example: For memory you will be concerned about how much is free.  Memory resources come as both consumable and sensor driven (not consumable).   For example:
 ^ memory resource ^ Consumable ^ Explanation ^ ^ memory resource ^ Consumable ^ Explanation ^
-| mem_free | No |Memory that must be available BEFORE job can start | +| m_mem_free | Yes |Memory consumed per CPU DURING execution |
-| m_mem_free | Yes |Memory consumed by the job DURING execution |+
  
-It is usually a good idea to add both resources. The ''mem_free'' complex is sensor driven, and is more reliable for choosing a node for your job.  The ''m_mem_free'' is consumable, which means you are reserving the memory for future use.  Other jobs, using ''m_mem_free'', may be barred from starting on the node.  If you are specifying memory resources for a parallel environment job, the requested memory is multiplied by the slot count. By default, ''m_mem_free'' is defined as 1GB of memory per core (slot), if not specified.+The ''m_mem_free'' is consumable, which means you are reserving the memory for future use.  Other jobs, using ''m_mem_free'', may be barred from starting on the node.  If you are specifying memory resources for a parallel environment job, the requested memory is multiplied by the slot count. By default, ''m_mem_free'' is defined as 1GB of memory per core (slot), if not specified.
  
-<note tip>When using a shared memory parallel computing environment ''-pe threads'', divide the total memory needed by the number of slots. For example, to request 48G of shared memory for an 8 thread job, request 6G (6G per slot).</note>+<note tip>When using a shared memory parallel computing environment ''-pe threads'', divide the total memory needed by the number of slots. For example, to request 48G of shared memory for an 8 thread job, request 6G (6G per slot) i.e.,'-l m_mem_free=6G'</note>
  
 <note warning>Please note a job error will occur and prevent the queue from accepting jobs when: <note warning>Please note a job error will occur and prevent the queue from accepting jobs when:
Line 406: Line 405:
  
 <code> <code>
-qsub -l mem_free=20G,m_mem_free=20G -t 1-30 myjob.qs+qsub -l m_mem_free=20G -t 1-30 myjob.qs
 </code> </code>
  
-This will submit 30 jobs to the queue, with the SGE_TASK_ID variable set for use in the ''myjobs.qs'' script (an [[general:userguide:06_runtime_environ?&#array-jobs|array job]].)   +This will submit 30 jobs to the queue, with the SGE_TASK_ID variable set for use in the ''myjobs.qs'' script (an [[:abstract:farber:runjobs:schedule_jobs#array-jobs|array job]].)   
-The ''mem_free'' resource will cause Grid Engine to find a node (or wait until one is available) with 20 Gbytes of memory free. +The ''m_mem_free'' resource will tell Grid Engine to not schedule a job on a node unless the specified amount of memory i.e., 20GB per CPU is available to consume on that node. Since this is a serial job that runs on a single CPU,20GB can be termed as total memory available for the job.
-The ''m_mem_free'' resource will tell Grid Engine to not schedule a job on a node unless the specified amount of memory is available to consume on that node.+
 ==== Parallel environments ==== ==== Parallel environments ====
  
Line 433: Line 431:
 === The threads parallel environment === === The threads parallel environment ===
  
-Jobs such as those having openMP directives use the **//threads//** parallel environment, an implementation of the [[:general:userguide:05_development#programming-models|shared-memory programming model]]. These SMP jobs can only use the cores on a **single** node.+Jobs such as those having openMP directives use the **//threads//** parallel environment, an implementation of the [[:abstract:farber:app_dev:prog_env#programming-models|shared-memory programming model]]. These SMP jobs can only use the cores on a **single** node.
  
 For example, if your group only owns nodes with 24 cores, then your ''–pe threads'' request may only ask for 24 or fewer slots. Use Grid Engine's **qconf** command to determine the names and characteristics of the queues and compute nodes available to your investing-entity group on a cluster. For example, if your group only owns nodes with 24 cores, then your ''–pe threads'' request may only ask for 24 or fewer slots. Use Grid Engine's **qconf** command to determine the names and characteristics of the queues and compute nodes available to your investing-entity group on a cluster.
  • abstract/farber/runjobs/schedule_jobs.txt
  • Last modified: 2021-04-27 16:21
  • by 127.0.0.1