JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track. Come listen to practitioners telling the journey of JVM and the runtime ecosystem. We will have industry leads talk about expanding JVM/JIT to the cloud and at the same time, we will head from performance experts at being empathetic to the underlying hardware.
Track: JVM and its Ecosystem
Location: Ballroom A
Day of week:
Track Host: Monica Beckwith
Java Champion Monica Beckwith is considered a subject matter expert, has several published articles and gets regular invitations to give talks on JVM/JIT Compilation/Garbage Collection (GC). She is also a JavaOne Rock Star.
Monica has made various performance contributions to the Java HotSpot VM by identifying the need for a NUMA-aware allocator and allocation patterns, reduction of redundant instructions, reduction of the Java object header, prefetching patterns, redundant array checks in a loop and various other optimizations for the JIT compiler, the generated code, the JVM heuristics and garbage collection and collectors.
Prior to joining Microsoft, Monica was the JVM Performance Architect at Arm. Her past also includes leading Oracle’s Garbage First Garbage Collector performance team.
10:35am - 11:25am
Java 8 LTS to the Latest - a Performance & Responsiveness Prospective
If you are wondering as what Java JDK 8u LTS to JDK 11u LTS transition can do to your production deployment for performance and responsiveness, this talk is your perfect opportunity! Java runtimes are at the core of any business enterprise in cloud or on-prem and this track at QConSF plans to cover all aspects like recent changes in support, start-up issues and AOT, monitoring and debugging as well as a panel discussion to cover wide range of issues etc.
This very first talk for this track, will discuss Java JDK 8u LTS to latest JDK 13 major changes as well as impact on performance and responsiveness to backported JDK 11u LTS. We are using wide range of workloads and benchmarks representing different use cases. We will share our findings with regard to performance, variability, impact on response time when using default vs. optimized parameters etc. Most of these findings can be leveraged for many production environments scenarios. In addition, we are looking forward to any collaboration possibilities if use cases in this presentation are not covering your production environment. Looking forward to sharing our findings, learnings and collaborating on your challenges in production.
Anil Kumar, Datacenter Performance Architect @Intel
11:50am - 12:40pm
Panel: Startup and VM Futures
A lot of the techniques and approaches that we use for developing and improving software performance are tried and tested rather than innovative - but where does that leave startups who leverage the VM? What does the future hold?
Anil Kumar, Datacenter Performance Architect @Intel
Gil Tene, CTO @AzulSystems
Mark Stoodley, Eclipse OpenJ9 and OMR Project Lead @IBM
Mikael Vidstedt, Director of Software Engineering, Java Virtual Machine @Oracle
1:40pm - 2:30pm
Continuous Monitoring With JDK Flight Recorder (JFR)
JDK Flight Recorder (JFR) is a powerful monitoring and troubleshooting framework built directly into the Java runtime. Designed to be on in production, JFR has access to all the internal data of the JVM and can capture and surface data on a fine-grained level with extremely low overhead.
This talk will give an overview of JFR, showcase the current feature, as well as some features coming in the future. Spoiler alert: The upcoming JFR Event Streaming functionality which enables several new and exciting continuous monitoring use cases which will be covered!
2:55pm - 3:45pm
Understand the Trade-Offs Using Compilers for Java Applications
The Java ecosystem has perhaps the most rich variety of native code compilation technologies of any language on the planet. We have Just In Time (JIT) compilers aggressively profiling and speculating on the state of a running program. There are Ahead of Time (AOT) compilers that generate code before the program runs. We have JIT compilers that cache their code so it won’t need to be recompiled in every run and, soon, compilation services that can perform JIT compilations outside of the JVM process. Are these compiler technologies all equally good at running Java applications? Which should you choose? In this talk, I’ll examine some of the strengths and weaknesses of all these different approaches if you were to apply them in isolation, and discuss how production JVMs are assembling a combination of these tools that work together to provide excellent performance across the huge spectrum of applications written in Java and JVM based languages.
4:10pm - 5:00pm
Life After 8
New Java releases are coming faster than ever now that we are well into the six-month release cadence. The number of new features and APIs in each version is less than we’re used to, but the overall rate of change is faster than ever.
In this session, we’ll look at the realities of Life after 8. Will discuss the rate of change, the current Java ecosystem, and the implications of LTS. We’ll also discuss issues affecting migration of applications from earlier versions and choices for which version to choose for deployment.
Finally, we’ll discuss MTS (mid-term release). This is a community plan (led by Azul) to offer support in OpenJDK (starting with 13) outside of the official LTS releases.
Java continues to grow and thrive. Come learn how the Java community is responding to the realities of Life After 8.
Last Year's Tracks
Monday, 1 November
-
Microservices / Serverless Patterns & Practices
Evolving, observing, persisting, and building modern microservices
-
Practices of DevOps & Lean Thinking
Practical approaches using DevOps & Lean Thinking
-
JavaScript & Web Tech
Beyond JavaScript in the Browser. Exploring WebAssembly, Electron, & Modern Frameworks
-
Modern CS in the Real World
Thoughts pushing software forward, including consensus, CRDT's, formal methods, & probabilistic programming
-
Modern Operating Systems
Applied, practical, & real-world deep-dive into industry adoption of OS, containers and virtualization, including Linux on Windows, LinuxKit, and Unikernels
-
Optimizing You: Human Skills for Individuals
Better teams start with a better self. Learn practical skills for IC
-
Open Spaces
Tuesday, 2 November
-
Architectures You've Always Wondered About
Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, & more
-
21st Century Languages
Lessons learned from languages like Rust, Go-lang, Swift, Kotlin, and more.
-
Emerging Trends in Data Engineering
Showcasing DataEng tech and highlighting the strengths of each in real-world applications.
-
Bare Knuckle Performance
Killing latency and getting the most out of your hardware
-
Socially Conscious Software
Building socially responsible software that protects users privacy & safety
-
Delivering on the Promise of Containers
Runtime containers, libraries, and services that power microservices
-
Open Spaces
Wednesday, 3 November
-
Applied AI & Machine Learning
Applied machine learning lessons for SWEs, including tech around TensorFlow, TPUs, Keras, PyTorch, & more
-
Production Readiness: Building Resilient Systems
More than just building software, building deployable production ready software
-
Developer Experience: Level up your Engineering Effectiveness
Improving the end to end developer experience - design, dev, test, deploy, operate/understand.
-
Security: Lessons Attacking & Defending
Security from the defender's AND the attacker's point of view
-
Future of Human Computer Interaction
IoT, voice, mobile: Interfaces pushing the boundary of what we consider to be the interface
-
Enterprise Languages
Workhorse languages found in modern enterprises. Expect Java, .NET, & Node in this track