Creating large number of child workflows

If you want to start all pipelines simultaneously then 2. should be ok. Make sure you do performance tests to see if you run into any resource exhausted issues (depending how many workflow exect you start simultaneously):

sum(rate(service_errors_resource_exhausted{}[1m])) by (resource_exhausted_cause)

and alert on RpsLimit, ConcurrentLimit, and SystemOverloaded causes.

Would also monitor your SDK schedule to start metrics (sdk metrics docs here) and possibly look into adjusting server dynamic config value matching.numTaskqueueWritePartitions (more info here)