arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2103.01538cs.DC
收藏

可恢复互斥的内存回收

Memory Reclamation for Recoverable Mutual Exclusion

Sahil Dhoked, Neeraj Mittal

摘要:

互斥是并发系统中处理冲突的一种常用技术。随着非易失性存储器技术的最新发展,可恢复互斥(RME)问题越来越受到关注,RME是进程可以失败并恢复的ME的特殊情况。然而,为了确保RME的问题也是实际的利益,而不仅仅是一个理论,内存回收构成了一个主要的障碍,在几个RME算法。RME算法通常需要动态分配内存,这会随着时间的推移增加算法的内存占用。由于并发性和故障,这些算法通常没有配备合适的垃圾回收。在这项工作中,我们提出了第一个“一般”可恢复的内存回收算法的背景下,可恢复的互斥。我们的算法可以很容易地插入到任何RME算法,并保持所有的正确性属性和最理想的性能的算法。我们的算法的空间开销是$\mathcal{O}(n^2 * sizeof(node)\ )$,其中$n$是系统中的进程总数。在远程内存引用(RMR)方面,我们的算法是RMR最优的,即它有一个恒定的RMR开销每通道。我们的RMR和空间复杂度适用于$CC$和$DSM$内存模型。

英文摘要:

Mutual exclusion (ME) is a commonly used technique to handle conflicts in concurrent systems. With recent advancements in non-volatile memory technology, there is an increased focus on the problem of recoverable mutual exclusion (RME), a special case of ME where processes can fail and recover. However, in order to ensure that the problem of RME is also of practical interest, and not just a theoretical one, memory reclamation poses as a major obstacle in several RME algorithms. Often RME algorithms need to allocate memory dynamically, which increases the memory footprint of the algorithm over time. These algorithms are typically not equipped with suitable garbage collection due to concurrency and failures. In this work, we present the first "general" recoverable algorithm for memory reclamation in the context of recoverable mutual exclusion. Our algorithm can be plugged into any RME algorithm very easily and preserves all correctness property and most desirable properties of the algorithm. The space overhead of our algorithm is $\mathcal{O}(n^2 * sizeof(node)\ )$, where $n$ is the total number of processes in the system. In terms of remote memory references (RMRs), our algorithm is RMR-optimal, i.e, it has a constant RMR overhead per passage. Our RMR and space complexities are applicable to both $CC$ and $DSM$ memory models.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑