DOI QR코드

DOI QR Code

Optimizing LRU Lock Management in the Linux Kernel for Improving Parallel Write Throughout in Many-Core CPU Systems

매니코어 CPU 시스템의 병렬 쓰기 성능 향상을 위한 리눅스 커널의 LRU 관리 최적화 기법

  • 변은규 (한국과학기술정보연구원 슈퍼컴퓨팅기술개발센터) ;
  • 구기범 (한국과학기술정보연구원 슈퍼컴퓨팅기술개발센터) ;
  • 오광진 (한국과학기술정보연구원 슈퍼컴퓨팅기술개발센터) ;
  • 방지우 (서울대학교 컴퓨터공학부)
  • Received : 2022.12.20
  • Accepted : 2023.01.26
  • Published : 2023.07.31

Abstract

Modern HPC systems are equipped with many-core CPUs with dozens of cores. When performing parallel I/O in such a system, there is a limit to scalability due to the problem of the LRU lock management policy of the Linux system. The study proposes an improved FinerLRU to solve this problem. Our new FinerLRU improves the parallel write performance of file systems using the buffer cache through granular lock management by increasing the number of LRU locks upto the maximum number of cores. The proposed method was implemented in Linux 5.18.11, and the performance was measured on two types of CPUs, Intel Icelake Xeon and Intel Knights landing, with different characteristics, and it was found that a performance improvement of about two times can be obtained in both types of systems.

최신 HPC 시스템은 수십 개의 코어를 가진 매니코어 CPU를 탑재하고 있다. 이런 시스템에서 병렬 I/O를 수행할 경우 리눅스 시스템의 LRU락 관리 정책의 문제로 인해 확장성에 한계를 가지고 있음을 확인하였다. 본 연구에서는 이 문제를 해결하기 위한 개선된 FinerLRU를 제안한다. LRU락을 최대 코어 개수만큼 증가시키는 것을 골자로 한 세분화된 Lock 관리를 통해 페이지 기반 버퍼 캐시를 사용하는 파일 시스템의 병렬 쓰기 성능을 향상시키는 것을 목적으로 한다. 리눅스 5.18.11에 제안한 방법을 구현하였으며, 서로 다른 특성을 가진 2종류의 CPU인 Intel Icelake Xeon과 Intel Knights landing에서 성능을 측정하였고 두 종류의 시스템 모두에서 두 배 전후의 성능 향상이 발생함을 확인하였다.

Keywords

Acknowledgement

본 연구는 2023년도 한국과학기술정보연구원(KISTI) 기본사업 과제 및 대한민국 정부(과학기술정보통신부)의 재원으로 한국연구재단 슈퍼컴퓨터개발선도사업(과제번호:2020M3H6A1084853)의 지원을 받아 수행되었음.

References

  1. S. Mittal, "A survey of techniques for architecting and managing asymmetric multicore processors," ACM Computing Surveys, Vol.48, No.3, 2016.
  2. J. Bang et al., "Finer-LRU: A scalable page management scheme for HPC manycore architectures," 2021 IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp.567-576, 2021.
  3. E. -K. Byun et al., "A study on optimizing LRU lock for improving parallel I/O throughout in manycore CPU systems," Proceedings of the Annual Conference of Korea Information Processing Society Conference (KIPS) 2022, Vol.29, No.2, pp.2-4, 2022.
  4. D. Zheng, R. Burns, and A. S. Szalay, "A parallel page cache: Iops and caching for multicore systems," in Proceedings of the 4th USENIX Conference on Hot Topics in Storage and File Systems, ser. HotStorage'12. USA: USENIX Association, p.5, 2012.
  5. Y. Zhang, S. Shao, J. Zhai and S. Ma, "FineLock: Automatically refactoring coarse-grained locks into fine-grained locks," In Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, pp.565-568, 2020.
  6. K. Ganesh, S. Kalikar, and R. Nasre, "Multi-granularity locking in hierarchies with synergistic hierarchical and fine-grained locks," in Euro-Par 2018: Parallel Processing, pp.546-559, 2018.
  7. A. Sodani et al., "Knights landing: Second-generation intel xeon Phi product," in IEEE Micro, Vol.36, No.2, pp.34-46, 2016. https://doi.org/10.1109/MM.2016.25
  8. IOR Benchmark [Internet], https://github.com/hpc/ior
  9. TOP500, [Internet], https://www.top500.org/lists/top500