在SPDK中,动态每个CPU core将对应一个reactor,负载创建的均衡线程将在reactor上执行
。 Figure 1 core – reactor - thread 对应关系 默认情况下,动态reactor以一种不断轮询的负载模式运行,以实现最有效的均衡处理。但是动态当reactor空闲时
,仍会不断轮询,负载这就造成了资源浪费,均衡同时,动态可能有别的负载reactor正在运行超过自身负载的大量工作
,服务器租用如果将忙碌状态的均衡reactor上的一部分线程移动到空闲的reactor上
,将大大提高效率。动态或者此时空闲状态的负载reactor如果使用interrupt模式,则也可大大降低资源的均衡损耗。由此spdk中的scheduler模块应运而生
。 通常在空闲状态下,scheduler可以将reactor切换至中断模式(interrupt mode)。在 Linux 上 ,这是使用 epoll 实现的免费模板背景
