YoVDO

Optimization for Number of Goroutines Using Feedback Control

Offered By: Gopher Academy via YouTube

Tags

GopherCon Courses PID Controllers Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore an architecture for optimizing the number of goroutines using feedback control in this GopherCon 2019 talk. Dive into the importance of dynamic concurrency design for achieving both speed and stability in Go applications. Learn about performance tuning, Go's runtime scheduler, and the complexities of concurrency. Discover how to implement feedback control mechanisms, including PID controllers and dynamic target controllers, to determine the optimal number of goroutines. Examine the concept of elastic semaphores and the architecture of kaburaya. Analyze experimental results from various tasks to understand the effectiveness of this approach in different scenarios. Gain insights into improving Go application performance without relying on specific platform or load conditions.

Syllabus

Intro
Performance tuning in case of pt
Concurrency and complexity
Concurrency and Go
Runtime scheduler of Go
Concurrency and application
Basic idea
Issues to solve for the realization
Performance metrics
Determine the number of goroutines
Feedback control
PID Controller (2/2)
Dynamic Target Controller
To bound concurrency in Go
Elastic semaphore
Architecture of kaburaya
Evaluation
Task: pt mac-scan (Good)
Task: pt mac-no-scan (Bad)
Task: mem_4096000_10000 (Good)
Task: mem_409600_100000 (Not so good)
Experimental results
Conclusion
Reference


Taught by

Gopher Academy

Related Courses

A Holistic Go Experience
Gopher Academy via YouTube
Safe, Fast, and Easy - Building a Plugin System with WebAssembly
Gopher Academy via YouTube
A Journey Through Integration Testing with Go - What Could Go Wrong?
Gopher Academy via YouTube
Kraken Wrangling for Dummies - Go Module Dependency Management at Scale
Gopher Academy via YouTube
Go, the Data Engineer's Missing Tool?
Gopher Academy via YouTube