About This Session
A common assumption is that if a program is concurrent, it will also run in parallel, and that containers simply get a number of CPU cores to work with. In practice, neither of these assumptions holds. In this talk we explore how concurrency and parallelism behave inside containers, and why the same program can show very different performance characteristics when run on the host versus inside a container with CPU limits applied. Using a small Go program as an example, we start with a simple sequential implementation, introduce concurrency to structure the work, and then add parallelism to scale CPU bound processing. We observe how the program behaves under different container CPU configurations, and where expectations break down.
Topics
- Concurrency
- Containers
- Go