SSIS 2017 Scale Out functionality and use cases SSIS 2017 has a scale out feature that distributes executions across multiple SSIS worker instances. I think get the big picture, but just wondering how it divides up the work across the worker instances. 

For example if I have a for-each container looping on 1000 files to import, does each worker instance import a single file then report back to the master to get another file to process? 

What's a good use case for scale-out?
I found theses nice posts that explain when and how work SSIS Scale Out feature. Here are some passages  :

"If your ETL processing looks like one of these scenarios, this could be for you.


You have a workloads that peak at certain times
at a specific time of day (overnight load, during business hours)
at specific times of month or year (month end, black Friday)
You have a variety of unrelated ETL jobs owned by different people or business areas running on the same server and competing for resources at the same time
You have an increasing data volume due to business growth, and you want your ETL solution to grow with you
You have a variety of unrelated ETL jobs owned by different people or business areas installed on different servers making it hard to know what's installed where
"


Steph Martin @ coeo
https://blog.coeo.com/getting-started-with-ssis-scale-out

"If you have lots of disparate processes and packages that are unrelated and independent of each other, then enabling scale out will work for you without having to change anything on your existing jobs.

If you are using master packages to handle execution of a set of packages you will probably have two main drivers; simplicity of management, and parallel execution. You can move directly to using scale out and retain both of these things, but you won't necessarily gain anything. If your workload is a single end to end load, all handled by a single master package (for example a data warehouse ETL load that pulls data from multiple source tables, stages the data, transforms the data and then loads to the destination), then all you are going to achieve is moving the same workload to a different server.

In order to benefit from scale out you would need to execute each package separately. If you do that in a single agent job with multiple steps you will lose your parallelism. You could have multiple jobs all executed at the same time, but that just feels wrong, and will get hard to maintain and monitor, especially if you have lots of agent jobs already."

Steph Martin @ coeo
https://blog.coeo.com/executing-packages-with-ssis-scale-out

Hope this will answer your questions