If I run some jobs in parallel like this:
#!/bin/bash
for i in `seq 1 100`;
do
./program data$i.txt &
done
this means that I need 100 cores? Or in case I don't have 100 cores some of the jobs will wait, or they will all be run on that lower number of cores, so more than 1 job will be allocated to a core? And in case I need 100 cores, what should I do to run 10 at a time, without having to make the for loop from 1 to 10 and run the bash file 10 times?