### Description

Today, [force merge is assigned one thread](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html) only.  

> For [force merge](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html) operations. Thread pool type is fixed with a size of 1 and an unbounded queue size.

In a large cluster where there are many processors available, there could be a backlog of force merge queued up.  Perhaps we should look into changing the default of force merge thread_pool to a max of `min(1, (# of allocated processors) / 8)`
server/src/main/java/org/elasticsearch/threadpool/ThreadPool.java
public long relativeTimeInMillis() {
        return TimeValue.nsecToMSec(relativeTimeInNanos());
    }
    /**
     * Returns a value of nanoseconds that may be used for relative time calculations.
     *
     * This method should only be used for calculating time deltas. For an epoch based
     * timestamp, see {@link #absoluteTimeInMillis()}.
     */
    public long relativeTimeInNanos() {
        return cachedTimeThread.relativeTimeInNanos();
    }
    /**
     * Returns a value of milliseconds that may be used for relative time calculations. Similar to {@link #relativeTimeInMillis()} except
     * that this method is more expensive: the return value is computed directly from {@link System#nanoTime} and is not cached. You should
     * use {@link #relativeTimeInMillis()} unless the extra accuracy offered by this method is worth the costs.
     *
     * When computing a time interval by comparing relative times in milliseconds, you should make sure that both endpoints use cached
     * values returned from {@link #relativeTimeInMillis()} or that they both use raw values returned from this method. It doesn't really
     * make sense to compare a raw value to a cached value, even if in practice the result of such a comparison will be approximately
     * sensible.
     */
    public long rawRelativeTimeInMillis() {
        return TimeValue.nsecToMSec(System.nanoTime());
    }
    /**
     * Returns the value of milliseconds since UNIX epoch.
     *
     * This method should only be used for exact date/time formatting. For calculating
     * time deltas that should not suffer from negative deltas, which are possible with