Tutorial: Understanding Latency & Application Responsiveness Date: Tuesday, 3 March Time: 9 AM – 4 PM Location: Shelley Room Description: Managing, monitoring, and improving application responsiveness is a common need for many software professionals. Whether you develop applications or manage them, understanding application responsiveness and the major mechanisms that affect it is key to achieving successful applications and happy users. In this workshop, Gil Tene (CTO, Azul Systems) will provide a an in-depth overview of Latency and Response Time Characterization, including proven methodologies for measuring, reporting, and investigating latencies, and and overview of some common pitfalls encountered (far too often) in the field.
WHAT WILL I LEARN Our discussion will include an exploration of of the common needs and motivations for understanding the behaviour of application response time and latency, and ways to successfully capture these descriptions and relate them to business needs. However, even good characterization of bad data is useless. If measurements of response time present false or misleading latency information, even the best analysis can lead to wrong operational decisions and poor application experience. We will demonstrate and discusses some common pitfalls, false assumptions and problematic measurement techniques that lead to dramatically incorrect reporting results, and will explain how these false measurements naturally occur using the most common measurement methods and tools in use today. We will discuss the coordinated data omission problem, and ways to work around it, and will introduce and demonstrate how simple and recently open sourced tools can be used to improve and gain higher confidence in both latency measurement and reporting.
The workshop will include interactive walk throughs of commonly used load generation and latency measurement code to demonstrate some of specific issues discussed, and examine various ways to correct or avoid the issues in actual use.
While the material generally applies to all application environments, specific considerations in garbage collected environments (such as Java) will also be covered.
WHO SHOULD ATTEND DevOps, software developers, architects, engineers and anyone with an interest understanding latency , response time, and how to both require and get better performance and behaviour from your applications
Technical Session: Faster objects and Arrays Date: Wednesday, 4 March Time: 15:40 Location: Churchill Auditorium Description: Java is fast. Really fast. But the memory layout of object arrays is an area where Java still inherently lags (in speed) behind the C family of languages. This session introduces org.ObjectLayout a new Java package designed specifically to enable JVMs to optimize memory layout for arrays and objects in a way that closely matches the performance behaviors of arrays of structs and struct-in-struct in C. ObjectLayout is designed to work on any JDK (version 6.0 and above), but when “intrinsified” in newer JDKs, it brings dead-reckoning and streaming speed that match the access speed available in C-style languages for similar data structures. The presentation covers the APIs and design considerations behind them and demonstrates the performance benefits of intrinsic implementations.
Session: Low latency Java in the real world – LMAX Exchange and the Zing JVM Date: Thursday, 5 March Time: 13:20 Location: Rutherford Room Description: LMAX Exchange and Azul are both known for low latency and high performance Java technologies. LMAX Exchange has been using Azul’s Zing JVM to power thew world’s best FX execution venue for a while now. In this session, Mark Price (Senior Developer, LMAX Exchange) and Gil Tene (CTO, Azul Systems) will describe some of the core parts of their respective technology stacks, and discuss experiences and lessons learned from a long term real, world deployments of the their combination.
Session: Priming Java for Speed at Market Open Date: Friday, 6 March Time: 14:30 Location: Whittle Room Description: Dynamically optimized environments present unique challenges for trading systems. Dynamic optimizations give us faster code, but can also bring temporary slowdowns, often at the worst possible times. After GC complaints, the most common issues we hear about in Java-based trading systems have to do with “warmup” behavior and de-optimization slowdowns. These seem to predictably hit just as the market opens, resulting in slow trades when speed matters most. In this talk, Gil Tene (CTO, Azul Systems) will provide an overview of JIT compiler optimization techniques and their impact on common market-open slowdown scenarios. Gil will cover the technical issues behind such slowdowns, and discuss new techniques that may be used to avoid them, including the use of features specifically built to tame the JVM and improve behavior at market open.