000218413 001__ 218413
000218413 005__ 20190317000442.0
000218413 037__ $$aREP_WORK
000218413 245__ $$aFast and Robust Memory Reclamation for Concurrent Data Structures
000218413 269__ $$a2016
000218413 260__ $$c2016
000218413 300__ $$a13
000218413 336__ $$aReports
000218413 520__ $$aIn concurrent systems without automatic garbage collection, it is challenging to determine when it is safe to reclaim memory, especially for lock-free data structures. Existing concurrent memory reclamation schemes are either fast but do not tolerate process delays, robust to delays but with high overhead, or both robust and fast but narrowly applicable. This paper proposes QSense, a novel concurrent memory reclamation technique. QSense is a hybrid technique with a fast path and a fallback path. In the common case (without process delays), a high-performing memory reclamation scheme is used (fast path). If process delays block memory reclamation through the fast path, a robust fallback path is used to guarantee progress. The fallback path uses hazard pointers, but avoids their notorious need for frequent and expensive memory fences. QSense is widely applicable, as we illustrate through several lock-free data structure algorithms. Our experimental evaluation shows that QSense has an overhead comparable to the fastest memory reclamation techniques, while still tolerating prolonged process delays.
000218413 6531_ $$aMemory reclamation
000218413 6531_ $$aConcurrent algorithms
000218413 6531_ $$aPerformance
000218413 6531_ $$aRobustness
000218413 700__ $$0249412$$g192757$$aBalmau, Oana Maria
000218413 700__ $$0240335$$g105326$$aGuerraoui, Rachid
000218413 700__ $$aHerlihy, Maurice
000218413 700__ $$aZablotchi, Mihail Igor$$g192870$$0249111
000218413 8564_ $$uhttps://infoscience.epfl.ch/record/218413/files/qsense-techrep.pdf$$zn/a$$s302850$$yn/a
000218413 909C0 $$xU10407$$0252114$$pDCL
000218413 909CO $$ooai:infoscience.tind.io:218413$$qGLOBAL_SET$$pIC$$preport
000218413 917Z8 $$x192870
000218413 917Z8 $$x192870
000218413 917Z8 $$x192870
000218413 937__ $$aEPFL-REPORT-218413
000218413 973__ $$aEPFL
000218413 980__ $$aREPORT