TY - GEN
T1 - Performance issues in non-blocking synchronization on shared-memory multiprocessors
AU - Alemany, Juan
AU - Felten, Edward W.
PY - 1992
Y1 - 1992
N2 - This paper considers the implementation of non-blocking concurrent objects on shared-memory multiprocessors. Real multiprocessors have properties not present in theoretical models; these properties can be exploited to design non-blocking protocols that are more efficient in practice than those allowed by theoretical models. These new protocols rely on the operating system to take action when a thread of control is delayed during its non-blocking update. We illustrate the effectiveness of this approach by presenting two protocols that address factors hindering the performance of Herlihy's standard non-blocking protocol [Herlihy 90, Herlihy 91a]. These factors are: resources wasted by attempted non-blocking operations that fail, and the cost of data copying. We demonstrate the importance of these factors experimentally, and show how they can be reduced using protocols that rely on operating system support. To reduce the overhead of failing non-blocking operations, our first protocol maintains information about the utilization of the shared object; experiments show that this protocol performs better than the known alternatives. To reduce the cost of data copying, we introduce a second, optimistic protocol that avoids copying, except in the case when a thread of control is delayed during its attempted update.
AB - This paper considers the implementation of non-blocking concurrent objects on shared-memory multiprocessors. Real multiprocessors have properties not present in theoretical models; these properties can be exploited to design non-blocking protocols that are more efficient in practice than those allowed by theoretical models. These new protocols rely on the operating system to take action when a thread of control is delayed during its non-blocking update. We illustrate the effectiveness of this approach by presenting two protocols that address factors hindering the performance of Herlihy's standard non-blocking protocol [Herlihy 90, Herlihy 91a]. These factors are: resources wasted by attempted non-blocking operations that fail, and the cost of data copying. We demonstrate the importance of these factors experimentally, and show how they can be reduced using protocols that rely on operating system support. To reduce the overhead of failing non-blocking operations, our first protocol maintains information about the utilization of the shared object; experiments show that this protocol performs better than the known alternatives. To reduce the cost of data copying, we introduce a second, optimistic protocol that avoids copying, except in the case when a thread of control is delayed during its attempted update.
UR - http://www.scopus.com/inward/record.url?scp=0026994004&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0026994004&partnerID=8YFLogxK
U2 - 10.1145/135419.135446
DO - 10.1145/135419.135446
M3 - Conference contribution
AN - SCOPUS:0026994004
SN - 0897914953
SN - 9780897914956
T3 - Proceedings of the Annual ACM Symposium on Principles of Distributed Computing
SP - 125
EP - 134
BT - Proceedings of the Annual ACM Symposium on Principles of Distributed Computing
PB - Publ by ACM
T2 - Proceedings of the 11th Annual ACM Symposium on Principles of Distributed Computing
Y2 - 10 August 1992 through 12 August 1992
ER -