The various methods of the Population and Assembly classes that deal with accessing recorded data or writing it to disk, such as get_data(), write_data(), etc., have an optional argument gather, which is True by default.
If gather is True, then data generated on other nodes is sent to the master node. This means that, for example, write_data() will create only a single file, on the filesystem of the master node. If gather is False, each node will write a file on its local filesystem. This option is often desirable if you wish to do distributed post-processing of the data. (Don’t worry, by the way, if you are using a shared filesystem such as NFS. If gather is False then the MPI rank is appended to the filename, so there is no chance of conflict between the different nodes).
Note that the above applies only to the random number generators provided by the pyNN.random module, not to the native RNGs used internally by each simulator. This means that, for example, you should prefer SpikeSourceArray (for which you can generate Poisson spike times using a parallel-safe RNG) to SpikeSourcePoisson, which uses the simulator’s internal RNG, if you care about being independent of the number of processors.