Marathon currently follows approach to spread the tasks as much as possible. Although this is highly desirable to improve fault tolerance, it does not do a good job of minimizing the resources required to do big deployments (read >40 instances of 1 CPU + 4 GB RAM). The scheduler should be more greedy if we want to minimize resource utilization.
In an ideal world, we would like to see a definite number at which a balance between redundancy and efficiency of resource utilization. For instance, just provision 20% more servers than the required theoretical minimum and you will always be able to deploy in every scenario.
Are there any planned improvements in the upcoming releases for this?
If not, is the community open to scheduler improvement proposals with an accompanying PR to the project?