关于<Scalable Go Scheduler Design Doc>中的Scalable
从Go 1.0 到 Go 1.1,作者有篇设计文档Scalable Go Scheduler Design Doc。
我一直觉得奇怪,为什么要说是Scalable呢。
后来在go夜读的一次讨论中,了解到linux2.4->linux2.6的调度器优化过程也类似的原因和过程。
Go 1.0和linux2.4的调度器,都是只有一个加锁对全局队列,多个处理器对齐进行访问时,锁竞争非常激烈,伸缩性(Scalable)很差。
因为主要是为了解决伸缩性差的问题,所以Go作者在进行了新的调度器设计时的文档命名也就是 Scalable
Go Scheduler Design Doc。
![](https://img2020.cnblogs.com/blog/900073/202003/900073-20200305150128538-1416867126.png)