Terms are one of the fundamental mathematical concepts in computing. E.g. every expression characterisable by a context free grammar is a term. We developed a thread-safe Term Library. The biggest challenge is to implement hyper-efficient multi-reader/single-writer mutual exclusion for which we designed the new busy-forbidden protocol. Model checking is used to show both the correctness of the protocol and the Term Library. Benchmarks show this Term Library has little overhead compared to sequential versions and outperforms them already on two processors. Using the new library in an existing state space generation tool, very substantial speed ups can be obtained.
翻译:术语是计算中的基本数学概念之一。 例如, 每一个表达式都用上下文自由语法来描述是一个术语。 我们开发了一个线性安全永久图书馆。 最大的挑战是执行高效率的多读者/ 单写者相互排斥, 我们为此设计了新的繁忙禁止协议。 模型检查用于显示协议和定期图书馆的正确性。 基准显示, 与相继版本相比, 定期图书馆的间接管理量很少, 并且两个处理器已经优于它们。 利用现有国家空间生成工具中的新图书馆, 可以取得非常可观的速度提升 。