You are viewing content from a past/completed QCon

Track: Bare Knuckle Performance

Location: Pacific LMNO

Day of week: Tuesday

Killing latency and getting the most out of your hardware

Track Host: Monica Beckwith

Java VM Performance Architect @Arm, previously led Oracle's G1GC Performance Team

Java Champion Monica Beckwith is a Java VM Performance Architect at Arm. She is considered subject matter expert and gets regular invitations to give talks on JVM/JIT Compilation/ Garbage Collection (GC). She has made various performance contributions to the Java HotSpot VM by researching 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. Monica is a regular speaker at various conferences and has several published articles on topics including garbage collection, the Java memory model and others. She led Oracle's Garbage First Garbage Collector performance team, and was named a JavaOne Rock Star.

10:35am - 11:25am

Scaling Up Performance Benchmarking

Performance scaling along with responsiveness is very important to both on-premise as well as cloud deployments. Often, deployments can be very simple to an extremely complex web of services where there is no single magic bullet for performance scaling. As part of the development of a very complex benchmark, we learned many lessons related to scaling up, scaling out and responsiveness. We would like to share application architecture decisions, observations points, problem analysis methodologies etc. which can be applied when architecting, deploying and analyzing real production applications. We will share how application level, as well as system level metrics, change for various application architecture decisions as well as high-level JVM analysis to correlate tail latencies.

Anil Kumar, Performance Architect for Scripting Languages Runtimes @intel
Monica Beckwith, Java VM Performance Architect @Arm, previously led Oracle's G1GC Performance Team

11:50am - 12:40pm

Performance Open Space

1:40pm - 2:30pm

“Quantum” Performance Effects: Beyond The Core

CPU microarchitecture is hidden from developers by compilers, virtual machines, etc. Should developers know everything about CPU microarchitecture? It looks like learning quantum mechanics for cooking. Recently we heard how some microarchitecture features could lead to security breaches like Spectre/Meltdown. In this session, we won't talk about vulnerabilities. We will talk how (and how big) CPU microarchitecture details may have an influence on applications performance. Could it be visible by end-users? How to avoid misjudgment when we estimate our code performance? CPU is huge (not in size) that is why the talk is limited to those parts which located out of computational core (mostly caches and memory access).

Sergey Kuksenko, Java Performance Engineer @Oracle

2:55pm - 3:45pm

The Trouble With Memory

It is our experience that 60-70% of all the applications we analyze incur a performance penalty due to how it consumes and/or retains memory. Yet if you ask people what is their biggest performance headache it’s unlikely that they’d recognize memory as being #1. I have been involved in analyzing numerous applications for just these kinds of issues and in this session, I will cover the tell tale signs and symptoms that your application is one of those suffering from some sort of memory issue.  I'll discuss what steps you can take to cure this problem and will also cover how the JVM can both help reduce the memory ~strength of your application.  What should you do?"

Kirk Pepperdine, Java Performance Expert & Java Champion

4:10pm - 5:00pm

Tuning a Runtime for Both Productivity and Performance

Developers generally enjoy increased productivity when working in a managed code environment. What might not be obvious to them is the amount of investment in the managed code’s Virtual Machine to enable both productivity and high performance. Microsoft’s .NET team would like to share how they designed the runtime environment to balance convenience, fast startup, serviceability, low latency, high throughput. For examples services such as JIT compilation, TypeSystem, garbage collection all provide convenience but come at a cost. The challenges presented are common to many environments – you do not need to be a .NET developer to attend this talk.

Mei-Chin Tsai, Principal Dev Manager for .NET Language and Runtime @Microsoft
Jared Parsons, Principal Developer Lead on C# Language Team @Microsoft

5:25pm - 6:15pm

Brewing Java Applications in Sigma Managed Clusters

In handling the largest online shopping event in the world, the emergence of large-scale software deployments in the data center has led to many challenges. We will cover two of them: (1) evaluating and estimating software performance at scale, and (2) optimizing software for resource management. This presentation addresses the two challenges by bringing the knowledge of software performance monitoring in the data center to the world of applying performance analytics. We will describe how effective decisions can be made in a case study.

Kingsum Chow, Chief Scientist, Java Technologies and Software Hardware Co-Optimization @AlibabaGroup

Proposed Tracks

  • Modern Languages: The Right Language for the Job

    We're polyglot developers. Learn languages that excel at very specific tasks and remove undifferentiated heavy lifting at the language level.

  • Delivering on the Promise of Containers

    Runtime containers, libraries and services that power microservices.

  • Evolving Java & the JVM

    6 month cadence, cloud-native deployments, scale, Graal, Kotlin, and beyond. Learn how the role of Java and the JVM is evolving.

  • Trust, Safety & Security

    Privacy, confidentiality, safety and security: learning from the frontlines.

  • Beyond the Web: What’s Next for JavaScript

    JavaScript is the language of the web. Latest practices for JavaScript development in and out of the browser topics: react, serverless, npm, performance, & less traditional interfaces.

  • Modern Operating Systems

    Applied, practical & real-world deep-dive into industry adoption of OS, containers and virtualization, including Linux on.

  • Optimizing You: Human Skills for Individuals

    Better teams start with a better self. Learn practical skills for IC.

  • Modern CS in the Real World

    Thoughts pushing software forward, including consensus, CRDT's, formal methods & probabilistic programming.

  • Human Systems: Hacking the Org

    Power of leadership, Engineering Metrics and strategies for shaping the org for velocity.

  • Building High-Performing Teams

    Building, maintaining, and growing a team balanced for skills and aptitudes. Constraint theory, systems thinking, lean, hiring/firing and performance improvement

  • Software Defined Infrastructure: Kubernetes, Service Meshes & Beyond

    Deploying, scaling and managing your services is undifferentiated heavy lifting. Hear stories, learn techniques and dive deep into what it means to code your infrastructure.

  • Practices of DevOps & Lean Thinking

    Practical approaches using DevOps and a lean approach to delivering software.

  • Operationalizing Microservices: Design, Deliver, Operate

    What's the last mile for deploying your service? Learn techniques from the world's most innovative shops on managing and operating Microservices at scale.

  • Developer Experience: Level up your Engineering Effectiveness

    Improving the end to end developer experience - design, dev, test, deploy and operate/understand.

  • Architectures You've Always Wondered About

    Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, & more

  • Machine Learning without a PhD

    AI/ML is more approachable than ever. Discover how deep learning and ML is being used in practice. Topics include: TensorFlow, TPUs, Keras, PyTorch & more. No PhD required.

  • Production Readiness: Building Resilient Systems

    Making systems resilient involves people and tech. Learn about strategies being used from chaos testing to distributed systems clustering.

  • Building Predictive Data Pipelines

    From personalized news feeds to engaging experiences that forecast demand: learn how innovators are building predictive systems in modern application development.