핵심 개념
다중 코어 CPU에서 지속 가능한 다중 단어 비교-교환 연산의 성능을 향상시키기 위해 불필요한 CAS 및 캐시 플러시 명령을 제거하고 더티 플래그를 배제하는 새로운 알고리즘을 제안한다.
초록
이 논문은 지속 가능한 메모리(persistent memory) 프로그래밍의 주요 과제인 일관성 있는 내구성 보장을 위해 제안된 지속 가능한 다중 단어 비교-교환(PMwCAS) 알고리즘을 다룬다.
먼저, 저자들은 기존 PMwCAS 알고리즘에서 발생하는 성능 저하 문제를 해결하기 위해 불필요한 CAS 및 캐시 플러시 명령을 제거하는 새로운 알고리즘을 제안한다. 또한 일관성 보장을 위해 사용되던 더티 플래그를 배제하고 PMwCAS 디스크립터를 사용하는 방식으로 개선한다.
실험 결과, 제안된 방법은 기존 알고리즘 대비 최대 10배 빠른 성능을 보였다. 또한 타깃 단어 수, 접근 편향, 캐시 라인 공유 등 다양한 매개변수에 따른 성능 경향을 분석하고, PMwCAS 연산 활용을 위한 실용적인 제안사항을 제시하였다.
통계
제안된 PMwCAS 알고리즘은 기존 알고리즘 대비 최대 10배 빠른 처리량을 보였다.
타깃 단어 수가 증가할수록 PMwCAS 성능이 저하되었으며, 5개 이상의 타깃 단어를 사용할 경우 고경쟁 환경에서 성능이 크게 감소하였다.
캐시 라인 공유로 인한 false sharing은 PMwCAS 성능에 큰 영향을 미쳤으며, 8바이트 블록 크기에서 처리량이 절반 수준으로 감소하였다.
인용구
"다중 코어 CPU에서 지속 가능한 다중 단어 비교-교환 연산의 성능을 향상시키기 위해 불필요한 CAS 및 캐시 플러시 명령을 제거하고 더티 플래그를 배제하는 새로운 알고리즘을 제안한다."
"실험 결과, 제안된 방법은 기존 알고리즘 대비 최대 10배 빠른 성능을 보였다."