Heap Optimization for Go Systems

Tuesday, December 08, 2020 - 4:30 pm4:50 pm

Nishant Roy, Pinterest

Abstract: 

Despite its growing popularity as a systems language, Go programs are susceptible to severe performance regressions at large scale. In systems with high memory usage, garbage collection (GC) can cause performance regressions by cannibalizing resources from the main program. Heavy GC cycles can add hundreds of milliseconds of latency to a request, resulting in degraded user experience.

This talk will provide an overview of how Go GC works and how it may cause performance regressions in your system. It will also provide some ways to profile your system's memory usage and identify which part of the code is the culprit. Finally, we will discuss some methods through which you can optimize your system for better performance.

Nishant Roy, Pinterest

Nishant Roy is a software engineer at Pinterest, responsible for designing the ads-serving architecture to enable product launches, improving performance and reliability, while simplifying systems to minimize cost and maximize developer velocity.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@inproceedings {262257,
author = {Nishant Roy},
title = {Heap Optimization for Go Systems},
booktitle = {SREcon20 Americas (SREcon20 Americas)},
year = {2020},
url = {https://www.usenix.org/conference/srecon20americas/presentation/roy},
publisher = {{USENIX} Association},
month = dec,
}

Presentation Video