A thread-safe Term Library

11/04/2021
by   J. F. Groote, et al.
0

Terms are one of the fundamental data structures for computing. E.g. every expression characterisable by a context free grammar is a term. Remarkably, terms are not yet standard in common programming languages although term libraries have already been proposed in the 1990-ies. 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 library. Benchmarks show this Term Library to scale well, and to compare favourably with sequential versions. Using the new library in an existing state space generation tool, very substantial speed ups can be obtained.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset