Главная
Study mode:
on
1
Intro
2
Performance tuning in case of pt
3
Concurrency and complexity
4
Concurrency and Go
5
Runtime scheduler of Go
6
Concurrency and application
7
Basic idea
8
Issues to solve for the realization
9
Performance metrics
10
Determine the number of goroutines
11
Feedback control
12
PID Controller (2/2)
13
Dynamic Target Controller
14
To bound concurrency in Go
15
Elastic semaphore
16
Architecture of kaburaya
17
Evaluation
18
Task: pt mac-scan (Good)
19
Task: pt mac-no-scan (Bad)
20
Task: mem_4096000_10000 (Good)
21
Task: mem_409600_100000 (Not so good)
22
Experimental results
23
Conclusion
24
Reference
Description:
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.

Optimization for Number of Goroutines Using Feedback Control

Gopher Academy
Add to list