====== Important notes on cluster usage ====== ==== Submit jobs from /scratch/username ==== For every account on the cluster a directory on the cluster wide filesystem ''/scratch'' is created. It is very important that you do not write your output files from jobs to ''/home///username//'' but ''/scratch///username//'' instead. This is easily accomplished by submitting your jobs directly from ''/scratch///username//''. ''/home///username//'' is also not writable from within jobs, so any attempts to write there will fail. ''~/.cache'' is pointing to a temporary filesystem, which you can use nonetheless. You can also just keep output data on ''/scratch'' as nothing on the filesystem will ever be deleted. The main difference is, that ''/home'' is just a single server while ''/scratch'' is a cluster-filesystem based on BeeGFS that utilizes many servers at the same time. ==== Always specify the amount of memory your job needs in the jobfile ==== When submitting a job you absolutely must specify an amount of memory to be allocated for your job. By default, a job get's ''1MB'' of memory per allocated CPU. This is a ridiculously value, which we set to make sure that some thought goes into how much memory you need. If more memory is allocated than you actually need, your job might wait longer than needed for a free spot in the cluster. If you specifiy less memory than needed, your program will automatically be killed. ==== Use /tmp for I/O intensive single node jobs ==== Jobs that do a lot of I/O operations on a shared cluster filesystem like ''/scratch'' can severely slow down the whole system. If your job does not use multiple nodes and is not reading and writing very large files, it might be a good idea to move input and output files to the ''/tmp'' folder on the compute node itself. ''/tmp'' is a RAM based filesystem, meaning that anything you store there is actually stored in memory. So space is quite limited. Currently all jobs on a node can use at most 20% of the total system memory for space in ''/tmp''. If you need more space, you should consider using ''/dev/shm'', where you can use up to 50% of the total system memory per job. Usable space below /tmp and /dev/shm counts towards your job's memory usage and thus is limited by the ''--mem'' option