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 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 by identifying 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.

Prior to joining Microsoft, Monica was the JVM Performance Architect at Arm. Her past also includes leading Oracle’s Garbage First Garbage Collector performance team.

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, Datacenter Performance Architect @Intel
Monica Beckwith, Java Champion, First Lego League Coach, passionate about JVM Performance @Microsoft

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

2020 Tracks

  • Remotely Productive: Remote Teams & Software

    More and more companies are moving to remote work. How do you build, work on, and lead teams remotely?

  • Operating Microservices

    Building and operating distributed systems is hard, and microservices are no different. Learn strategies for not just building a service but operating them at scale.

  • Distributed Systems for Developers

    Computer science in practice. An applied track that fuses together the human side of computer science with the technical choices that are made along the way

  • The Future of the API: REST, gRPC, GraphQL and More

    Web-based API continue to evolve. The track provides the what, how, and why of future APIs, including GraphQL, Backend for Frontend, gRPC, & ReST

  • Resurgence of Functional Programming

    What was once a paradigm shift in how we thought of programming languages is now main stream in nearly all modern languages. Hear how software shops are infusing concepts like pure functions and immutablity into their architectures and design choices.

  • Social Responsibility: Implications of Building Modern Software

    Software has an ever increasing impact on individuals and society. Understanding these implications helps build software that works for all users

  • Non-Technical Skills for Technical Folks

    To be an effective engineer, requires more than great coding skills. Learn the subtle arts of the tech lead, including empathy, communication, and organization.

  • Clientside: From WASM to Browser Applications

    Dive into some of the technologies that can be leveraged to ultimately deliver a more impactful interaction between the user and client.

  • Languages of Infra

    More than just Infrastructure as a Service, today we have librarys, languages, and platforms that help us define our infra. Languages of Infra explore languages and libraries being used today to build modern cloud native architectures.

  • Mechanical Sympathy: The Software/Hardware Divide

    Understanding the Hardware Makes You a Better Developer

  • Paths to Production: Deployments You've Always Wondered About

    Deployment pipelines allow us to push to production at ever increasing volume. Paths to production looks at how some of software's most well known shops continuous deliver code.

  • Java, The Platform

    Mobile, Micro, Modular: The platform continues to evolve and change. Discover how the platform continues to drive us forward.

  • Security for Engineers

    How to build secure, yet usable, systems from the engineer's perspective.

  • Modern Data Engineering

    The innovations necessary to build towards a fully automated decentralized data warehouse.

  • Machine Learning for the Software Engineer

    AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice by Software Engineers.

  • Inclusion & Diversity in Tech

    The road map to a inclusive and diverse tech organization. *Diversity & Inclusion defined as the inclusion of all individuals in an within tech, regardless of gender, religion, ethnicity, race, age, sexual orientation, and physical or mental fitness.

  • Architectures You've Always Wondered About

    How do they do it? In QCon's marquee Architectures track, we learn what it takes to operate at large scale from well-known names in our industry. You will take away hard-earned architectural lessons on scalability, reliability, throughput, and performance.

  • Architecting for Confidence: Building Resilant Systems

    Your system will fail. Build systems with the confidence to know when they do, you won't.