Parallelism is a runtime feature
We code concurrently in the hope that it will be run in parallel. Parallelization can only be provided by the runtime.
Your biggest gains in parallelism will come from removing structural barriers. In the coffee example. The fist method was to lock an entire kitchen so that one coffee could be made at a time. Moving to indiviual machine locking (grinder, espresso, steamer) was the greatest way to add efficiency.
Thoughts
- How is Parallelization commoditized? Through FaaS?
Resources
Go’s concurrency model makes it easy to develop scalable servers and data pipelines. Many of the patterns we use in developing concurrent code mirror structures in real-world systems. In this talk, Sameer presents a simulation of a small real world system and shows how variations in the design impact the system’s performance. https://www.dotconferences.com/2017/11/sameer-ajmani-simulating-a-real-world-system-in-go
- https://www.youtube.com/watch?v=YHRO5WQGh0k - Gophercon Scheduling Saga
Related Notes
- Green Software
- Paradigms vs Ecosystems
- Parallelization is a Runtime Feature
- Primary Keys
- Session Management
- Shipping the Org Chart
- Software Estimation
- The Queen's Duck