NERSCPowering Scientific Discovery Since 1974

Interactive Jobs

Interactive Batch Jobs

The login nodes on Genepool should not be used for heavy interactive work.  These login nodes are shared amoungst all Genepool users so heavy CPU or memory usage will affect other Genepool users.  

10 nodes have been reserved on Genepool for high priority and interactive work.  Each user can use up to 2 slots at a time in the high priority queue.

Use the qlogin command to run jobs interactively.  The example below shows how to request an interactive session on Genepool . 

genepool:$~> qlogin -l high.c

This will put you directly onto a node where you can do interactive work.

kmfagnan@genepool01:~$ qlogin -l high.c

Your job 1459021 ("QLOGIN") has been submitted
waiting for interactive job to be scheduled ......
Your interactive job 1459021 has been successfully scheduled.
Establishing builtin session to host x4170a01.nersc.gov ... 

kmfagnan@x4170a01:~$

 You can use qlogin to get on any compute node in the cluster, the high.c complex just routes you to the less utilized high-priority nodes.  For example, to do an interactive login session on the whole-node schedulable hardware:

genepool:$~> qlogin -l exclusive.c

Suspending processes in a qlogin session

if you would like to suspend a process while running in a qlogin session (usually done with Ctrl-Z), you must do the following 

stty susp ^K 

Group-specific Genepool Interactive Nodes (gpints)

Users can also run interactive work on the interactive/analysis nodes dedicated for various groups.  See the list of interactive resources available to your group.  One important aspect of using gpints is cooperation with your group members.  

Memory limits on gpint nodes

In order to prevent catastrophic system crashes due to overcommission of memory all genepool computational nodes (including login nodes and gpints) are configured to never overcommit memory.  This means that a 120G node will not be able to provide more than 120G of memory.  However, the "free" or "available" memory that you see in top output only accounts for memory not presently in use, it doesn't account for memory requested but not-yet claimed.  The only way at present to check right for the currently available memory is to look at the "Commited_AS" property in /proc/meminfo:

dmj@genepool12:~$ cat /proc/meminfo | grep -i commit
CommitLimit: 131668272 kB
Committed_AS: 16176344 kB
dmj@genepool12:~$

The information above indicates that the system believes it has a limit of 128GB (131,668,272 kB), and has allocated 15.4GB (16,176,344 kB) of memory.

WARNING: The default behavior of the Java Virtual Machine is to allocate 1/4 of the system memory.  On the login nodes we have set the limits very restrictively to prevent accidental overruns of memory.  You'll need to specify your maximum memory requirements carefully with java to prevent running the system too low on memory.  Please see