vCPU là gì? Sự khác biệt giữa vCPU và CPU? Cách tính vCPU

vCPU là gì? Sự khác biệt giữa vCPU và CPU? Cách tính vCPU

Trở về Blog | Đăng bởi vào ngày 06/06/23

Chia sẻ bài viết :

vCPU là viết tắt của virtual Central Processing Unit (đơn vị xử lý xử lý trung tâm ảo). Nó thường được sử dụng trong các máy ảo và môi trường đám mây. Mỗi vCPU được sử dụng trong máy ảo tương ứng với một lõi CPU vật lý.

Ngày nay, các doanh nghiệp ngày càng ưa chuộng sử dụng máy ảo, không chỉ tiết kiệm không gian, thời gian mà còn cả chi phí quản lý. Chỉ cần một máy vật lý duy nhất, người dùng có thể chạy nhiều máy ảo, trong khi đó vCPU vẫn đảm bảo được hiệu năng.

Vậy vCPU là gì, nó khác gì so với CPU và làm thế nào để tính số vCPU yêu cầu, hãy cùng bài viết tìm hiểu nhé.

vCPU là gì?

Trước khi tìm hiểu về vCPU, bạn cần nắm được một số khái niệm như: Hypervisor, socket, thread (luồng), physical core (lõi vật lý)

Hypervisor

Hypervisor (hay còn gọi là máy ảo) là một phần mềm hoặc phần cứng cho phép chia sẻ tài nguyên máy tính giữa nhiều hệ điều hành và ứng dụng khác nhau. Nó cho phép nhiều máy ảo chạy trên cùng một máy chủ vật lý, mỗi máy ảo có thể chạy một hệ điều hành và ứng dụng riêng biệt.

Hypervisor giúp tối ưu hóa sử dụng tài nguyên máy tính và giảm chi phí vận hành hệ thống. Nó cũng cung cấp tính năng bảo mật bằng cách cô lập các máy ảo khác nhau, giúp ngăn chặn các lỗ hổng bảo mật từ các ứng dụng khác nhau trên cùng một máy chủ.

Socket

Socket là một khe cắm trên bo mạch chủ (mainboard) được thiết kế để chứa CPU (Central Processing Unit).

CPU socket có chức năng kết nối CPU với bo mạch chủ và cung cấp các tín hiệu điện và dữ liệu giữa CPU và các thành phần khác trên bo mạch chủ.

Thread

Luồng (Thread) CPU là một khái niệm trong công nghệ thông tin, thường được sử dụng để chỉ số lượng tác vụ (tasks) mà một bộ vi xử lý (CPU) có thể thực hiện đồng thời.

Core

Lõi (Core) là một phần của vi xử lý (CPU) được thiết kế để thực hiện các phép tính logic và các hoạt động xử lý dữ liệu. Mỗi lõi CPU có thể thực hiện một tác vụ cụ thể và hoạt động độc lập với các nhân khác trên cùng một bộ vi xử lý.

Vậy vCPU là gì?
tìm hiểu vcpu 1

vCPU (virtual Central Processing Unit) là một đơn vị xử lý trung tâm ảo được cung cấp bởi hypervisor để chạy trên máy ảo. Mỗi máy ảo có thể có một hoặc nhiều vCPU tùy thuộc vào cấu hình của máy ảo và tài nguyên của máy chủ vật lý.

Với vCPU, máy ảo có thể chạy các ứng dụng và hệ điều hành giống như một máy tính vật lý. Một trong những tính năng chính của vCPU đó là cho phép nhiều máy ảo chia sẻ tài nguyên vật lý của máy chủ bao gồm CPU, RAM, bộ nhớ lưu trữ,…

Nguyên lý hoạt động của vCPU

Khi một máy ảo được khởi động, hypervisor sẽ cấp phát một hoặc nhiều vCPU cho máy ảo đó. Mỗi vCPU sẽ được giả lập như một CPU vật lý với các đặc tính như tốc độ xử lý, bộ nhớ đệm và các tính năng khác tương tự như một CPU vật lý.

tìm hiểu vcpu 2

Khi máy ảo chạy các ứng dụng hoặc hệ điều hành, các lệnh được gửi đến vCPU để xử lý. Hypervisor sẽ phân phối các lệnh này cho các vCPU được cấp phát cho máy ảo tương ứng. Các vCPU sẽ xử lý các lệnh này và trả về kết quả cho hypervisor để được truyền đến máy ảo.

Với việc sử dụng vCPU, một máy chủ vật lý có thể chạy nhiều máy ảo cùng một lúc, giúp tối ưu hóa tài nguyên và tăng hiệu suất của hệ thống.

Sự khác biệt giữa vCPU và CPU

tìm hiểu vcpu 3

Có bao nhiêu vCPU trong một CPU?

Các bộ vi xử lý ngày nay có thể chứa rất nhiều lõi. Mỗi lõi lại có một nhiệm vụ xử lý logic khác nhau, tất cả đều được sử dụng để tạo nên vCPU.

Một lõi vật lý thường có thể chạy 2 luồng, tương đương với 2 lõi logic. Điều này có được là nhờ công nghệ siêu phân luồng (Hyperthreading), không những giúp nâng cao khả năng tính toán của CPU mà còn cho phép nhiều máy ảo hoạt động đồng thời một lúc hơn.

Số lượng của vCPU trong một máy chủ chủ yếu phụ thuộc vào những yếu tố sau:

Cách tính vCPU trong một CPU

Số lượng vCPU tối đa trong một hệ thống phụ thuộc vào loại CPU và nhà sản xuất trình ảo hóa (hypervisor). Công thức tính vCPU như sau:

Số vCPU = (Số lõi x Số luồng) x Số CPU

Ví dụ, nếu một CPU có 64 lõi và 128 luồng thì số lượng vCPU tối đa sẽ là:

(64 lõi x 128 luồng) x 1 CPU = 8192 vCPU

Để kiểm tra số lõi, số luồng cũng như số CPU vật lý trên máy tính Windows và Linux, các bạn thực hiện theo các bước sau:

Windows
Linux

Các câu hỏi thường gặp

Cách tính số lượng vCPU cho một khối lượng công việc cụ thể?

Để làm được điều này, trước tiên bạn cần xác định số lượng lõi có trên CPU vật lý. Sau đó xem xét khối lượng công việc dự kiến cho từng máy ảo.

Khi xem xét khối lượng công việc, hãy lưu ý đến mức sử dụng CPU. Mức sử dụng sẽ luôn ở mức 100% hay có các đợt sử dụng đột ngột tăng cao. Lúc này, bạn có thể xác định được số lượng vCPU sẽ sử dụng cho máy ảo.

Khối lượng công việc càng nhỏ thì càng có thể chạy nhiều máy ảo cùng lúc trên một máy chủ vật lý. Mỗi VM yêu cầu tối thiểu một vCPU và bạn có thể bổ sung thêm vCPU khi khối lượng công việc tăng lên.

BÀI VIẾT LIÊN QUAN