SESSION + Live Q&A
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.
Speaker
Monica Beckwith
Java Champion, First Lego League Coach, passionate about JVM Performance @Microsoft
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...
Read moreFind Monica Beckwith at:
Speaker
From the same track
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...
Richard Warburton
Top Performance-Minded Java Engineer & cofounder of Opsian.com
Sadiq Jaffer
Director at Opsian
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...
Martin Thompson
High Performance & Low Latency Specialist
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...
Nitsan Wakart
Performance Engineer - Consultant @DataStax & Chief Performance Consultant at TTNR Labs
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.
Howard Chu
Systems Level Developer & CTO @SymasCorp
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?
Richard Warburton
Top Performance-Minded Java Engineer & cofounder of Opsian.com
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