CPU cho các hệ thống hiệu suất cao: Số lượng nhân so với tốc độ xung nhịp

Số lượng nhân và tốc độ xung nhịp ảnh hưởng đến hiệu suất như thế nào?

Khi cấu hình một hệ thống, CPU – bộ não của máy tính – là ưu tiên hàng đầu. Đối với dòng vi xử lý AMD Ryzen và Intel Core, cấu trúc sản phẩm rất dễ hiểu: Bộ xử lý càng tốt thì số lượng core và tốc độ xung nhịp càng nhiều. Nhưng đối với dòng vi xử lý máy trạm (AMD Threadripper & Intel Xeon W) và vi xử lý máy chủ (Intel Xeon Scalable và AMD EPYC), cấu trúc danh mục sản phẩm dài và phức tạp. Số lượng nhân, tốc độ xung nhịp và các tính năng được thiết kế để phù hợp với tải xử lý mục tiêu cụ thể.

Cả số lượng nhân và tốc độ xung nhịp đều rất quan trọng trong việc xác định hiệu suất và hiệu quả của các ứng dụng mục tiêu của bạn. Hiểu được điểm mạnh, điểm yếu và sự đánh đổi trong số lượng nhân và tốc độ xung nhịp là điều cần thiết nhằm xác định hệ thống mà bạn cần để đạt được hiệu suất xử lý tốt nhất với số tiền bỏ ra.

Chúng ta sẽ cùng tìm hiểu chi tiết về số lượng nhân, tốc độ xung nhịp và những gì cần ưu tiên cho tải xử lý kế tiếp của bạn. Những gợi ý này được tổng quát hóa và các phần mềm cụ thể có thể hoạt động khác nhau tùy theo hệ thống.

Giải pháp hạ tầng Deep Learning, Trí tuệ Nhân tạo - AI

Core Count – Tăng tốc cho nhiều tác vụ

Số lượng nhân là số đơn vị xử lý hoặc lõi trong CPU của bạn. Mỗi nhân thực hiện các tập lệnh (instructions) độc lập để xử lý song song, trong đó nhiều lệnh được thực hiện cùng lúc.

CPU càng có nhiều nhân thì càng có thể xử lý nhiều tác vụ cùng lúc, điều này rất quan trọng đối với các ứng dụng HPC vì nó có thể được chia thành các tác vụ nhỏ như phân tích dữ liệu và ảo hóa đám mây. Tuy nhiên, tải xử lý đơn luồng và tuần tự (dựa trên bước tính toán trước đó) không thể tăng tốc bằng các nhân bổ sung.

Tốc độ xung nhịp – Tăng tốc từng tác vụ riêng lẻ

Tốc độ xung nhịp rất quan trọng đối với các ứng dụng phụ thuộc nhiều vào các tác vụ luồng đơn tuần tự, trong đó tải xử lý không thể được phân chia hiệu quả thành các tiến trình song song.

Tốc độ xung nhịp, được đo bằng gigahertz (GHz), biểu thị tần số mà nhân CPU có thể thực hiện lệnh. Nó cho biết có bao nhiêu lệnh mà nhân có thể xử lý trong một khoảng thời gian nhất định. Tốc độ xung nhịp cao hơn cho phép thực hiện lệnh nhanh hơn, giúp xử lý nhanh hơn.

Một số ứng dụng HPC, chẳng hạn như mô phỏng với mã luồng đơn (single-threaded code) hoặc tính toán số học, không dễ để song song hóa. Trong những trường hợp này, tốc độ xung nhịp trở nên quan trọng vì nó ảnh hưởng trực tiếp đến thời gian cần thiết để hoàn thành từng tác vụ. Tốc độ xung nhịp cao hơn giúp thực thi nhanh hơn các lệnh riêng lẻ, dẫn đến hoàn thành nhanh hơn các tải xử lý luồng đơn.

Nhiều nhân hơn hay tốc độ xung nhịp cao hơn?

Xu hướng tạo ra các CPU cô đặc nhất trên thị trường đã trở thành mục tiêu của các nhà sản xuất. Trong những năm gần đây, AMD đã phát hành CPU EPYC 9654 96 core mới nhất của họ và AMD EPYC 9454 128 core, bộ xử lý x86 dày đặc nhất hiện nay. Nhiều nhân hơn cho phép xử lý song song, trong đó các tác vụ có thể được chia giữa các nhân và thực hiện đồng thời.

Nhiều hơn không phải lúc nào cũng tốt hơn

Tuy nhiên, nhiều nhân hơn không phải lúc nào cũng tốt hơn trong mọi ứng dụng. AMD EPYC 9495 128 core chạy ở xung nhịp cơ bản 2,25 GHz dưới mức trung bình. Nhưng nó không được tạo ra để đẩy tốc độ trên mỗi nhân; nó được tạo ra với các tải xử lý thuần cloud (Cloud Native) và ảo hóa (Virtualization) và mật độ trung tâm dữ liệu cao.

Các nhà cung cấp dịch vụ đám mây phân phối các nhóm core cho các tải xử lý đám mây nhẹ như thu nạp dữ liệu, ứng dụng web, lưu trữ và microservices, không đòi hỏi nhiều về mặt tính toán. Trong tải xử lý microservices, nhiều nhóm hơn đồng nghĩa với nhiều công việc được thực hiện hơn. Nếu tải xử lý yêu cầu nhiều tác vụ đòi hỏi nhiều về mặt tính toán hơn như kết xuất video, các nhân có tốc độ xung nhịp thấp này sẽ khó theo kịp, làm mất đi thời gian xử lý đáng kể.

Để đạt được hiệu suất tối ưu trong bất kỳ tải xử lý nào, hãy cân bằng số lượng nhân và tốc độ xung nhịp và xác cấu hình lý tưởng đáp ứng nhu cầu. Một cách tiếp cận cân bằng là cần thiết trong việc kết xuất video; chọn bộ xử lý có số lượng nhân từ trung bình đến cao và tốc độ xung nhịp tương đối cao. Chúng ta sẽ xem xét các CPU được khuyến nghị chung cho từng tải xử lý.

Một số ứng dụng cũng ấn định mức giá cho mô hình cấp phép của họ theo từng nhân; Ví dụ như đối với nhà cung cấp Ansys, việc cho phép nhiều nhân hơn đòi hỏi phải mua thêm các gói license. Chọn bộ xử lý có tốc độ xung nhịp cao nhất để duy trì vị thế cạnh tranh dẫn đầu trong khi vẫn giữ chi phí ở mức tối thiểu.

Các tải xử lý thuần GPU

Với sự bùng nổ và phổ biến của các ứng dụng trí tuệ nhân tạo, các trung tâm dữ liệu được thiết kế hoặc có hỗ trợ cho điện toán tăng tốc bằng GPU ngày càng được quan tâm. NVIDIA tiên phong trong việc sử dụng sức mạnh điện toán song song của GPU trong gaming và áp dụng chúng vào các tải xử lý điện toán hiệu suất cao như mô phỏng và học sâu. Những tiến bộ trong AI, khám phá thuốc và mô phỏng kỹ thuật sẽ không thể thực hiện được nếu không sử dụng khả năng điện toán song song của GPU.

CPU có số nhân hạn chế được thiết kế để tính toán các tác vụ phức tạp, trong khi GPU chỉ được giao nhiệm vụ tính toán toán học. Khi một ứng dụng được thiết kế thuần GPU, tất cả các phép tính được chuyển sang GPU và các nhân CPU được giải phóng cho việc nhận và xuất các điểm dữ liệu. Việc truy xuất các điểm dữ liệu này chỉ được tăng tốc nhờ tốc độ xung nhịp cao. Các ứng dụng như AMBER cho động lực học phân tử, Ansys Fluent cho mô phỏng CFD và AI đào tạo đều chủ yếu sử dụng điện toán GPU và mức độ phụ thuộc vào sức mạnh CPU ở mức thấp khác nhau. Một CPU nhanh hơn và có số lượng nhân thấp hơn sẽ phù hợp nhất với tải xử lý.

Tuy nhiên, một số tải xử lý được tăng tốc bằng GPU (khác với thuần GPU/GPU-native) và sử dụng GPU trong một số tiến trình nhất định trong tải xử lý trong khi vẫn dựa vào CPU cho hầu hết các phép tính. Trong đó bao gồm các tải xử lý như Phân tích phần tử hữu hạn hoặc Phân tích dữ liệu, cả hai đều cần xử lý dữ liệu, chạy tính toán và phân tích tuần tự tất cả dữ liệu.

Lựa chọn CPU cho một số tải xử lý HPC

Một số ứng dụng và tải xử lý được hưởng lợi từ cả tốc độ xung nhịp cao và số lượng nhân dồi dào. Giả sử hệ thống của bạn được trang bị GPU thì sau đây là các khuyến nghị được đưa ra cho những gì cần ưu tiên với CPU của bạn.

Khuyến nghị CPU Tốc độ xung nhịp cao Cân bằng Số lượng nhân cao
AMD Threadripper 7965WX24 nhân | 4,2 GHz 7985WX64 nhân | 3,2 GHz 7995WX96 nhân | 2,5 GHz
AMD EPYC 9274F24 nhân | 4,1 GHz 9474F48 nhân | 3,6 GHz 965496 nhân | 2.4GHz
Intel Xeon W W5-3425X12 nhân | 3,20 GHz W9-3475X36 nhân | 2,2 GHz W9-3495X56 nhân | 1,9 GHz
Intel Xeon có khả năng mở rộng Vàng 6444Y16 nhân | 3,6 GHz Platinum 8558P48 nhân | 2,7 GHz Platinum 8592V64 nhân | 2.0GHz

CPU cho Động lực học phân tử & Cryo-EM

Ưu tiên tốc độ xung nhịp cao hơn trong CPU của bạn nếu bạn tăng tốc GPU. Đạt được sự cân bằng giữa lõi và tốc độ xung nhịp mang lại kết quả tốt nhất. Nếu ứng dụng của bạn hoàn toàn là GPU gốc như AMBER hoặc GROMACS, 2 hoặc 4 nhân CPU trên mỗi GPU là quá đủ.

Nếu tải xử lý của bạn được tăng tốc bằng GPU như trong Cryo-EM, hãy chọn bộ xử lý có sự cân bằng giữa lõi và tốc độ xung nhịp. Sau đây là một số CPU được đề xuất cho MD và Cryo-EM. Chọn xung nhịp cân bằng hoặc cao.

CPU cho mô phỏng kỹ thuật FEA

Trong mô phỏng biến dạng cơ học phân tích phần tử hữu hạn, GPU không được sử dụng làm bộ tăng tốc chính để tính toán mô phỏng do bản chất tuần tự của chúng. CPU chiếm phần lớn tải xử lý. Do đó, số lượng nhân cân bằng và tốc độ xung nhịp cao sẽ phù hợp nhất với nhiệm vụ. Trong khi nhiều nhân hơn có thể tăng tốc tải xử lý, thì các lõi nhanh nên được ưu tiên vì số lượng CPU có thể giảm xuống khi tải xử lý tăng lên. Chọn Cân bằng hoặc Lõi cao.

CPU cho mô phỏng kỹ thuật CFD

Trong động lực học chất lỏng tính toán, có các bộ giải quyết CPU và bộ giải quyết GPU, trong đó bộ giải quyết GPU có hiệu suất cao hơn đáng kể. GPU có thể tăng tốc mô phỏng lên hơn 10 lần và một GPU đơn lẻ mạnh bằng 100 nhân CPU. Khi chạy mô phỏng CFD với GPU, nên ưu tiên CPU có tốc độ xung nhịp cao hơn. Giữ nguyên các tải xử lý khác được thực hiện trên hệ thống này, vì bạn có thể cần một CPU cân bằng cho các tải xử lý mô phỏng khác không sử dụng GPU nhiều.

CPU cho đào tạo và suy luận AI

Ưu tiên số lượng nhân ngay cả khi nhiều nhân không phải là yếu tố quan trọng nhất để tăng tốc đào tạo AI. Ví dụ, một máy chủ có 8 GPU có thể có 32 nhân hoặc nhiều hơn nếu dữ liệu được kéo ở nơi khác để trang trải chi phí xử lý dữ liệu. Tốc độ xung nhịp tốt vẫn góp phần cải thiện tốc độ xử lý dữ liệu.

Đào tạo AI có thể được phân phối và song song hóa cực độ. Do đó, nhiều nhân CPU hơn có nghĩa là máy chủ có thể xử lý nhiều tác vụ cùng lúc. Nhiều tác vụ đồng thời được thực hiện cho phép khả năng mở rộng và đào tạo các mô hình lớn hơn. Chọn Lõi cao.

CPU cho Video & Render 3D

Chúng tôi ưu tiên tốc độ xung nhịp trong khi vẫn có đủ lõi. Nếu bạn có quá nhiều nhân và xung nhịp thấp hơn, chế độ xem thời gian thực của bạn sẽ bị giật và chậm hơn mức mong muốn. Xung nhịp cao hơn sẽ cải thiện khả năng phản hồi trong phần mềm chỉnh sửa và tăng tốc độ xem trước thời gian thực. Các lõi bổ sung sẽ giúp xuất, mã hóa và kết xuất. Chọn Cân bằng hoặc Lõi cao.

CPU cho dịch vụ đám mây HPC và ảo hóa

Càng nhiều nhân có sẵn trong cụm của bạn, càng nhiều phiên bản có thể chạy như các dịch vụ độc lập. Nếu các máy khách ảo hóa được triển khai cho tải xử lý dày đặc, tốc độ xung nhịp nên được xem xét. Tuy nhiên, việc tối đa hóa lõi có thể cho phép khởi chạy nhiều phiên bản đám mây và ứng dụng web ảo hóa hơn. Chọn bộ xử lý máy chủ như AMD EPYC và Intel Xeon Scalable để hoạt động 24/7 và chọn Lõi cao.

Kết luận

Điều quan trọng cần lưu ý đó chính là sự cân bằng lý tưởng giữa tốc độ xung nhịp và số lượng nhân có thể thay đổi tùy thuộc vào tải xử lý cụ thể và việc tối ưu hóa phần mềm. Các ứng dụng khác nhau có các yêu cầu khác nhau và điều quan trọng là phải đánh giá các đặc điểm tải xử lý để xác cấu hình tối ưu. Các bộ xử lý này là những gợi ý giúp hướng dẫn bạn đi đúng hướng và hướng dẫn bạn cách chọn bộ xử lý phù hợp với tải xử lý của mình.

Kinh nghiệm cho thấy những việc cần ưu tiên đó là kiểm tra điểm benchmark, đọc tài liệu, trao đổi với các chuyên gia ứng dụng và lựa chọn nhà cung cấp có đội ngũ chuyên gia tư vấn kinh nghiệm.

____
Bài viết liên quan

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