(Tái cấu trúc / Đảo ngược)
2.3.8 NUMA ảo
Ngoài việc hỗ trợ bộ xử lý và bộ nhớ mở rộng của nó trên các host và cho các máy ảo, Hyper-V trong Windows Server 2012 cũng mở rộng được hỗ trợ Non-Uniform Memory
Access (NUMA) từ host vào các máy ảo. NUMA cho phép tối ưu hóa việc sử dụng bộ nhớ bởi các bộ xử lý dựa vào vị trí của bộ nhớ tương ứng với bộ xử lý. Các ứng dụng hiệu suất cao như Microsoft SQL Server có các phần tối ưu hóa cài sẵn vốn có thể tận dụng topo NUMA của một hệ thống để cải thiện các luồng bộ xử lý được định thời biểu và bộ nhớ được cấp phát như thế nào.
Ví dụ ở hình trên minh họa máy host 4 socket có tính năng NUMA với 4 nút NUMA vật lý được ghi nhận từ 1 đến 4. Hai VM chạy trên host này và hai nút NUMA ảo được trình bày bên trong trên host mỗi máy ảo, những nút NUMA ảo này liên kết với các NUMA vật lý trên host đưa và policy. Kết quả các ứng dụng nhận biết NUMA như SQL Server được cài đặt trên hệ điều hành máy khách của một trong các VM này có thể cấp phát các nguồn tài nguyên luồng và bộ nhớ của nó như thế nó đang chạy trực tiếp trên một server vật lý có 2 nút NUMA (phép
điều chỉnh).
Trong các phiên bản trước của Hyper-V, các VM không nhận biết NUMA nghĩa là khi các ứng dụng như SQL Server được chạy trong các VM, những ứng dụng này không thể tận dụng phần tối ưu hóa như vậy. Bởi vì NUMA đã không được sử dụng trong các phiên bản trước. RAM của một máy ảo có thể trải rộng qua các nút NUMA và truy cập bộ nhớ không cục bộ. Có một tác động hiệu suất khi sử dụng bộ nhớ không cục bộ do memory controller (CPU) khác phải được liên lạc.
Nhưng với các VM bây giờ, nhận biết NUMA trong Windows Server 2012, hiệu suất của các ứng dụng như SQL Server có thể tốt hơn đáng kể. Tuy nhiên sự chú ý hỗ trợ NUMA trong các máy ảo chỉ làm việc trong Hyper-V trong Windows Server 2012 khi Dynamic Memory đã không được cấu hình trên host.
NUMA ảo trình bày một topo NUMA bên trong một VM sao cho hệ điều hành và các ứng dụng có thể đưa ra những quyết định thông qua topo NUMA vật lý của host.