A Source-to-Source Transformerfor QD-locking

University essay from Uppsala universitet/Institutionen för informationsteknologi

Author: Robert Markovski; [2017]

Keywords: ;

Abstract: Locking is a common method of synchronization in parallel programming. Delegation locking is a form of locking where in threads may, under the right circumstances,delegate critical sections to be executed by another thread instead of waiting for the lock. Queue Delegation Locking (QD-locking) is a novel method of delegation locking which drastically improves performance in situations where one or more locks are moderately or heavily contented, and essentially lets a thread delegate a critical section to the thread which currently holds the lock. QD-locking requires critical sections to be written differently than standard phreads mutex locking. In this thesis, we discuss the feasibility of taking a program which uses pthreads mutex locks and automatically transforming it into a program using QD-locking. We describe an implementation of this transformation, called QDTrans, using the qd_lock_lib implementation of QD-locking in the C programming language.We also discuss the quality and performance of code tranformed by QDTrans.QDTrans is currently capable of successfully converting seven out of the nineSPLASH2 benchmarks.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)