背景ApacheIoTDB查询引擎目前采用MPP架构,一条查询SQL大致会经历下图几个阶段:imageFragmentInstance是分布式计划被拆分后实际分发到各个节点进行执行的实例。由于每个节点会同时接收来自于多个并发Query的多个FragmentInstance,这些FragmentInstance在执行时可能由于等待上游数据而处于阻塞状态、或者数据就绪可以执行、或者超时需要被取消。因此,需要一个较为合理的调度策略,保证在分配给FragmentInstance的有限资源内,能够满足高并发的查询需求,同时尽可能避免出现饿死或者死锁情况。在具体实现中,查询引擎里真正执行查询计算的算子树O