RFR: 8349763: Expose more ForkJoinPool parameters for virtual thread scheduler to reduce startup jitter and improve stability

Alan Bateman alanb at openjdk.org
Tue Feb 11 06:46:09 UTC 2025


On Tue, 11 Feb 2025 02:36:14 GMT, Jiawei Tang <jwtang at openjdk.org> wrote:

> Since the parameters `-Djdk.virtualThreadScheduler.parallelism=N` , `-Djdk.virtualThreadScheduler.maxPoolSize=M`, `-Djdk.virtualThreadScheduler.minimumRunnable=Y` have already been made available, it would be worth considering opening up additional ForkJoinPool-related parameters: `-Djdk.virtualThreadScheduler.corePoolSize=X`, `-Djdk.virtualThreadScheduler.keepAliveTime=Z` and `-Djdk.virtualThreadScheduler.timeUnit`.
> 
> In particular, configuring corePoolSize can help reduce jitter caused by thread ramp-up during application startup, while keepAliveTime and timeUnit ensures more threads are available within the time expected by users. Opening these parameters would be highly meaningful for optimizing virtual thread scheduling.

Can you bring the issue to loom-dev to discuss? It might be that some additional configuration knobs may be useful to expose but I think important to explain + discuss the issues first.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/23549#issuecomment-2649951733


More information about the core-libs-dev mailing list