无需 CAS 的“硬实时”系统实用多写者无锁队列
操作系统
2007-10-01 v1 分布式、并行与集群计算
摘要
对于中断处理程序在向消息队列写入时需要无等待保证的“硬实时”系统而言,具有单一读者和写者的 FIFO 队列可能不足以满足需求。我们提出了一种算法,优雅且务实地解决了在嵌入式系统中常见的小型处理器上的这一问题。该算法不需要特殊的 CPU 指令(如原子 CAS),因此比许多受摆动指针相关的 ABA 问题困扰的现有方法更为 robust。该算法在病态中断条件下提供“先进,几乎先出”的保证,表现为队列末端近乎同时到达的数据包之间出现任意的“推挤”现象。
引用
@article{arxiv.0709.4558,
title = {Practical Multiwriter Lock-Free Queues for "Hard Real-Time" Systems without CAS},
author = {Jeremy Lee},
journal= {arXiv preprint arXiv:0709.4558},
year = {2007}
}
评论
9 Pages, Preprint