2021. 6. 25. 21:39 Server
Convoying 이란?
반응형
참고 : http://elky.tistory.com/318
LockFree에 대해서 검색하던 중 알게된 용어.
Convoying이란 MultiThread 구현 시 무분별한 Lock의 사용으로 인해서
MultiThread의 장점을 활용하지 못하고 특정 Thread가 작업 시 다른 Thread는 Lock에 걸린채로 대기하는 문제를 말한다.
즉, 특정 Lock에 대하여 여러 Thread가 접근하려고 할때 획득하지 못한 Thread들을 모두 기다릴 것이다.
이러한 상황에서 불필요한 ContextSwitching이 발생하며 비용이 발생할 수 있다.
Convoying을 해결하기 위해서는 LockFree 알고리즘을 활용하는 것도 좋은 방법이다.
위키에서는 Convoying을 이렇게 표현하더라
In computer science, a lock convoy is a performance problem that can occur when using locks for concurrency control in a multithreaded application.
반응형
'Server' 카테고리의 다른 글
MSA란? (0) | 2023.12.20 |
---|---|
Game Server HandOver (0) | 2021.06.25 |
Lock Free 알고리즘에 대하여 (0) | 2021.06.25 |
Process와 Thread의 차이점 (0) | 2021.06.20 |
동기화 기법들 (0) | 2021.06.20 |