"A JVM threading model for the containerized times" by Luiz Hespanha and Flavio Brasil

Discover NAVU, a JVM threading model designed to detect and adapt to CPU throttling issues, controlling concurrency and scheduling threads directly for improved system performance and stability.

Key takeaways
  • CPU throttling can occur even with low average CPU usage.
  • Average CPU usage is not a reliable measure of system performance.
  • CPU throttling can be caused by too many threads or thread blocking.
  • NAVU (NewBank’s threading model) is designed to detect and adapt to these issues.
  • NAVU controls concurrency and schedules threads directly.
  • NAVU detects JVM safe points and allocation directly.
  • NAVU uses fine-grained metrics to monitor system performance.
  • CPU throttling can occur due to over-provisioning of resources.
  • Concurrency can be controlled using NAVU.
  • NAVU detects degradation in scheduling and controls concurrency.
  • NAVU has been successfully used in production environments at NewBank.
  • The problem of CPU throttling is common and often misunderstood.
  • NAVU provides a solution to this problem by controlling concurrency and scheduling threads directly.
  • Fine-grained metrics are necessary to understand system performance.
  • NAVU is designed to work with Kubernetes and provides a way to control concurrency and scheduling.
  • The benefits of NAVU include improved system performance and stability.
  • NAVU has been shown to be effective in reducing CPU throttling and improving system performance.