Formalising CXL Cache Coherence

Chengsong Tan,Alastair F. Donaldson,John Wickerson
2024-10-21
Abstract:We report our experience formally modelling and verifying <a class="link-external link-http" href="http://CXL.cache" rel="external noopener nofollow">this http URL</a>, the inter-device cache coherence protocol of the Compute Express Link standard. We have used the Isabelle proof assistant to create a formal model for <a class="link-external link-http" href="http://CXL.cache" rel="external noopener nofollow">this http URL</a> based on the prose English specification. This led to us identifying and proposing fixes to several problems we identified as unclear, ambiguous or inaccurate, some of which could lead to incoherence if left unfixed. Nearly all our issues and proposed fixes have been confirmed and tentatively accepted by the CXL consortium for adoption, save for one which is still under discussion. To validate the faithfulness of our model we performed scenario verification of essential restrictions such as "Snoop-pushes-GO", and produced a fully mechanised proof of a coherence property of the model. The considerable size of this proof, comprising tens of thousands of lemmas, prompted us to develop new proof automation tools, which we have made available for other Isabelle users working with similarly cumbersome proofs.
Hardware Architecture,Programming Languages
What problem does this paper attempt to address?