本文基于OSDI-18收录的《Arachne: Core-Aware Thread Management》翻译整理而成。
osdi参考链接:https://www.usenix.org/conference/osdi18/presentation/qin
1、 简介
Arachne是斯坦福大学开发的一个用户态线程调度方案(协程),适用的场景是短生命周期的应用,如memcached和RAMCloud这类,他们的server线程生命周期通常只有几us。使用传统linux线程会带来较大的开销和延时。
Arachne的核心思想是让应用程序根据负载确定自己需要的core数量,程序知道哪些核是分配给自己的,同时控制适量的线程在这些core上运行;而core arbiter用来给应用程序分配这些core。
Arachne线程库经过优化,可最大限度的减少cache-misses,同时它可以在220ns内启动新的用户线程。
由于Arachne是在用户态实现的,完全不需要修改内核。
2、 用户态线程库的场景
Arac