Efficient Hardware Support: The Lock Mechanism without Retry

하드웨어 지원의 재시도 없는 잠금기법

  • 김미경 (상명대학교 소프트웨어학부) ;
  • 홍철의 (상명대학교 소프트웨어학부)
  • Published : 2006.09.01

Abstract

A lock mechanism is essential for synchronization on the multiprocessor systems. The conventional queuing lock has two bus traffics that are the initial and retry of the lock-read. %is paper proposes the new locking protocol, called WPV (Waiting Processor Variable) lock mechanism, which has only one lock-read bus traffic command. The WPV mechanism accesses the shared data in the initial lock-read phase that is held in the pipelined protocol until the shared data is transferred. The nv mechanism also uses the cache state lock mechanism to reduce the locking overhead and guarantees the FIFO lock operations in the multiple lock contentions. In this paper, we also derive the analytical model of WPV lock mechanism as well as conventional memory and cache queuing lock mechanisms. The simulation results on the WPV lock mechanism show that about 50% of access time is reduced comparing with the conventional queuing lock mechanism.

잠금기법은 분산 병렬 시스템의 동기화에 필수적이다. 기존의 큐잉 잠금기법은 최초의 잠금 읽기와 잠금 경합발생 시 공유 데이터에 대한 잠금이 해제되었을 때 발생하는 잠금 읽기 재 시도로 두 개의 트래픽을 발생한다. 본 논문에서는 WPV(Waiting Processor Variable) 잠금기법이라 불리는 새로운 잠금기법을 제안한다 새로이 제안하는 기법은 오직 한 개의 잠금 읽기 명령을 사용한다. WPV 기법은 파이프라인 전송방식을 사용하여 최초의 잠금 읽기 단계에서 공유 데이터가 전송될 때까지 대기 한 후 잠금을 실시한다. 데이터에 대한 잠금을 수행중인 프로세서는 대기 상태의 다음 프로세서에 대한 정보를 저장하고 있으므로, 공유 데이터가 캐쉬 대 캐쉬 데이터 전송 기법에 의하여 대기중인 다음 프로세서로 바로 전송된다. 따라서 대기중인 프로세서 에 대한 변수는 연결 리스트 구조를 갖는다. 제안된 기법은 캐쉬 상태의 잠금기법을 사용하여 잠금 오버 헤드를 줄이고 다중 잠금 경합 발생시 FIFO를 유지하게 한다. 또한 본 논문에서는 기존의 메모리 및 캐쉬 큐잉 잠금기법에 대한 WPV 잠금기법의 해석적 모델링을 제시한다. WPV 잠금기법에 대한 시뮬레이션의 결과는 기존의 큐잉 잠금기법에 비하여 50%의 접근 시간의 감소를 보여주었다.

Keywords

References

  1. Moon, E., Thang, S., Jhon, C., 'Adjacency preferred hardware synchronization method for CC-NUMA systems', Proceedings of International Conference on Electronics, Informations and Communications. 1998
  2. Moon, E., Thang, S., Jhon, C., 'Analysis of the Relation of Synchronization Algorithm and Parallel Programs in Shared-Memory Multiprocessor Systems', Proceedings of High Performance Computing Symposium, 2000
  3. Tauri, T., Nakagawa, T., Ido, N., 'Evaluation of the Lock Mechanism in a Snooping Cache', Proceedings of International Conference on Supercomputing, 1992
  4. An Do Ki, Byung Kwan Park, 'Highly Pipelined Bus : HiPi-Bus,' Proceedings JTC-CSCC'91, 1991
  5. Cho, H., 'Cache coherency and concurrency control in a multisystem data sharing', IEICE Transactions on Information & Systems, Vol. E82-D. No. 6, 1999 pp. 1042-1050
  6. Nikolopoulos, D., Papatheodorou, S., 'Fast Synchronization on Scalable Cache Coherent Multiprocessors using Hybrid', Proceedings of the 14th International Parallel & Distributed Processing, 2000 pp. 711-719
  7. Stenstrom, P., 'A Survey of Cache Coherence Schemes for Multiprocessors', IEEE Computer, June 1990 pp. 12-24
  8. Thiebaut, D., 'On fractal dimension of computer programs and its application to the prediction of cache miss ratio', IEEE Trans. on Computers, Vol. 38. No. 7, 1989, pp.1012-1026 https://doi.org/10.1109/12.30852
  9. Yamamura, S., Hirai, A., Yamamoto, M, 'Speeding Up Kernel Scheduler by Reducing Cache Misses', Proceedings of the Freenix Track 2002 USENIX Annual Technical Conference, 2002, pp. 275-285