Rake allows a -j parameter which specifies the maximum number of jobs. This number should work not just for the super-project, but the sub-projects as well. To make matters more difficult, if the super-project can fill all the job-spots, then the sub-project shouldn't get any.
There should be communication between the super and sub-project instances as to how many tasks are being executed and if any more can without exceeding that limit as established in the super-project execution.