Name: taskset_thisjob - Binds the current process to a processor.

Synopsis:

proc taskset_thisjob -&gt; -


Examples:

Consider a particular computer system with 4 processors with 2 computing 
cores each. The operating system assigns the identifiers 0 to 7 
to the 8 cores starting with 0 for the first core on the first processor, 
1 for the second core on the first processor, followed by 2 for the 
first core on the second processor, and so on. The task now is to 
make sure that a distributed simulation with 4 MPI jobs uses only a 
single core on each processor. This can be achieved by inserting the 
following command as the first line of the simulation script: 
[1 3 5 7] Rank get taskset_thisjob 
or alternatively, 
Rank 2 mul 1 add taskset_thisjob 
In this examples only odd core identifiers are used because it 
is assumed that the operating system has a tendency to interrogate 
core 0 for availability. 
Following this strategy more general schemes can be designed to 
minimize the use of shared hardware on the basis of the architecture 
of a given computer system.


Description:

This function is a SLI interface to the UNIX command taskset. 
The command is particularly useful for assigning the different jobs 
of a distributed simulation to different processors or computing cores 
independent of the MPI implementation used. Binding of jobs is helpful 
in benchmarking to quantify the effects of hardware shared by computing 
cores and the influence of the job scheduling og the operating system.


Parameters:

proc - This integer value identifies a certain processing unit of the 
system the current job is running on. On a system with multi-core 
processors each core is assigned a different integer.


Author:

Diesmann


FirstVersion:

September 9th, 2006


SeeAlso:

taskset
Rank
NumProcesses

Source:

/var/www/debian/nest/nest-simulator-2.20.0/lib/sli/processes.sli
