인텔은 리눅스 커널에서 코드 한 줄 수정으로 3888.9%라는 놀라운 성능 향상을 발견했습니다. 이 변경은 이전 커밋으로 인해 발생한 큰 익명 메모리 매핑의 PMD 경계 정렬로 인한 성능 저하 문제를 해결합니다. 이로 인해 cactusBSSN 벤치마크에서 600%의 성능 감소가 발생했습니다. 원래의 정렬 전략은 메모리 매핑을 단편화하여 TLB(Translation Lookaside Buffer) 및 캐시 별칭 문제로 인해 메모리 접근 패턴에 부정적인 영향을 미쳤습니다.
새로운 패치는 메모리 매핑의 크기가 PMD 크기의 배수여야 한다는 조건을 도입하여, 단순히 PMD 크기 이상이 아닌 조건으로 변경했습니다. 이 조정은 비정상 크기의 매핑을 더 잘 병합할 수 있게 하여 성능을 복원하면서도 THP(투명한 대용량 페이지) 정렬의 이점을 활용할 수 있도록 합니다. 초기 테스트 결과, 이 수정이 다크테이블과 같은 애플리케이션의 성능 저하 문제도 해결함을 보여주어, 패치의 광범위한 적용 가능성과 다양한 작업 부하에서 성능을 향상시킬 잠재력을 입증했습니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.