Linus Torvalds, 차세대 Linux에서 더 빠른 부팅 시간을 위해 Microsoft의 Hyper-V 업그레이드 채택

Linus Torvalds, 차세대 Linux에서 더 빠른 부팅 시간을 위해 Microsoft의 Hyper-V 업그레이드 채택

Windows와 Linux의 열광자들이 종종 격렬한 키보드 싸움을 벌이는 동안, 이 운영 체제의 개발자들은 서로의 강점과 약점을 알고 있습니다. 특히 Microsoft는 이러한 역동성을 인정하고 실제로 사용자들이 Linux를 실험하도록 장려하는데, 특히 Windows Subsystem for Linux(WSL)를 통해 그렇습니다.

또한 Microsoft는 Linux 성능과 기능을 향상시키기 위한 업데이트를 정기적으로 출시합니다. 주목할 만한 예로 2022년 11월에 중첩 가상화 또는 중첩 Hyper-V 지원이 도입되었습니다. 또한 전년 9월 Linux 창시자 Linus Torvalds는 Azure Machine Learning의 수석 아키텍트인 Wei Liu가 제안한 AMD SEV-SNP 게스트 및 Intel TDX 게스트에 대한 Hyper-V 관련 개선 사항을 수락했습니다.

최근 Torvalds는 Linux 6.12에 대한 Liu의 새로운 Hyper-V 업데이트를 승인했으며, 특히 Microsoft의 Saurabh Singh Sengar가 강조한 성능 향상에 중점을 두었습니다.

Wei Liu로부터 Hyper-V 업데이트 가져오기:

  • hv_synic_init()의 동시 실행으로 부팅 시간 최적화(Saurabh Sengar)
  • hv_snp_boot_ap()에서 제어 레지스터를 읽기 위한 도우미 활용(Yosry Ahmed)
  • hv_fcopy_start에 메모리 할당 확인 통합(Zhu Jun)

패치 설명에서는 hv_synic_init() 함수를 병렬화하면 코어 수와 NUMA(비균일 메모리 액세스) 노드가 많은 프로세서의 부팅 시간을 크게 향상시킬 수 있는 방법에 대해 자세히 설명합니다.

hv_synic_init()의 동시 실행으로 부팅 시간 최적화

1780개의 CPU가 있는 대규모 시스템에서 hv_acpi_init()가 완료되는 데 약 3초가 걸리는데, 이는 주로 hv_synic_init()가 처리하는 순차적 동기 초기화로 인해 발생합니다.

이러한 작업이 동시에 실행되도록 예약하면 각 CPU가 hv_synic_init()를 병렬로 실행할 수 있으므로 여러 CPU의 잠재력을 극대화할 수 있습니다.

이러한 최적화를 통해 1780 CPU 시스템에서 부팅 시간이 약 2초 단축되었으며, 이는 이전 방법에 비해 약 66% 향상되는 것입니다.

Sengar는 또한 최근 “대규모 멀티코어 시스템을 위한 Linux 커널 부팅 가속화”라는 제목의 프레젠테이션을 제공했는데, 이 패치와 다른 진행 중인 최적화에 대한 세부 사항을 설명합니다. Linux Plumbers Conference(LPC) 웹사이트에서 프레젠테이션을 볼 수 있습니다 .

출처: LKML ( link1 , link2 )

원천

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다