문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [[분류: 동시성 프로그래밍]] Lock cohorting: A general technique for designing NUMA locks == 개요 == Cohort Lock이란 Lock을 두단계로 나누어서 사용하는 구조를 말한다. 각 연관된 Lock들의 group을 Cohort라고 정의하고 (예를 들어서 같은 NUMA node위의 Lock들은 같은 Cohort에 속한다.) 같은 Cohort끼리는 Global lock이 아니라 Local Lock들로 Lock을 정의하며 다른 Cohort끼리는 먼저 Global Lock을 잡아야 Local lock을 잡을 수 있도록 한 것이다. # 한 스레드가 락을 잡으려고 한다. # 만약 지금 Lock에 Global Lock이 걸리며 같은 Cohort면 # Local Lock을 잡으려고 하고 # 아닐 경우 Global Lock을 잡으려고 한다. 이렇게 구조하면 starvation이 생기는등 fairness에 문제가 생기는데 저자들은 이 문제도 지적하며 일정한 time quantum마다 강제로 cohort를 넘기게 함으로써 해결할 수 있다고 하였다. [[파일:Cohort_Lock.png|섬네일|가운데]] Cohort Lock 문서로 돌아갑니다.