DOI QR코드

DOI QR Code

멀티코어에서 개별 객체 잠금을 위한 스핀락

Spinlock for Locking Individual Objects on Multicore

  • 김상철 (한국전자통신연구원 임베디드SW연구부 실시간SW연구실) ;
  • 마유승 (한국전자통신연구원 임베디드SW연구부 실시간SW연구실) ;
  • 우덕균 (한국전자통신연구원 임베디드SW연구부 실시간SW연구실) ;
  • 마평수 (한국전자통신연구원 임베디드SW연구부 실시간SW연구실) ;
  • 김선태 (한국전자통신연구원 임베디드SW연구부 실시간SW연구실)
  • 발행 : 2015.10.28

초록

멀티코어 시스템에서는 서로 다른 코어들이 공통 데이터를 동시에 접근할 때 데이터의 일관성을 유지하기 위해서 스핀락 기법을 사용한다. 전통적인 스핀락을 이용한 잠금 기법에서는 잠금 변수가 실행 도중 삭제되지 않으므로 문제가 되지 않는다. 그러나 병렬성을 최대화하기 위해서는 개별 객체 잠금을 하여야 하고 이를 위해서는 객체내에 잠금 변수를 유지하여야 한다. 이 경우 객체는 도중에 언제든지 삭제가 가능하기 때문에 잠금을 하는 도중에는 잠금 변수가 절대 삭제되지 않도록 하여야 한다. 본 논문은 멀티코어상에서 발생하는 이 같은 문제를 해결하기 위해 잠금 변수를 객체 내에 유지할 때의 개별적인 객체 잠금을 위한 스핀락 구현 방법을 제시한다.

키워드