Talks

Introducing Amazon CodeGuru Profiler
AWS has just made its Profiler service generally available! Get to know Amazon CodeGuru Profiler and learn how we aim to demystify profiling and make it accessible to every developer. This presentation will contain a short intro about software profiling before we start an overview of Amazon CodeGuru Profiler and end with a deep dive on this new offering from AWS.
Benchmarking in the Cloud - 50K transactions per second
Running massive product benchmarks in the Cloud can be challenging - It pushes the limits of application & platform performance, driving out unforeseen issues and the need for new solutions. This talk seeks to share insights from running one of the largest benchmarks in the banking product space, for a solution architected on a mix of technologies - AWS ECS, Microservices, Kinesis, Lambda, NuoDB, DynamoDB.
Microservices: Single digit microseconds latency
Optimizing code and infrastructure for ultra-low-latency microservices
Optimising Computer Systems in Complex and Dynamic Parameter Space
Performance tuning of computer systems is challenging for a variety of reasons. Modern computer systems expose many configuration parameters in a complex, massive parameter space. The systems are nonlinear and there is no method for quantifying or modelling such systems by performance tuning to the level of precision required. Furthermore, scheduling of tasks or resource allocation may require the control of dynamically evolving tasks. Auto-tuning has emerged using a black-box optimiser such as Bayesian Optimisation (BO). However, BO has limited scalability. Reinforcement Learning (RL) could be applied for combinatorial optimisation problems, but there is a gap between current research and practical RL deployments. I will introduce our framework to tackle these issues and demonstrate the potential of machine learning based methodologies for computer system optimisation.
Optimizing Application binary size on mobile
Every byte matters when it comes to transferring data over networks on mobile devices. For mobile applications the first thing users need to do is to download and install the application and the smaller the app, the higher the chance it is going to be used. In this talk we will analyze why smaller are more performant, what techniques can shrink the binary and bend the growth curve of the added code by developers.
Optimising application performance by automating the data structure selection and tuning process
Data structure selection and tuning is laborious but can vastly improve an application’s performance and memory footprint. Some data structures share a common interface and enjoy multiple implementations. We introduce Artemis, a multi-objective, cloud-based search-based optimisation framework that automatically finds optimal, tuned data structures and adapts the application to use them. Artemis can achieve substantial performance improvements for various applications and programming languages as we showed in our paper "Darwinian Data Structure Selection". In this talk, I will describe how we can tune the performance of applications (execution time, memory consumption, cpu usage) by automatically selecting and tuning their data structures. We will show how we can extract features from code bases and how to tackle them as an optimisation problem using Search based software engineering techniques. We will present a demo of our product (Artemis), and show how we have integrated it in the development pipeline. Last, we will discuss the lack of publicly available performance benchmarks and what can developers do to mitigate this problem.
From manual performance testing to automated performance optimization
Online services have become vital for any business and users are lowering their frustration bar getting used to faster applications. Technology, on the other hand, is getting more complex, with new layers like Docker or frameworks like Spark being added to the stack. In this talk, we will present the challenges posed by these new environments and introduce Akamas, our solution that makes use of ML to continuously optimize IT stack configurations to deliver unprecedented application performance, and cost savings. We will share a case study where we leveraged Akamas integration with open source load testing and monitoring tools to automatically optimize the performance of a customer core Java service in terms of throughput, response time and resource utilization.
Production Profiling: What, Why and How
Everyone wants to understand what their application is really doing in production, but this information is normally invisible to 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. 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.
Levelling up reliability, with perf tools
In this talk, we'll look at the similarities and differences of measuring performance and reliability. You'll learn about how we have repurposed our perf tools for reliability to ramp up an app-wide reliability program in months instead of years.
Panel discussion with Arun George John, Dmitry Pisklov, Eiko Yoneki, Michail Basios, Richard Warburton, Stefano Doni and Taras Tsugrii
free-form discussion on sotware performance