Krakow, Poland, 22 - 24 June 2022
Krzysztof Płachno
SwissBorgDeveloper traveling mostly via JVM lands, armed in Java and Scala, fighting with Web App dragons and pursuing Big Data quests. And because every fairly tale dream finally comes to an end, so needed I to leave my cozy programming comfort zone and get my hands dirty with operations stuff. And thus, willy-nilly, I became DevOps, which in fact turned out not to be that bad at all. Always willing to understand things in detail as well as to see them in wide picture view where they fit among others. Strong believer that technology is only a tool and that ultimately our goal is to solve end users problems.
Configuring JVM thread pools for optimal CPU Utilization
ConferenceTo make our programs run faster we make them concurrent. But then we forgot to make the concurrency work well.
What's more, it's a bit of surprise to find out that adding more threads to the pool, not only doesn't help, but slows down the application even more.
And so, we usually decide rather to stick to the defaults in our configuration parameters - which is typically not bad decision, but not optimal either.
Talk meant for JVM developers to revise threading basic knowledge and see its consequences for building concurrent programs. It will first cover the topic at operating system lever and then show how, despite of the fact process has no power to influence OS scheduler, we can still write our code to utilise processor cores in optimal way. Pragmatically selected theory will be followed by real world examples, comparing different thread pooling approaches (global thread pool vs. dedicates ones), illustrated by charts showing execution performance benchmarks. All this to provide a handy practical knowledge in nutshell that can be applied in your project even on next working day.