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
doku:memory [2014/07/30 10:59] – [ad 2. parallel environment with fewer processes per node] irdoku:memory [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 28: Line 28:
 ==== ad 2. parallel environment with fewer processes  per node ==== ==== ad 2. parallel environment with fewer processes  per node ====
  
-Jobs using more than 2 GB per process can be executed in one of the parallel environments +   *[[doku:ompmpi|Hybrid OpenMP/MPI jobs ]]
-  mpich84 GB per core +
-  * mpich4: 8 GB per core +
-  * mpich2: 16 GB per core +
-  * mpich1: 32 GB per core+
  
----- 
-  * mpich: 2 GB or 1 cores per process 
-  * mpich8: 4 GB or 2 cores per process 
-  * mpich4: 8 GB or 4 cores per process 
-  * mpich2: 16 GB or 8 cores per process 
-  * mpich1: 32 GB or 16 cores per process 
  
----- 
- 
-Please keep in mind that on VSC-2 jobs are node-exclusive and therefore your contingent of CPU-hours will be computed by full nodes and are therefore significantly more expensive. 
-For example, <code>qsub -pe mpich2 64 my_job.sh</code> requests 64 cores, each with 16 GB: this is fulfilled by 32 nodes: each hour of this job costs 32*16=512 CPU-hours. 
- 
- 
----- 
- 
- 
-The variable NSLOTS_REDUCED is set to the number of cores requested, whereas the variable NSLOTS is set to the number of cores allocated in the queueing system, which corresponds to the cost calculation of the previous paragraph. 
-Replace your calls to mpirun accordingly to<code>mpirun -n $NSLOTS_REDUCED ... </code> where applicable! 
- 
- 
----- 
-== what to include in your jobscript == 
-<code>#$ -pe mpich2 4 
-mpirun -machinefile $TMPDIR/machines -np $NSLOTS_REDUCED -ppn 2 ./executable</code> 
-The parallel environment option (pe) includes the type of the requested environment (mpich2) and the number of processes (4). -ppn is the number of processes per node (2). 
-Within the machine file the variable NSLOTS_REDUCED is automatically set to the number of processes/slots requested, whereas the variable NSLOTS is set to the number of physical cores allocated in the queueing system. This latter number NSLOTS corresponds to the cost calculation in the previous paragraph:  NSLOTS = 4 processes * 8 cores = 32 cores = 2 nodes. 
 ==== ad 3. increased virtual memory ==== ==== ad 3. increased virtual memory ====
  
-Some programs allocate more memory than they use. This was especially true in old FORTRAN 77 programs, which had to decide at compile time how much memory will be used. These programs are allowed to allocate 50% more memory than available by '''#$ -l overcommit_mem=true''' in the job script. Unfortunately it might happen that the whole node crashes, reboots and leaves the queuing system, so please use this option wisely!+Some programs allocate more memory than they use. This was especially true in old FORTRAN 77 programs, which had to decide at compile time how much memory will be used. These programs are allowed to allocate 50% more memory than available by ''#$ -l overcommit_mem=true'' in the job script. Unfortunately it might happen that the whole node crashes, reboots and leaves the queuing system, so please use this option wisely!
  
 ==== ad 4. swap space (still experimental) ==== ==== ad 4. swap space (still experimental) ====
  
 A novel feature of the VSC-2 is remote swap space (implemented using 'SCSI RDMA Protocol', SRP), which is used by specifying '''#$ -l swapsize_GB=32''' or a multiple of 32. Each node of a job gets the same amount of swap space. A novel feature of the VSC-2 is remote swap space (implemented using 'SCSI RDMA Protocol', SRP), which is used by specifying '''#$ -l swapsize_GB=32''' or a multiple of 32. Each node of a job gets the same amount of swap space.
  • doku/memory.1406717993.txt.gz
  • Last modified: 2014/07/30 10:59
  • by ir