当前位置: X-MOL 学术Mobile Netw. Appl. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Modeling and Verifying PSO Memory Model Using CSP
Mobile Networks and Applications ( IF 2.3 ) Pub Date : 2022-05-23 , DOI: 10.1007/s11036-022-01989-5
Lili Xiao , Huibiao Zhu , Qiwen Xu , Phan Cong Vinh

Modern processors deploy a variety of weak memory models for efficiency reasons. Total Store Order (TSO) is a widely used weak memory model which omits store-load constraint by allowing each core to employ a write buffer. Partial Store Order (PSO) is similar to TSO, but in consideration of higher performance, it does not guarantee that writes to different locations propagate to the shared memory following the program order. For understanding the reordering appearing in PSO precisely, we analyze this memory model by utilizing formal methods. In this paper, we apply Communicating Sequential Processes (CSP) to model PSO. By feeding the constructed model into the model checker Process Analysis Toolkit (PAT), we verify four properties. The requirements of TSO are more stringent than PSO, and then PSO must preserve write-read reordering and read-after-write elimination defined by TSO. The programs containing store-store fences between every two writes have the same outcomes under TSO and PSO, which is called outcomes consistency. Last but not the least, PSO should satisfy write-write reordering which indicates that two writes by the same thread may be reordered if they target different locations.



中文翻译:

使用 CSP 建模和验证 PSO 内存模型

出于效率原因,现代处理器部署了各种弱内存模型。总存储顺序 (TSO) 是一种广泛使用的弱内存模型,它通过允许每个内核使用写入缓冲区来省略存储加载约束。Partial Store Order (PSO) 与 TSO 类似,但考虑到更高的性能,它不保证对不同位置的写入按照程序顺序传播到共享内存。为了准确理解 PSO 中出现的重排序,我们利用形式化方法分析了这个内存模型。在本文中,我们将通信顺序过程 (CSP) 应用于 PSO 建模。通过将构建的模型输入模型检查器 Process Analysis Toolkit (PAT),我们验证了四个属性。TSO 的要求比 PSO 更严格,然后 PSO 必须保留由 TSO 定义的 write-read reordering 和 read-after-write 消除。每两次写入之间包含存储-存储栅栏的程序在 TSO 和 PSO 下具有相同的结果,这称为结果一致性。最后但并非最不重要的一点是,PSO 应该满足 write-write reordering,这表明如果同一线程的两次写入针对不同的位置,它们可能会被重新排序。

更新日期:2022-05-24
down
wechat
bug