Presentation: Understanding CPU Microarchitecture to Increase Performance

Track: Bare Knuckle Performance

Location: St James, 4th flr.

Duration: 4:10pm - 5:00pm

Day of week: Tuesday

Share this on:

Abstract

Microprocessors have evolved over decades to eke out performance from existing code. But the microarchitecture of the CPU leaks into the assumptions of a flat memory model, with the result that equivalent code can run significantly faster by working with, rather than fighting against, the microarchitecture of the CPU.  

In this talk, Alex Blewitt will present the microarchitecture of modern CPUs, showing how misaligned data can cause cache line false sharing, how branch prediction works and when it fails, how to read CPU specific performance monitoring counters and use that in conjunction with tools like perf and toplev to discover where bottlenecks in CPU heavy code live. We’ll use these facts to revisit performance advice on general code patterns and the things to look out for in executing systems. The talk will be language agnostic, although it will be based on the Linux/x86_64 architecture.

Speaker: Alex Blewitt

Head of Cloud Infrastructure at Santander

Alex Blewitt has been working with Java since its first release, and has worked on JVM projects at Goldman Sachs and Credit Suisse, where he was the JCP representative until 2016. He co-founded the Docklands.LJC and has spoken about Java and performance at several conferences, and writes for InfoQ about Java and JVM topics.  

Before moving to Santander in 2020 he worked at Apple on Swift, and has authored books in Swift and Eclipse plugin development.  

Alex lives and works in Milton Keynes, and if the weather's nice, goes flying from nearby Sywell.

Find Alex Blewitt at

Similar Talks

Compiling Deeper Underground -- the Next Trillion Hardware Targets

Qcon

University Lecturer @Cambridge_CL (Cambridge Computer Laboratory)

Anil Madhavapeddy

Build Your Own WebAssembly Compiler

Qcon

Technology Director @Scott_Logic

Colin Eberhardt

Rethinking the Linux Kernel

Qcon

Founding Member @CiliumProject

Thomas Graf

TornadoVM: Java for GPUs and FPGAs

Qcon

Research Associate @OfficialUoM (The University of Manchester)

Juan Fumero

Tiny Go: Small Is Going Big

Qcon

Technologist For Hire @hybrid_group

Ron Evans

Reconciling Performance and Security in High Load Environments

Qcon

Cryptographer, & Security Software Engineer @Cloudflare

Ignat Korchagin

Tracks

Monday, 2 March

Tuesday, 3 March

Wednesday, 4 March

Download the QCon App!

Available on iOS and Android

The QCon app helps you make the most of your conference experience. Easily browse and follow the conference schedule, star the talks you want to attend, and keep tabs on your personal itinerary. Download the app now for free on iOS and Android.

QCon - iOS QCon - Android
QCon