자물쇠 호송차

Lock convoy

컴퓨터 과학에서, 자물쇠 운반은 다중 스레드 애플리케이션에서 동시성 제어를 위해 자물쇠를 사용할 때 발생할 수 있는 성능 문제야.

자물쇠 운반은 동일한 우선 순위의 여러 나사산이 동일한 자물쇠를 반복해서 다투는 경우에 발생한다.[1][2]교착 상태와 라이브록 상황과는 달리, 잠금 장치 수송기의 스레드는 진행되지만, 스레드가 잠금을 획득하려고 시도하고 실패할 때마다 스케줄링 퀀텀의 나머지 부분을 포기하고 컨텍스트 스위치를 강제한다.반복되는 컨텍스트 스위치의 오버헤드와 스케줄링 퀀텀의 활용도가 낮으면 전반적인 성능이 저하된다.

잠금 전송은 메모리 힙이나 스레드 풀과 같이 일반적으로 사용되는 리소스에 대한 액세스를 잠그는 것과 같은 동시성 제어 원시 요소에서 자주 발생한다.잠금 없는 알고리즘과 같은 잠김 없는 대안을 사용하거나 경합하는 스레드의 상대적 우선순위를 변경하여 해결할 수 있다.


참고 항목

참조

  1. ^ Silberschatz, Abraham (2013). Operating System Concepts. John Wiley & Sons Inc. ISBN 1118129385.
  2. ^ Blasgen, Mike; Gray, Jim; Mitoma, Mike; Blasgen, Mike; Mitoma, Like (1979). "The convoy phenomenon". Operating Systems Review.