Evolving the Go Memory Manager's RAM and CPU Efficiency
Offered By: Gopher Academy via YouTube
Course Description
Overview
Explore recent improvements to the Go memory manager in this GopherCon 2020 talk by Michael Knyszek. Dive into the runtime's enhanced responsiveness in releasing unused memory and the increased scalability of the memory allocator. Gain insights into the inner workings of the Go runtime, examine motivating examples, and learn about the challenges encountered during implementation. Discover how these changes may impact the performance of Go applications. While a basic understanding of operating systems concepts is beneficial, the talk introduces necessary concepts for clarity. Cover topics such as dynamic memory allocation, heap memory lifecycle, allocation policies, scenarios involving large allocations and heap spikes, lock collapse, bitmap implementation, page caching, and bitmap summarization. Walk away with a deeper understanding of Go runtime functionality and its potential effects on application performance.
Syllabus
Intro
Overview
Orientation
Dynamic Memory Allocation
The Heap Memory "Lifecycle"
Talking policy
Scenario: Large allocation to fragmented heap
Picking a policy
Scenario: Heap Spikes
Lock collapse
Bitmaps!
Caching pages
Summarizing the bitmap
Takeaways
Taught by
Gopher Academy
Related Courses
Heterogeneous Parallel ProgrammingUniversity of Illinois at Urbana-Champaign via Coursera Advanced Operating Systems
Georgia Institute of Technology via Udacity 計算機程式設計 (Computer Programming)
National Taiwan University via Coursera Introduction to Operating Systems
Georgia Institute of Technology via Udacity Android Performance
Google via Udacity