2021. 6. 25. 21:39 Server

Convoying 이란?

반응형

참고 : 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.

출처 : https://en.wikipedia.org/wiki/Lock_convoy ]

반응형

'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
Posted by Sweetmeats_boy

블로그 이미지
Sweetmeats_boy

태그목록

Yesterday
Today
Total

달력

 « |  » 2024.11
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함