VCPU là gì, trực tiếp và hiệu suất là bao nhiêu? – Đám mây CNTT

bảng mạch chip
archy13 / Shutterstock

Các nhà cung cấp máy chủ đám mây thường sẽ quảng cáo các phiên bản của họ là có một số lượng vCPU nhất định, viết tắt là CPU ảo. Bạn có thể mong đợi bao nhiêu hiệu năng từ việc này so với CPU thông thường?

Sự khác biệt giữa lõi và chủ đề

Điều quan trọng là phải hiểu sự khác biệt giữa luồng xử lý và lõi CPU. CPU sẽ có một số lượng lõi được thiết lập để xử lý việc thực hiện các chương trình. Nhưng ngay cả các nhiệm vụ chuyên sâu cũng không phải lúc nào cũng sử dụng 100% CPU; các chương trình thường phải chờ bộ nhớ đọc từ bộ đệm L3, RAM và đĩa và thường sẽ chuyển sang chế độ ngủ trong khi chờ dữ liệu đến. Trong thời gian này, lõi CPU không hoạt động.

Giải pháp cho vấn đề này được gọi là đa siêu tốc trực tuyến, hoặc đa luồng. Thay vì chạy một nhóm tác vụ cùng một lúc, CPU có thể xử lý nhiều luồng. Hiện tại, gần như mọi CPU cao cấp của Intel hay AMD đều hỗ trợ hai luồng trên mỗi lõi.

Tùy thuộc vào ứng dụng, siêu phân luồng có thể tăng tốc độ lý thuyết 100%, nếu cả hai luồng đang chờ bộ nhớ đọc và aren xung đột với nhau. Trong hầu hết các trường hợp, siêu phân luồng cho tốc độ tăng khoảng 30% so với không siêu phân luồng. Tuy nhiên, trong một số trường hợp, khi hai luồng được ghim ở mức 100% và chạy trên cùng một lõi, nó có thể gây ra sự chậm chạp khi chúng chiến đấu với tài nguyên CPU CPU.

Điều gì tạo nên một vCPU?

Các vCPU gần như tương đương với một luồng xử lý, nhưng đây không phải là một so sánh chính xác.

Giả sử bạn thuê một ví dụ c5.lund từ AWS với 2 vCPUs. Ứng dụng của bạn sẽ chạy cùng với nhiều ứng dụng khác trên một máy chủ lớn. Bạn thực sự có thể thuê toàn bộ máy chủ với một Kim loại trần AWS ví dụ, cho phép bạn truy cập trực tiếp vào bộ xử lý. Nếu bạn đang thuê bất cứ thứ gì nhỏ hơn thế, quyền truy cập của bạn được quản lý thông qua Nitro AWS.

Nitro là một trình ảo hóa, xử lý việc tạo và quản lý các máy ảo chạy trên chính máy chủ. Đây là lý do tại sao bạn thuê một máy chủ ảo, mà không phải là không gian trong một trung tâm dữ liệu. Nitro là những gì làm cho EC2 đánh dấu; Nó hỗ trợ một phần bởi phần cứng chuyên dụng, do đó, việc chạy chậm trong môi trường ảo hóa là tối thiểu.

Nitro quyết định các luồng nào để gán VM của bạn dựa trên mức độ cần xử lý, giống như một trình lập lịch tác vụ thực hiện trong môi trường máy tính để bàn bình thường. Với 2 vCPU, trường hợp xấu nhất là ứng dụng của bạn chạy trên một lõi đơn và được cung cấp hai luồng của lõi đó. Nếu bạn thực sự tối đa hóa cá thể của bạn, các chủ đề của bạn có thể xung đột và gây ra sự chậm lại nhỏ. Thật khó để nói chính xác cách thức hoạt động của trình ảo hóa AWS, nhưng có lẽ nó an toàn khi cho rằng kịch bản này phần lớn được giảm nhẹ với việc quản lý luồng tốt trên phần Nitro.

Vì vậy, tất cả trong tất cả, bạn có thể có thể mong đợi hiệu năng tương đương với một luồng CPU bình thường, nếu không tốt hơn một chút. Sự khác biệt không quan trọng lắm, vì hầu hết các trường hợp EC2 sẽ đi kèm với bội số của 2 vCPU. Chỉ cần nhớ rằng một phiên bản 4 vCPU không phải là máy chủ 4 lõi. Nó thực sự mô phỏng một máy chủ 2 lõi, chạy 4 luồng xử lý.

Tốc độ xử lý của vCPU sẽ phụ thuộc nhiều hơn vào phần cứng thực tế mà nó đang chạy. Hầu hết các CPU máy chủ sẽ là Intel Xeons, vì chúng chiếm phần lớn thị trường. Các máy chủ cấp thấp hơn có thể chạy phần cứng cũ hơn một chút theo tiêu chuẩn của ngày hôm nay. Các phiên bản AWSTHER T3a sử dụng CPU AMD EPYC có số lượng lõi cao, chạy chậm hơn một chút, nhưng chi phí thấp hơn do phần cứng rẻ hơn nhiều cho mỗi lõi.

Trường hợp ổn định

Logo sơ thẩm AWS T2

Các phiên bản AWS phiên bản T2 và T3 có thể nổ được, có thể phù hợp hơn cho các ứng dụng không cần chạy 100% mọi lúc.

Chẳng hạn, phiên bản t3.micro có 2 vCPU, nhưng tốc độ cơ bản của nó là 10% so với vCPU bình thường. Trên thực tế, t3.micro thực sự chỉ có 0,2 vCPU, đó thực sự là cách Google Cloud Platform quảng cáo các trường hợp F1-micro của họ.

Nhưng t3.micro isn chỉ chậm 90% về tổng thể; Nó cho phép bùng nổ vượt quá tốc độ cơ bản trong thời gian ngắn, giống như cách tần số turbo hoạt động trên một máy tính thông thường. Ngoại trừ yếu tố giới hạn ở đây không phải là nhiệt, mà là bạn sẵn sàng trả bao nhiêu.

Đối với mỗi giờ, cá thể chạy dưới tốc độ cơ bản, bạn tích lũy tín dụng CPU, được sử dụng để phá vỡ cá thể trong một phút. Ví dụ t3.micro đặc biệt tích lũy 6 tín dụng CPU mỗi giờ mà nó chạy dưới tốc độ cơ bản. Nhưng khi cần sức mạnh xử lý, tín dụng CPU được tiêu thụ để chạy vượt quá tốc độ cơ bản.

Điều này rất phù hợp cho các ứng dụng dựa trên dịch vụ vi mô, phải đáp ứng các yêu cầu khi chúng xảy ra, nhưng không hoạt động cho đến khi người dùng tiếp theo yêu cầu một cái gì đó. Các dịch vụ phải luôn luôn giòn số là phù hợp hơn với các máy chủ truyền thống.

Điều này cho phép AWS chạy nhiều phiên bản T2 trên mỗi máy chủ hơn so với máy chủ thường có khả năng, giúp giảm chi phí. Chẳng hạn, mỗi rack trong trung tâm dữ liệu của chúng có thể chứa một hệ thống 48 lõi với 96 luồng xử lý. Điều này có thể được sử dụng cho các phiên bản C5 có giá trị 96 vCPU, nhưng các phiên bản T2 có thể chia sẻ lõi và chạy ở tốc độ dưới 20% tốc độ lõi cơ sở, do đó AWS có thể chạy nhiều hơn trong số chúng trên cùng một máy chủ.



Nguồn HowToGeek

Chúng tôi rất vui khi biết đánh giá của bạn

Leave a reply

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

GiaTot7
Logo
Reset Password