Do I need a parent queue?

I have a setup with dynamically generated queues from pppoe logins. I’m trying to figure out if I should add a parent queue to this setup.

I have the following setup. (Minor details have been changed and passwords omitted.) I have 1000Mbps from my ISP, and a couple hundred users. The “rate-limit” parameter creates a simple queue for each user. There is an option to attach them to a parent queue, but I don’t know what effects that would have.

/ppp profile
add local-address=10.0.0.1 name=100Mbps only-one=yes rate-limit=100M
add local-address=10.0.0.1 name=200Mbps only-one=yes rate-limit=200M
/interface pppoe-server server
add default-profile=100Mbps interface=bridge_pppoe service-name=pppoe
/ppp secret
add name=user1 profile=100Mbps remote-address=10.0.2.1 service=pppoe
add name=user2 profile=200Mbps remote-address=10.0.2.2 service=pppoe
add name=user3 profile=200Mbps remote-address=10.0.2.3 service=pppoe

This setup works just fine, but possibly because we’re consistently below our ISPs limit of 1000Mbps. Each user is limited to either 100Mbps or 200Mbps, but there’s nothing to stop all our users together from hitting 1000Mbps. So question #1 is: When we start to hit the 1000Mbps limit, and our ISP starts to drop or delay packets; is that something that should be avoided? Is there a significant advantage to having our own parent queue and dropping packets ourselves? or is that only necessary if we want to prioritize certain traffic (which we currently don’t)? If we leave out the parent queue and let the ISP limit the traffic, is there a chance they could end up limiting one of our users more than the others? or would their process be sufficiently random that it would affect all our users roughly evenly?

Question #2: If we do add a parent queue with a total limit of 1000Mbps, how does that get divided up between the child queues? Do they all get an equal amount of the bandwidth? Or do they all get an equal percentage of their packets dropped? Will all the 200Mbps profiles get limited before the 100Mbps profiles? Or does it take the limits of the child queues into consideration?

Question #3: I read somewhere that each queue only uses one CPU. If we wrap everything in a parent queue, does that mean all traffic has to go through one CPU? Or would it still be spread out because of the child queues?

Question #4: If we do add the parent queue, what kind of queue should we use in this case?