Hiệu suất WRF trên nền tảng AMD ROME – Nghiên cứu đa nút

Triệu chứng

Puneet Singh, HPC và Phòng thí nghiệm đổi mới trí tuệ nhân tạo, tháng 6 năm 2020

Mô hình Dự báo và Nghiên cứu Thời tiết (WRF) là một mô hình dự báo thời tiết quy mô trung bình mã nguồn mở được sử dụng, chủ yếu trong môi trường nút đa tính toán, để nghiên cứu khí quyển và dự báo hoạt động. Blog này, trong đó chúng tôi hiển thị hiệu suất WRF để mô phỏng sinh ra trên nhiều nút điện toán, là phần tiếp theo của blog được xuất bản về hiệu suất một nút của mô hình WRF.

Nghị quyết

WRF được biết là thể hiện khả năng mở rộng đầy đủ trên các hệ thống nhiều nút. Để xác minh khả năng mở rộng trên nền tảng AMD, chúng tôi đã sử dụng máy chủ Dell EMC PowerEdge ổ cắm kép, được kết nối qua kết nối Mellanox HDR 100, từCụm HPC Minerva. Các nút được sử dụng để đo điểm chuẩn là một phần của một  công tắc duy nhất. Chi tiết về máy chủ và phần mềm được sử dụng để thử nghiệm được đề cập trong Bảng 1.

Bảng 1: Chi tiết phần cứng và phần mềm thử nghiệm

Nền tảng Máy chủ ổ cắm Dell EMC PowerEdge 2

(với bộ vi xử lý AMD Rome)

Máy chủ ổ cắm Dell EMC PowerEdge 2

(với bộ vi xử lý AMD Naples)

CPU 2x AMD EPYC 7452@2.2 GHz (Rôma)

TDP – 155W

2x AMD EPYC 7601@2.35 GHz (Naples)

TDP – 180W

Kỉ niệm DIMM 256 GB, 16 x 16 GB @ 3200 MT/s DIMM 256 GB, 16 x 16 GB @ 2400 tấn/giây
Kho NFS NFS
Hệ điều hành RHEEL 7.6 RHEL 7.5
Nền tảng Linux 3.10.0-957.27.2.el7.x86_64 3.10.0-862.el7.x86_64
kết nối HDR100 (OFED 4.7-3.2.9) EDR (OFED 4.4-1.0.0)
phiên bản sinh học 1.0.1 1.10.6
Trình biên dịch & MPI Bản cập nhật Intel 20184
Đăng kí WRF 3.9.1.1
Bộ dữ liệu điểm chuẩn Conus 2.5km, Maria 3km

WRF đã biên dịch với cấu hình “dm+sm”. Để tối ưu hóa hiệu suất, chúng tôi đã thử quy trình khác nhau – kết hợp luồng, sơ đồ xếp ô (WRF_NUM_TILES) và tùy chọn Trang lớn trong suốt. Chúng tôi nhận thấy rằng 1 quy trình trên mỗi Tổ hợp CPU (CCX) khi tắt THP đã cho kết quả tốt nhất.

Hình 1 :Khả năng mở rộng vớiBộ dữ liệu Conus 2,5km trên mẫu CPU Rome 7452 (HDR 100)

Hình 1 cho thấy khả năng mở rộng của ứng dụng WRF với bộ dữ liệu Conus 2,5km – lên đến 64 nút. Trong quá trình chạy nút đơn (với mẫu CPU AMD EPYC 7452), giá trị tối ưu của ô xếp có thể cải thiện hiệu suất của ứng dụng lên tới ~47%. Các kích thước ô khác nhau, từ 4 (mặc định) đến 108, đã được thử trong quá trình chạy nhiều nút với tập dữ liệu Conus. Đối với bộ dữ liệu này, tổng số dữ liệu được trao đổi giữa các quy trình MPI đã tăng ~28 lần từ 2 nút lên 64 nút.

Hình 2 :Khả năng mở rộng vớiBộ dữ liệu Maria 3km trên mẫu CPU Rome 7452 (HDR 100)

Đối với các ô tập dữ liệu Maria được chọn để mô phỏng, nằm trong khoảng từ 4 (mặc định) đến 200 và với các ô tối ưu ( trên một nút ), hiệu suất ứng dụng đã được cải thiện ~43%. Đã có sự gia tăng ~3 lần trong tổng số dữ liệu được trao đổi giữa các quy trình MPI từ 2 nút lên 16 nút .

Hồ sơ WRF – Sử dụng MPI tổng thể

Ngoài kích thước ô tối ưu, lõi CPU & tần số CPU, Giao tiếp MPI là một yếu tố khác ảnh hưởng đến hiệu suất ứng dụng trong quá trình chạy nhiều nút. Dưới đây là bảng phân tích 5 hàm MPI được sử dụng nhiều nhất cho bộ dữ liệu Conus và Maria –

Hình 3 : Phân tích 5 chức năng MPI hàng đầu cho mô phỏng tập dữ liệu Conus 2,5km. Các thanh được vẽ theo trục chính và đường được vẽ theo trục phụ

Hình 4 : Phân tích 5 chức năng MPI hàng đầu cho mô phỏng tập dữ liệu Maria 3km. Các thanh được vẽ theo trục chính và đường được vẽ theo trục phụ

Đối với cả bộ dữ liệu Conus và Maria (Hình 3, Hình 4), có thể thấy rằng tổng thời gian MPI tăng lên ~5x & 4x tương ứng khi chúng tôi chia tỷ lệ điểm chuẩn lên tới 16 nút. Thời gian của chức năng truyền phát tăng lên ~2 lần trên 16 nút, do đó, các phương thức truyền phát khác nhau sử dụng I_MPI_ADJUST_BCAST đã được thử để kiểm tra xem có bất kỳ thuật toán nào có thể tận dụng tốt hơn độ trễ thấp hơn và thông lượng cao hơn do kết nối HDR 100 mang lại hay không. Thời gian phát sóng và thời gian chờ được tối ưu hóa ~3 đến 4,5% nhưng cải thiện tổng thể về hiệu suất là không đáng kể (~1%).

So sánh hiệu suất với nền tảng Napoli

Bộ nhớ cache lớn hơn, thông lượng bộ nhớ cao hơn, hỗ trợ AVX2 tốt hơn và khả năng ép xung cao hơn Tần số CPU là một số tính năng giúp bộ xử lý AMD 7452 Rome vượt trội về mặt kiến ​​trúc so với bộ xử lý AMD EPYC 7601. Các chi tiết của các hệ thống được thử nghiệm được đề cập trong Bảng 1.

Hình 5 : So sánh khả năng mở rộng của WRF trên nền tảng Rome và Naples cho bộ dữ liệu Conus 2,5km. Các thanh được vẽ theo trục chính và đường được vẽ theo trục phụ

Hình 6 : So sánh khả năng mở rộng của WRF trên nền tảng Rome và Naples cho bộ dữ liệu Maria 3 km. Các thanh được vẽ theo trục chính và đường được vẽ theo trục phụ

Trong Hình 5 và 6 với số hiệu suất của Napoli làm cơ sở, nền tảng Rome mang lại hiệu suất tốt hơn ~17 – 32% trên 8 nút với bộ dữ liệu Maria & Conus.

Kết luận và Khuyến nghị

WRF chia tỷ lệ tốt với tập dữ liệu conus và khả năng mở rộng có thể khác nhau tùy thuộc vào tập dữ liệu được sử dụng. Đối với mô phỏng WRF trên nền tảng AMD Rome, ngoài các cài đặt được đề cập ở đây , chúng tôi khuyên bạn nên kết nối Mellanox HDR 100 với trình biên dịch Intel ( 4 luồng trên mỗi quy trình và giá trị kích thước ô tối ưu ) để đạt được hiệu suất tối đa. Xem trang  blog này  để cập nhật.