If you want to learn about state of the art performance approaches and solutions then this is the track for you. You can learn about how to achieve low latency, how to make the best use of your underlying hardware and how to scale out to solve problems on a global scale.
Track: Bare Knuckle Performance
Location: Windsor, 5th flr.
Day of week: Tuesday

Track Host: Richard Warburton
Richard is a Software Engineer, Teacher and Java Champion. He is the cofounder of Opsian.com and has a long-standing passion for improving Java performance. He’s worked as a developer in different areas including Developer Tools, HFT and Network Protocols. He has written the book “Java 8 Lambdas” for O’Reilly and helps developers learn via http://iteratrlearning.com and http://www.pluralsight.com/author/richard-warburton. Richard is an experienced conference speaker having spoken at dozens of events and sat on conference committees for some of the biggest conferences in Europe and the USA. He holds a PhD in Computer Science from The University of Warwick.
10:35am - 11:25am
Interaction Protocols: It's All About Good Manners
Distributed and concurrent systems can be considered a social group that collaborate to achieve collective goals. In order to collaborate a system of rules must be applied that affords good hygiene, fault tolerance, and effective communication to coordinate, share knowledge, and provide feedback in a trusted manner. These rules form a number of protocols which enable the group to act as a system which is greater than the sum of the individual components.
In this talk we will explore the history of protocols and their application when building distributed systems. Protocols provide the foundation on which the quality attributes are delivered. Qualities such as performance, resilience, and security.
11:50am - 12:40pm
Panel: Performance - What's Next?
A lot of the techniques and approaches that we use for developing and improving software performance are tried and tested rather than innovative. But what does the future hold - will be doing the same things in 5, 10 or 20 years time or will software evolve?
Sadiq Jaffer, Director at Opsian
Howard Chu, Systems Level Developer & CTO @SymasCorp
Nitsan Wakart, Performance Engineer - Consultant @DataStax & Chief Performance Consultant at TTNR Labs
Martin Thompson, High Performance & Low Latency Specialist
Monica Beckwith, Java Champion, First Lego League Coach, passionate about JVM Performance @Microsoft
1:40pm - 2:30pm
Applying Concurrency Cookbook Recipes to SPEC JBB
Our overarching goal was to understand, quantify and highlight the consequences of certain choices of fences when compiling Java constructs down to hardware platforms such as ARM, IBM Power or Intel x86. We used Doug Lea's cookbook as a compilation guide, and SPEC JBB as our reference benchmark. More precisely, we followed the recipes appearing in the cookbook and applied them to SPEC JBB. This talk reports our findings, both from a soundness and efficiency point of view. We hope that the attendees of this talk will benefit from:
- an introduction to relaxed memory consistency as implemented in Java, which in turn motivates the need for memory barriers in concurrent code;
- a presentation of our performance analysis methodology;
- a detailed report on the performance implications of memory barriers, specifically:
- on the performance measurement front: we use Java Micro-benchmarking Harness (JMH) to understand and showcase these performance implications better;
- on the performance analysis front: we look at profiling snippets to be able to highlight hot code;
- on the performance study front: we examine the implications of the use of memory barriers on core and SMT scaling.
Jade Alglave, Lecturer @ucl
2:55pm - 3:45pm
Novel Algos and Optimizations in JCTools Concurrent Queues
Bitwise tricks, memory layout, minimal memory ordering primitives and some innovation result in queues that leave their JDK alternatives in the dust.
In this talk we will follow several examples of optimizations, tradeoffs and implementation details from the JCTools library. In addition we will explore the driving forces behind some of JCTools novel algorithms and their applicability.
4:10pm - 5:00pm
Continuous Profiling in Production: What, Why and How
Everyone wants to understand what their application is really doing in production, but this information is normally invisible to JVM developers. Profilers tell you what code your application is running but few developers profile and mostly on their development environments. Thankfully production profiling is now a practical reality that can help you solve and avoid performance problems.
Profiling in development can be problematic because it’s rare that you have a realistic workload or performance test for your Java Virtual Machine. Even if you’ve got accurate perf tests maintaining these and validating that they represent production systems is hugely time consuming and hard. Not only that but often the hardware and operating system that you run in production are different from your development environment.
This pragmatic talk will help you understand the ins and outs of profiling in a production system. You’ll learn about different techniques and approaches that help you understand what’s really happening with your system. This helps you to solve new performance problems, regressions and undertake capacity planning exercises
Sadiq Jaffer, Director at Opsian
5:25pm - 6:15pm
Peddle the Pedal to the Metal
Tips and techniques for writing highly efficient and scalable software drawn from decades of experience. You'll see that the guiding principle is a simple one, and can be applied nearly everywhere. The talk is focused on programming in C.
Last Year's Tracks
Monday, 2 March
-
JavaScript: Pushing the Client Beyond the Browser
JavaScript is not just the language of the web. Join this track to learn how the innovators are pushing the boundaries of this classic language and ecosystem
-
Modern CS in the Real World
Head back to academia to solve today's problems in software engineering.
-
Next Generation Microservices: Building Distributed Systems the Right Way
Microservice-based applications are everywhere, but well-built distributed systems are not so common. Early adopters of microservices share their insights on how to design systems the right way.
-
Streaming Data Architectures
Today's systems process huge volumes of continuously changing data. Hear how the innovators in this space are designing systems and leveraging modern data stream processing platforms.
-
Driving Full Cycle Engineering Teams at Every Level
"Full cycle developers" is not just another catch phrase; it's about engineers taking ownership and delivering value, and doing so with the support of their entire organisation. Learn more from the pioneers.
-
When Things Go Wrong: GDPR, Ethics, & Politics
Privacy, confidentiality, safety and security: learning from the frontlines, from both good and bad experiences
Tuesday, 3 March
-
Bare Knuckle Performance
Crushing latency and getting the most out of your hardware.
-
Modern Compilation Targets
Learn about the innovation happening in the compilation target space. WebAssembly is only the tip of the iceberg.
-
Architectures You've Always Wondered About
Hard-earned lessons from the names you know on scalability, reliability, security, and performance.
-
The Future of the API: REST, gRPC, GraphQL and More
The humble web-based API is evolving. This track provides the what, how, and why of future APIs.
-
Building High Performing Teams
There are many discussions outlining the secret sauce of high-performing teams. Learn how to balance the essential ingredients of high performing teams such as trust and delegation, as well as recognising the pitfalls and problems that will ruin any recipe.
-
Machine Learning: The Latest Innovations
AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice.
Wednesday, 4 March
-
Scaling Security, from Device to Cloud
Implementing effective security is vitally important, regardless of where you are deploying software applications
-
Evolving Java
JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track.
-
Growing Unicorns in the EU: Building, Leading and Scaling Financial Tech Start Ups
Learn how EU FinTech innovators have designed, built, and led both their technologies and organisations.
-
Kubernetes and Cloud Architectures
Learn about cloud native architectural approaches from the leading industry experts who have operated Kubernetes and FaaS at scale, and explore the associated modern DevOps practices.
-
Chaos and Resilience: Architecting for Success
Making systems resilient involves people and tech. Learn about strategies being used, from cognitive systems engineering to chaos engineering.
-
Leading Distributed Teams
Remote and distributed working are increasing in popularity, but many organisations underestimate the leadership challenges. Learn from those who are doing this effectively.