### Description

This is related to #96757.

Right now downsampling uses a thread pool with a single running thread (disallowing concurrent downsampling operations at the transport level) and an unbounded queue of waiting threads, queueing and waiting to be executed. We need to explore options around using multiple running threads here.
x-pack/plugin/rollup/src/main/java/org/elasticsearch/xpack/rollup/Rollup.java
public static final int ROLLUP_VERSION_V1 = 1;
    
    
    public static final int ROLLUP_VERSION_V2 = 2;
    public static final int CURRENT_ROLLUP_VERSION = ROLLUP_VERSION_V2;
    public static final String TASK_THREAD_POOL_NAME = RollupField.NAME + "_indexing";
    public static final String ROLLUP_TEMPLATE_VERSION_FIELD = "rollup-version";
    private final SetOnce<SchedulerEngine> schedulerEngine = new SetOnce<>();
    private final Settings settings;
    public Rollup(Settings settings) {
        this.settings = settings;
    }
    @Override
    public Collection<Object> createComponents(