Server
Convoying 이란?
Sweetmeats_boy
2021. 6. 25. 21:39
반응형
참고 : http://elky.tistory.com/318
거짓 공유 (false sharing)
캐싱의 기본은 지역성에 근거하는데요, 이는 프로그래밍단의 최적화에서도 유명한 80-20법칙과도 일맥상통하는 이야기죠. 지역성(locality)은 아래 추정에 근거합니다. 1. 지금 읽힌 데이터는 이후
elky.tistory.com
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.
반응형