Gil Tene, TweetVice President of Technology and CTO, Co-Founder for Azul Systems
Biography: Gil Tene
Gil Tene is CTO and co-founder of Azul Systems. He has been involved with virtual machine technologies for the past 20 years and has been building Java technology-based products since 1995. Gil pioneered Azul's Continuously Concurrent Compacting Collector (C4), Java Virtualization, Elastic Memory, and various managed runtime and systems stack technologies that combine to deliver the industry's most scalable and robust Java platforms.
In 2006 he was named one of the Top 50 Agenda Setters in the technology industry by Silicon.com. Prior to co-founding Azul, Gil held key technology positions at Nortel Networks, Shasta Networks and at Check Point Software Technologies, where he delivered several industry-leading traffic management solutions including the industry's first Firewall-1 based security appliance. He architected operating systems for Stratus Computer, clustering solutions at Qualix/Legato, and served as an officer in the Israeli Navy Computer R and D unit. Gil holds a BSEE from The Technion Israel Institute of Technology, and has been awarded 27 patents in computer-related technologies.
Garbage Collection is an integral part of application behavior on Java platforms, yet it is often misunderstood. As such, it is important for Java developers to understand the actions you can take in selecting and tuning collector mechanisms, as well as in your application architecture choices.
In this presentation, Gil Tene (CTO, Azul Systems) reviews and classifies the various garbage collectors and collection techniques available in JVMs today. Following a quick overview of common garbage collection techniques including generational, parallel, stop-the-world, incremental, concurrent and mostly-concurrent algorithms, he defines terms and metrics common to all collectors. He classifies each major JVM collector's mechanisms and characteristics and discuss the tradeoffs involved in balancing requirements for responsiveness, throughput, space, and available memory across varying scale levels. Gil concludes with some pitfalls, common misconceptions, and "myths" around garbage collection behavior, as well as examples of how some good choices can result in impressive application behaviour
Does your application run fine most of the time, but occasionally "gets the hiccups"? Do you measure and recognize such hiccups and stalls if and when they occur?
It is important for Java developers to understand application responsiveness from an end-user point of view. The basic assumption we seem to have is that the platform we run on is a smooth, continually operating machine, or at least a good approximation. But what happens when the platform exhibits waits, stalls, pauses, execution interruptions, or whatever other name they might go by, that come in chunks big enough to dominate the application response time? Unfortunately, what happens most of the time is that we ignore the issue and chalk it off as an “outlier”. A look at the impact of such outliers on observable end-user service levels can be sobering.
In this presentation, Gil Tene (CTO, Azul Systems) will introduce simple, non-obstrusive methods for measuring and characterizing platform "hiccups" during application execution. Using the new jHiccup open source tool, Gil will demonstrate and chart commonly observed behaviors of idle, mostly idle, and busy systems, as well as common workload types that experience outliers due to garbage collection pauses and other runtime-induced delays. After demonstrating how simple, non-obtrusive measurement can establish a clear "best case" baseline for any expected application responsiveness, Gil will discuss the important things to look for in such measurements, as well as the common pitfalls experienced early in characterization attempts. Finally, using "Hiccup charts", Gil will show samples of how different runtimes, configurations and garbage collection techniques behave using platform responsiveness measures.