SlideShare a Scribd company logo
Spin Locks  추가 자료 아꿈사  (http://cafe.naver.com/architect1.cafe) Codevania  (http://codevania.textcube.com)
Index Queue Lock V.S. Backoff Lock Composite Lock Fast-Path Composite Lock Hierarchical Locks Hierarchical Backoff Lock Hierarchical CLH Queue Lock One Lock To Rule Them All
Queue Lock V.S. Backoff Lock -  확장 불가능 -  느린 잠금 해제 :  시간 초과 매개 변수들 조절 난해 -  포기된 노드들을 재활용할 때 복잡한 프로토콜 필요 단점 -  시간 초과 프로토콜 구현이 쉬움 -  공평성 :  먼저 시도하면 먼저 잠금을 얻음 -  빠른 잠금 해제 -  낮은 경쟁 장점 Backoff Lock Queue Lock
Composite Lock Qlock 과  BL 의 잠점들의 균형을 맞추자 임계영역에 돌입하기 위해 대기하는 스레드 이 스레드의 수를 적게 유지 나머지 스레드들 이 작은 큐에 들어가기 위해 지수적 양보 방법을 사용 양보하는 중의 스레드가 포기하고 빠져나가는 방법은 명백함 단점 먼저 온 스레드가 먼저 잠금을 획득하는 것을 보장 못함
Composite Lock 장점 스레드가 양보하는 경우 각각은 서로 다른 위치에 접근하므로 경쟁을 감소 시킴 잠금을 넘겨주는 과정 CLH 나  TO 만큼 빠름 잠금 요청을 포기하는 것 양보하는 스레드의 경우 명백함 큐노드를 획득한 스레드에 대해서도 상대적으로 직관적 단점 먼저 온 스레드가 먼저 잠금을 획득하는 것을 보장 못함
Composite Lock Fast-Path Composite Lock 병행적이지 않은 상황에서의 성능을 고려 개요 잠금을 획득한 경우를 구분 지름길을 시도해보고 실패한 경우 ,  이전처럼 큐에 자신을 넣음
Hierarchical Locks 클러스터 현대의 캐시가 일관된 구조에서는 프로세스를 클러스터로 나누어 구성 클러스터  내 의 통신  is faster then  클러스터  간 의 통신 계층적 잠금 컴퓨터 구조의 메모리 계층구조와 접근 비용을 고려하여 지역성의 관점에서 이런차이점을 고려한 잠금 설계
Hierarchical Locks Hierarchical Backoff Lock 장점 짧은 양보 시간을 가진다면 잠금이 해제되었을 때 , 같은 클러스터의 스레드가 원격 스레드에 비해 잠금을 획득하게 될  확률 이 높게되고 , 잠금 소유권을 넘기는 과정에 드는  총 시간 을 감소 가능 단점 동기화 문제 발생 :  지역성을 과도하게 활용하기 때문 기아 :  같은 클러스터끼리만 잠금을 주고받으면 ? 잠금 획득 / 해제 과정은 잠금 필드의 원격 캐시 복사본을 무효화  (NUMA 구조에서 높은 비용 )
Hierarchical Locks Hierarchical CLH Queue Lock 높은 통신 비용을 피하기 위해 같은 클러스터 안에서 잠금을 넘기는 것은 선호함 하지만 ,  어느 정도의 공평성을 보장하여 원격 잠금 요청이 지나치게 대기하지 않도록 같은 클러스터에서의 요청들을 같이 스케쥴링하여 이런 요구들의 균형을 맞추자 지역큐 ,  전역큐 스레드는 클러스터 마스터의 역할 -  지역큐에 쌓인 노드들을 전역 큐에 넣는 것 암시적인 참조 구조는 캐시 미스를 최소화 각 스레드는 앞 노드의 상태의  지역적 캐시 복사본에 대해 스핀
One Lock To Rule Them All 모든 종류의 응용프로그램에 적합한 알고리즘 존재하지 않음 !! 최선의 선택 응용프로그램의 특징과  컴퓨터의 구조에 따라 선택  &  테스트  &  사용

More Related Content

PDF
7가지 동시성 모델-2장
PDF
함수형사고 3장 양도하라
PDF
190325 synchro
PDF
[2015-06-05] Oracle TX Lock
PPTX
중급 소켓프로그래밍
PDF
스톰 접근 중
PPT
Texture bombing
PPTX
Taocp 2_4
7가지 동시성 모델-2장
함수형사고 3장 양도하라
190325 synchro
[2015-06-05] Oracle TX Lock
중급 소켓프로그래밍
스톰 접근 중
Texture bombing
Taocp 2_4

Viewers also liked (7)

PPT
Taocp 1 2-2
PPT
테스트 자동화의 원칙
PDF
Taocp 2_3_1
PDF
14 virtual memory
PPTX
Gstar gossip
PPT
Deferred rendering transparency
PPT
3장 자동적으로 움직이는 게임 에이전트 생성법
Taocp 1 2-2
테스트 자동화의 원칙
Taocp 2_3_1
14 virtual memory
Gstar gossip
Deferred rendering transparency
3장 자동적으로 움직이는 게임 에이전트 생성법
Ad

More from codevania (7)

PPT
Memory corruption stack
PPTX
Mathematical Structures for CS [Chapter3]456
PPT
Optimizing The Content Pipeline
PPT
시간 있으면 설계나 합시다
PPT
Memory Corruption Heap
PPT
Generic Refraction Simulation
PPT
Interactive Refractions And Caustics Using Image Space Techniques
Memory corruption stack
Mathematical Structures for CS [Chapter3]456
Optimizing The Content Pipeline
시간 있으면 설계나 합시다
Memory Corruption Heap
Generic Refraction Simulation
Interactive Refractions And Caustics Using Image Space Techniques
Ad

Spin locks 추가 자료

  • 1. Spin Locks 추가 자료 아꿈사 (http://cafe.naver.com/architect1.cafe) Codevania (http://codevania.textcube.com)
  • 2. Index Queue Lock V.S. Backoff Lock Composite Lock Fast-Path Composite Lock Hierarchical Locks Hierarchical Backoff Lock Hierarchical CLH Queue Lock One Lock To Rule Them All
  • 3. Queue Lock V.S. Backoff Lock - 확장 불가능 - 느린 잠금 해제 : 시간 초과 매개 변수들 조절 난해 - 포기된 노드들을 재활용할 때 복잡한 프로토콜 필요 단점 - 시간 초과 프로토콜 구현이 쉬움 - 공평성 : 먼저 시도하면 먼저 잠금을 얻음 - 빠른 잠금 해제 - 낮은 경쟁 장점 Backoff Lock Queue Lock
  • 4. Composite Lock Qlock 과 BL 의 잠점들의 균형을 맞추자 임계영역에 돌입하기 위해 대기하는 스레드 이 스레드의 수를 적게 유지 나머지 스레드들 이 작은 큐에 들어가기 위해 지수적 양보 방법을 사용 양보하는 중의 스레드가 포기하고 빠져나가는 방법은 명백함 단점 먼저 온 스레드가 먼저 잠금을 획득하는 것을 보장 못함
  • 5. Composite Lock 장점 스레드가 양보하는 경우 각각은 서로 다른 위치에 접근하므로 경쟁을 감소 시킴 잠금을 넘겨주는 과정 CLH 나 TO 만큼 빠름 잠금 요청을 포기하는 것 양보하는 스레드의 경우 명백함 큐노드를 획득한 스레드에 대해서도 상대적으로 직관적 단점 먼저 온 스레드가 먼저 잠금을 획득하는 것을 보장 못함
  • 6. Composite Lock Fast-Path Composite Lock 병행적이지 않은 상황에서의 성능을 고려 개요 잠금을 획득한 경우를 구분 지름길을 시도해보고 실패한 경우 , 이전처럼 큐에 자신을 넣음
  • 7. Hierarchical Locks 클러스터 현대의 캐시가 일관된 구조에서는 프로세스를 클러스터로 나누어 구성 클러스터 내 의 통신 is faster then 클러스터 간 의 통신 계층적 잠금 컴퓨터 구조의 메모리 계층구조와 접근 비용을 고려하여 지역성의 관점에서 이런차이점을 고려한 잠금 설계
  • 8. Hierarchical Locks Hierarchical Backoff Lock 장점 짧은 양보 시간을 가진다면 잠금이 해제되었을 때 , 같은 클러스터의 스레드가 원격 스레드에 비해 잠금을 획득하게 될 확률 이 높게되고 , 잠금 소유권을 넘기는 과정에 드는 총 시간 을 감소 가능 단점 동기화 문제 발생 : 지역성을 과도하게 활용하기 때문 기아 : 같은 클러스터끼리만 잠금을 주고받으면 ? 잠금 획득 / 해제 과정은 잠금 필드의 원격 캐시 복사본을 무효화 (NUMA 구조에서 높은 비용 )
  • 9. Hierarchical Locks Hierarchical CLH Queue Lock 높은 통신 비용을 피하기 위해 같은 클러스터 안에서 잠금을 넘기는 것은 선호함 하지만 , 어느 정도의 공평성을 보장하여 원격 잠금 요청이 지나치게 대기하지 않도록 같은 클러스터에서의 요청들을 같이 스케쥴링하여 이런 요구들의 균형을 맞추자 지역큐 , 전역큐 스레드는 클러스터 마스터의 역할 - 지역큐에 쌓인 노드들을 전역 큐에 넣는 것 암시적인 참조 구조는 캐시 미스를 최소화 각 스레드는 앞 노드의 상태의 지역적 캐시 복사본에 대해 스핀
  • 10. One Lock To Rule Them All 모든 종류의 응용프로그램에 적합한 알고리즘 존재하지 않음 !! 최선의 선택 응용프로그램의 특징과 컴퓨터의 구조에 따라 선택 & 테스트 & 사용