2.6. 실시간 KVM
기존 하이퍼바이저는 NFVi의 요구 사항을 충족하도록 설계되거나 대상이 되지 않으며 NFV 기능을 사용하려면 추가적인 협업 노력이 필요합니다. KVM은 고성능과 짧은 대기 시간을 허용합니다. 사용 사례마다 대기 시간에 대한 허용 오차가 다르지만 많은 경우 20마이크로초 대기 시간이 필요합니다. 일부는 5-10 마이크로초가 필요하며 성능은 보장되어야 합니다. 이러한 수를 달성하려면 CPU 빈도 변경, 커널 모듈 로드 또는 언로드와 같은 모든 종류의 대기 시간이 긴 시스템 작업을 방지하고 커널 모듈을 로드하거나 언로드하지 않도록 시스템을 신중하게 설정해야 합니다. 또한 비실시간 도우미 프로그램을 제외한 느린 장치(예: 디스크 또는 사운드 장치)를 방지하도록 애플리케이션을 조정해야 합니다. 따라서 실시간 KVM을 배포하려면 타임스탬프 카운터가 안정되고 시스템이 다른 클럭 소스로 대체되지 않도록 시스템에 대한 깊은 지식이 필요합니다. 실시간 KVM을 사용하면 더 낮은 최대 시간 및 예상 대기 시간 대역을 알리는 기능이 포함된 대기 시간이 길어집니다.
성능 및 대기 시간 처리는 CPU(frequency, 전원 관리 기능 등), 마이크로 아키텍처 리소스, 캐시 계층 구조 및 크기, NUMA와 같은 메모리(및 계층 구조) 및 속도, 상호 연결, I/O 및 I/O NUMA, 장치 등을 비롯한 여러 요인에 따라 달라집니다.
NFV용 Real-time KVM의 초기 개선 사항은 다음과 같습니다.
데이터 플레인 VNF에 대한 최소한의 Interrupt 대기 시간 변동
- 실시간 VNF의 타이밍 정확성에 대한 최소 타이밍 변동은 radio 스케줄링과 같은 스케줄링 작업에 대한 타이밍 정확성을 통해 달성될 수 있습니다.
- 패킷 지연 변형에 의해 달성될 수 있는 데이터 플레인 VNF의 최소 패킷 대기 시간 변동은 패킷 처리에 적용됩니다.
가상 머신의 경우 인터럽트 대기 시간(예: 가상 머신의 인터럽트 처리기 도착과 인터럽트 처리기 호출 사이의 시간)은 타이밍 변형 또는 패킷 대기 시간 또는 둘 다 장치 유형에 따라 다를 수 있습니다. 가상 타이머가 있는 대기 시간을 중단하면 패킷 처리에 폴링만 사용하는 경우에도 실시간 VNF에 타이밍 정확성 문제가 발생할 수 있습니다. 가상 머신 내의 인터럽트 대기 시간 변동을 최소화하기 위해 VNF를 올바르게 구현해야 합니다.
실시간 KVM은 Red Hat OpenStack Platform 8 릴리스부터 기술 프리뷰로 지원됩니다.