Chọn CPU nào tốt nhất cho hệ thống ảo hóa?

Việc lựa chọn CPU phù hợp cho các hạ tầng ảo hóa phụ thuộc vào nhiều yếu tố, bao gồm tập hợp các tính năng và thông số kỹ thuật phần cứng. Ngoài ra, cấu hình phù hợp của tài nguyên xử lý cũng rất quan trọng.

Việc chọn một CPU cho ảo hóa và cấu hình nó đúng cách cũng quan trọng như việc chọn các tài nguyên bộ nhớ, lưu trữ và mạng. Một vi xử lý không phù hợp hoặc được cấu hình sai có thể ảnh hưởng đến ba thành phần còn lại.

Hiệu suất máy ảo (VM) cũng chủ yếu dựa vào các tài nguyên CPU, bộ nhớ, lưu trữ và mạng được cấu hình đúng cách. Các tài nguyên vi xử lý thường là siêu phân luồng (hyper-threaded) và over-provisioned ở mức độ có thể gây bất lợi. Tuy nhiên, trước khi bạn có thể thực hiện các phương pháp tốt nhất để cấu hình nhằm tránh chúng, bạn phải chọn một CPU đáp ứng nhu cầu của mình trước tiên.

Phần lớn quyết định đằng sau việc chọn CPU nào – ngoài vấn đề chi phí – nó còn phụ thuộc vào loại tải công việc đang được chạy. Một số vi xử lý phù hợp hơn với việc tối ưu hóa quản lý bộ nhớ, trong khi một số khác cung cấp hỗ trợ tốt hơn cho các thiết bị I/O.

Ảo hóa CPU là gì?

Ảo hóa CPU là quá trình trừu tượng hóa tài nguyên của vi xử lý vật lý (physical) thành một hoặc nhiều đơn vị luận lý (logical) mà có thể được gán cho các tải công việc khác nhau. Các hệ điều hành có quyền truy cập trực tiếp đến tài nguyên phần cứng, nhưng với ảo hóa, phần mềm được biết đến với cái tên hypervisor –  sẽ trừu tượng các tài nguyên đó để người quản trị IT có thể cung cấp và sử dụng chúng hiệu quả hơn.

Bạn có thể chỉ định một hoặc nhiều CPU ảo (vCPU) cho một máy ảo, tùy thuộc vào mức độ thiên về xử lý của các tải công việc. Các tài nguyên vi xử lý vật lý bên dưới về cơ bản là như nhau cho dù bạn sử dụng máy vật lý hay máy ảo, hypervisor sẽ trừu tượng hóa mỗi CPU vật lý thành một hoặc nhiều vCPU để có thể dễ dàng gán cho các workload. Việc gán và phân bổ lại các tài nguyên đó dễ dàng hơn khi chúng được ảo hóa.

Sau đây là một số cân nhắc để chọn và cấu hình CPU cho ảo hóa.

So sánh các dòng vi xử lý: AMD và Intel

Các loại vi xử lý, chẳng hạn như các loại do Intel và AMD cung cấp và các mục đích sử dụng cụ thể của chúng được phân biệt bằng các từ viết tắt đại diện cho các tập lệnh và lệnh được phát triển để thực hiện các tác vụ tập trung vào ảo hóa của vi xử lý. Ví dụ, các triển khai Intel VT bao gồm VT-x, VT-i, VT-d và VT-c và AMD là AMD-V và AMD-Vi.

Một trong những cách tiếp cận tốt nhất để chọn CPU phù hợp cho ảo hóa nằm ở việc xác định các tính năng cụ thể mà bạn muốn triển khai trong môi trường ảo của mình. Việc lựa chọn hypervisor và sự hỗ trợ của nó cho các vi xử lý cụ thể – có thể ảnh hưởng đến việc lựa chọn bộ xử lý cho ảo hóa.

Một tính năng mà cả Intel và AMD đều cung cấp là cách ly không gian bộ nhớ thông qua các no-execute (NX) và execute disable (XD) bit tương ứng, giúp bảo vệ các máy ảo khỏi phần mềm độc hại. Các bit NX và XD đảm bảo rằng CPU từ chối chạy code trong các khu vực được bảo vệ.

Các tính năng khác của CPU quan trọng đối với ảo hóa là các lệnh Load AH from Flags (LAHF) và Save AH to Flags (SAHF) và các phần mở rộng ảo hóa. Các lệnh LAHF và SAHF cho phép kiểm soát nội dung thanh ghi, trong khi các phần mở rộng ảo hóa cung cấp việc sử dụng tài nguyên tốt hơn. Chọn phần cứng phù hợp là bước đầu tiên để đảm bảo tải công việc ảo chạy ở hiệu suất cao nhất.

Tắt hyper-threading để tăng cường hiệu suất

Bước tiếp theo là chắn chắn bạn sử dụng CPU của mình một cách tốt nhất. Xác định những tính năng nào cần tận dụng và những tính năng nào có thể dẫn đến các vấn đề về hiệu suất trong tương lai. Hyper-threading là một tính năng của CPU có chức năng tổ chức và “xếp lịch” cho các luồng ứng dụng, nhưng nó không phải lúc nào cũng là cách hiệu quả nhất để cải thiện hiệu suất của bộ xử lý. Hyper-threading hoạt động như một đường dẫn thứ hai cho các bộ tập lệnh để tránh lãng phí tài nguyên.

Vấn đề với cách tiếp cận này là bản thân core CPU chỉ có một công cụ thực thi, do đó có thể xảy ra tranh chấp tài nguyên, gây ra tắc nghẽn hiệu suất. Thay vì sử dụng hyper-threading, hãy cân nhắc bỏ thêm một phần chi phí để có thêm nhiều core hơn khi mua CPU để ảo hóa, nếu có thể. Sẽ có hiệu quả hơn nếu mua CPU nhiều core và vô hiệu hóa hyper-threading hơn là chia sẻ ít lõi hơn giữa các tải công việc thông qua nó.

Ngay cả khi bạn không gặp vấn đề về hiệu suất do siêu phân luồng, việc có nhiều lõi tương đương với sức mạnh tổng thể của CPU nhiều hơn để ưu tiên và thực thi các tập lệnh.

Giảm thiểu tài nguyên dư thừa (overhead) do ảo hóa với SLAT

Một vấn đề phổ biến với ảo hóa là lượng tài nguyên dư thừa nó yêu cầu để liên tục dịch (translate) giữa không gian bộ nhớ vật lý và ảo. Lớp phần mềm mang tạo sự dư thừa có thể làm giảm tài nguyên khả dụng cho máy ảo. Second Level Address Translation (SLAT) – một tính năng của bộ xử lý mà Intel gọi là Extended Page Tables và AMD gọi là Rapid Virtualization Indexing hoặc Nested Page Tables – giảm các overhead đó, giúp cải thiện hiệu suất ảo hóa.

SLAT loại bỏ công việc lặp đi lặp lại bằng cách thêm cache cho các trang bảng mapping virtual-to-physical gần đây mà hypervisor đã tạo ra. Nếu thông tin mapping đã tồn tại trong cache, thì các tài nguyên CPU và bộ nhớ là không cần thiết cho việc dịch. Mức độ overhead tiết kiệm được khác nhau tùy thuộc vào tải công việc cụ thể. Ngoài ra, một số hệ thống yêu cầu bạn bật hỗ trợ SLAT trong BIOS để tận dụng tính năng này.

Cung cấp đủ tài nguyên vCPU cho tải công việc trên VM

Tải công việc yêu cầu đòi hỏi một cách tiếp cận sáng tạo để phân bổ tài nguyên bộ xử lý và ảo hóa CPU. Mọi ứng dụng – và các yêu cầu tính toán của nó là khác nhau. Hầu hết các máy ảo hoạt động bình thường với một vCPU, nhưng đối với các khối lượng công việc đòi hỏi nhiều sức mạnh hơn, chẳng hạn như máy chủ cơ sở dữ liệu hoặc email, bạn có thể cần đến bốn vCPU – đôi khi còn nhiều hơn.

Để bắt đầu, hãy cung cấp số lượng bộ xử lý ảo giống như yêu cầu của bộ xử lý vật lý mà ứng dụng cần. Nếu ứng dụng yêu cầu hai CPU vật lý, hãy chỉ định hai vCPU cho nó và theo dõi hiệu suất để xem nó có cần thêm hay không. Ngoài ra, nếu khối lượng công việc đặc biệt khắt khe, hãy chỉ định vCPU từ các lõi khác nhau để cân bằng tải. Việc áp dụng các quy tắc affinity và anti-affinity có thể giúp chỉ định những CPU nào mà một máy đơn lẻ nên và không nên sử dụng.

Xem xét thông số kỹ thuật phần cứng với các mục tiêu trong suy nghĩ

Khi chọn một máy chủ vật lý để ảo hóa, hãy xem xét CPU, memory, storage và I/O network. Tất cả bốn yếu tố này là chìa khóa để hợp nhất máy chủ. Về thông số kỹ thuật của CPU, đánh giá số lượng core, kích thước cache bên trong và tốc độ xung nhịp.

Xác định những gì bạn muốn đạt được với hạ tầng ảo của mình và loại khối lượng công việc bạn chạy khi chọn CPU cho ảo hóa. Nếu mục tiêu chính là giảm footprint, hãy sử dụng với số lượng core lớn hơn thay vì tốc độ xung nhịp nhanh hơn. Tuy nhiên, nếu hiệu suất tải công việc là mối quan tâm lớn hơn, thì tốc độ xung nhịp nhanh hơn và ít core hơn có thể có ý nghĩa hơn.

Thêm bộ nhớ và lưu trữ nhiều hơn cũng giúp hợp nhất máy chủ, nhưng kích thước bộ nhớ và lưu trữ phải đi liền theo nhu cầu của bạn để tránh lãng phí tài nguyên vật lý. Cuối cùng, đảm bảo bạn có đủ băng thông mạng để đáp ứng khối lượng công việc ảo của mình.

Các CPU phổ biến cho ảo hóa

Ba nhà cung cấp vi xử lý chính là Intel, AMD và IBM. Sau đây là một số CPU phổ biến nhất của họ dành cho ảo hóa trong doanh nghiệp:

  • Intel 3rd Gen Xeon Scalable processors: Các CPU series 5000 có từ 6 đến 40 nhân và 6 đến 80 luồng. Bronze là một lựa chọn tốt để triển khai các máy chủ cơ bản tại chỗ; Silver và Gold có tốc độ bộ nhớ và sức mạnh cao hơn, cũng như nhiều tính năng bảo mật hơn và Platinum khả dụng cho các trung tâm dữ liệu cấp doanh nghiệp.
  • AMD 3rd Gen EPYC processors: Các CPU series 7003 có từ 8 đến 64 nhân và 16 đến 128 luồng. AMD cũng cung cấp Công cụ tính toán TCO ảo hóa máy chủ có thể giúp bạn chọn vi xử lý đáp ứng tốt nhất nhu cầu của mình.
  • IBM Power9 processors: Các vi xử lý Power9 có từ 4 đến 24 nhân và IBM cung cấp các tùy chọn scale-out và scale-up, sử dụng công nghệ I/O subsystem nhằm tăng cường off-chip I/O và tương thích với phần lớn các tiêu chuẩn I/O, bao gồm NVIDIA NVLink 2.0, PCIe Gen4 và OpenCAPI.

Bài viết này sẽ giúp bạn chọn và cấu hình một CPU, nhưng vẫn còn nhiều điều cần biết về công nghệ của vi xử lý, chẳng hạn như sự giới thiệu các chiplet cho khả năng mở rộng và những cải tiến gần đây đối với các tính năng hiện có của CPU.

Theo TechTarget

Góp ý / Liên hệ tác giả