Đặc tính BIOS cho HPC với bộ xử lý Intel Cascade Lake

Triệu chứng

Bài viết của Varun Bawa, Savitha Pareek, & Ashish K Singh của HPC và Phòng thí nghiệm đổi mới trí tuệ nhân tạo vào tháng 4 năm 2019

Nghị quyết

Với việc phát hành bộ xử lý Intel Xeon® Processor Scalable Family thế hệ thứ 2 (kiến trúc có tên mã là “Cascade Lake”), Dell EMC đã cập nhật các máy chủ PowerEdge thế hệ thứ 14 để hưởng lợi từ việc tăng số lượng lõi và tốc độ bộ nhớ cao hơn, từ đó mang lại lợi ích cho các ứng dụng HPC.

Blog này trình bày tập hợp kết quả đầu tiên và thảo luận về tác động của các tùy chọn điều chỉnh BIOS khác nhau có sẵn trên Dell EMC PowerEdge C6420 với bộ xử lý Intel Xeon® Cascade Lake mới nhất đối với một số ứng dụng và tiêu chuẩn HPC. Dưới đây là mô tả ngắn gọn về bộ xử lý Cascade Lake, các tùy chọn BIOS và ứng dụng HPC được sử dụng trong nghiên cứu này.

hồ tháclà sản phẩm kế nhiệm Skylake của Intel. Bộ xử lý Cascade Lake hỗ trợ tới 28 lõi, sáu kênh bộ nhớ DDR4 với tốc độ lên tới 2933 MT/s. Tương tự như Skylake, Cascade Lake hỗ trợ sức mạnh vector hóa bổ sung với tập lệnh AVX512 cho phép 32 DP FLOP/chu kỳ. Cascade Lake giới thiệu Hướng dẫn Mạng nơ-ron Vector (VNNI) , giúp tăng tốc hiệu suất của khối lượng công việc AI và DL như Phân loại hình ảnh, nhận dạng giọng nói, dịch ngôn ngữ, phát hiện đối tượng, v.v. VNNI cũng hỗ trợ lệnh 8-bit để tăng tốc hiệu suất suy luận .

Cascade Lake bao gồm các biện pháp giảm thiểu phần cứng đối với một số lỗ hổng bên kênh. Dự kiến ​​điều này có thể cải thiện hiệu suất đối với khối lượng công việc lưu trữ, hãy tìm các nghiên cứu trong tương lai từ Phòng thí nghiệm Đổi mới .

Do Skylake và Cascade Lake tương thích với ổ cắm nên các nút điều chỉnh bộ xử lý hiển thị trong BIOS hệ thống là tương tự nhau giữa các thế hệ bộ xử lý này. Các tùy chọn điều chỉnh BIOS sau đã được khám phá trong nghiên cứu này, tương tự như công việc đã xuất bản trước đây trên Skylake .

Cài đặt bộ xử lý:

  • Tìm nạp trước dòng bộ nhớ cache liền kề : Cơ chế Tìm nạp trước dòng bộ nhớ cache liền kề cho phép tìm nạp trước phần cứng tự động, nó hoạt động mà không cần sự can thiệp của lập trình viên. Khi được bật, nó chứa hai dòng bộ đệm 64 byte vào một cung 128 byte, bất kể dòng bộ đệm bổ sung có được yêu cầu hay không.
  • Trình tải trước phần mềm : Nó tránh tình trạng ngừng hoạt động bằng cách tải dữ liệu vào bộ đệm trước khi cần. Ví dụ: Để tìm nạp trước dữ liệu từ bộ nhớ chính vào bộ nhớ đệm L2 trước khi sử dụng với lệnh tìm nạp trước L2, sau đó tìm nạp trước dữ liệu từ bộ nhớ đệm L2 vào bộ nhớ đệm L1 ngay trước khi sử dụng với lệnh tìm nạp trước L1. Tại đây, khi được bật, bộ xử lý sẽ tìm nạp trước dòng bộ đệm bổ sung cho mọi yêu cầu bộ nhớ.
  • SNC (Sub-Numa Cluster ): Kích hoạt SNC giống như chia một ổ cắm thành hai miền NUMA, mỗi miền có một nửa số lõi vật lý và một nửa bộ nhớ của ổ cắm. Nếu điều này nghe có vẻ quen thuộc, thì nó có tiện ích tương tự như tùy chọn Cluster-on-Die có sẵn trong bộ xử lý Intel Xeon E5-2600 v3 và v4. SNC được triển khai khác với COD và những thay đổi này cải thiện khả năng truy cập ổ cắm từ xa trong Cascade Lake khi so sánh với các thế hệ trước đang sử dụng tùy chọn Cluster-on-Die. Ở cấp độ Hệ điều hành, máy chủ ổ cắm kép có bật SNC sẽ hiển thị bốn miền NUMA. Hai trong số các miền sẽ ở gần nhau hơn (trên cùng một ổ cắm) và hai miền còn lại sẽ ở khoảng cách xa hơn, qua UPI đến ổ cắm từ xa. Điều này có thể được nhìn thấy bằng cách sử dụng các công cụ hệ điều hành như:numactl –H và được minh họa trong Hình 1.

SLN316864_en_US__1image001(1)

Hình 1: Giao diện nút NUMA

Hồ sơ hệ thống:

Các cấu hình hệ thống là một tùy chọn meta, lần lượt, thiết lập nhiều tùy chọn BIOS tập trung vào quản lý năng lượng và hiệu năng như chế độ Turbo , Cstate , C1E , quản lý Pstate , tần số Uncore, v.v. Các cấu hình hệ thống khác nhau được so sánh trong nghiên cứu này bao gồm:

  • Màn biểu diễn
  • Hiệu suấtPerWattDAP C
  • Hiệu suấtPerWattOS

Chúng tôi đã sử dụng hai điểm chuẩn HPC và hai ứng dụng HPC để hiểu tác động của các tùy chọn BIOS này đối với hiệu suất của Cascade Lake. Cấu hình của các ứng dụng máy chủ và HPC được sử dụng cho nghiên cứu này được mô tả trong Bảng 1 và Bảng 2.

Các ứng dụng Miền Phiên bản điểm chuẩn
Linpack hiệu suất cao (HPL) Tính toán-Giải một hệ phương trình tuyến tính dày đặc Từ Intel MKL – Bản cập nhật 2019 1 Kích thước vấn đề 90%, 92% và 94% tổng bộ nhớ
Dòng Băng thông bộ nhớ 5.4 bộ ba
WRF Nghiên cứu và Dự báo Thời tiết 3.9.1 Conus 2.5km
ANSYS® Fluent®  Động lực học chất lỏng 19.2 Ice_2m,
Combustor_12m,
Aircraft_wing_14m,
Exhaust_System_33m

Bảng 1: Ứng dụng và Điểm chuẩn

Các thành phần Thông tin chi tiết
Người phục vụ Máy chủ PowerEdge C6420
bộ vi xử lý CPU Intel® Xeon® Gold 6230 @ 2.1GHz, 20 lõi
Kỉ niệm 192GB – 12 x 16GB 2933 MT/giây DDR4
Hệ điều hành Doanh nghiệp mũ đỏ Linux 7.6 Doanh nghiệp mũ đỏ Linux 7.6
hạt nhân 3.10.0-957.el7.x86_64
Trình biên dịch Intel Parallel Studio Cluster Edition_2019_Update_1

Bảng 2 Cấu hình máy chủ

Tất cả các kết quả hiển thị ở đây đều dựa trên các thử nghiệm trên một máy chủ; hiệu suất cấp cụm sẽ bị ràng buộc bởi hiệu suất máy chủ đơn lẻ. Các số liệu sau được sử dụng để so sánh hiệu suất:

  • Luồng – Điểm bộ ba theo báo cáo của điểm chuẩn luồng.
  • HPL – GFLOP/giây.
  • Thông thạo – Xếp hạng bộ giải theo báo cáo của Thông thạo.
  • WRF – Bước thời gian trung bình được tính trong 719 khoảng thời gian gần nhất cho Conus 2,5km

Điểm chuẩn và kết quả ứng dụng

Viết tắt ký hiệu đồ thị:

Hồ sơ hệ thống:

Perf – Performance SLN316864_vi_US__2a2      OS – PerformancePerWattOS  SLN316864_vi_US__3a3     DAPC – PerformancePerWattDAPC SLN316864_en_US__4a1
Sub-NUMA Clustering: SNC = 0(SNC = Đã tắt): SNC = 1(SNC = Đã bật: Được định dạng là Sọc trong biểu đồ)
SW – Trình tải trước phần mềm: SW = 0 (SW = Đã tắt) : SW = 1 (SW = Đã bật)

SLN316864_en_US__5image006

 Hình 2: Linpack hiệu năng cao

Hình 2 so sánh kết quả của HPL với Kích thước sự cố = 90% tức là N=144476 trên các tùy chọn BIOS khác nhau. Biểu đồ vẽ các Gigaflop tuyệt đối thu được khi chạy HPL trên các cấu hình BIOS khác nhau. Các Gigaflop thu được này được vẽ trên trục y, càng cao càng tốt.
Dưới đây là những quan sát từ biểu đồ:

  • Ít hơn 1% sự khác biệt về hiệu suất HPL do tìm nạp trước phần mềm.
  • Không có ảnh hưởng lớn nào của SNC đối với Hiệu suất HPL (tốt hơn 0,5% với SNC=Đã tắt).
  • Cấu hình Hệ thống Hiệu suất tốt hơn tới 6% so với OS và DAPC.

 SLN316864_en_US__6image008

Hình 3: Luồng

Hình 3 so sánh kết quả của STREAM trên các cấu hình BIOS khác nhau.
Biểu đồ biểu thị băng thông bộ nhớ tính bằng Gigabyte mỗi giây thu được khi chạy STREAM Triad. Băng thông bộ nhớ (GB/giây) thu được được vẽ trên trục y, càng cao càng tốt. Cấu hình BIOS liên quan đến các giá trị cụ thể của Gigabyte mỗi giây được vẽ trên trục x.
Dưới đây là những quan sát từ biểu đồ:

  • Băng thông bộ nhớ tốt hơn tới 3% khi bật SNC=.
  •  Không có nhiều sai lệch về hiệu suất do Tìm nạp trước phần mềm trên băng thông bộ nhớ STREAM. 
  •  Không có sai lệch trên Hồ sơ hệ thống.

  SLN316864_en_US__7a4

Hình 4: Băng thông bộ nhớ – SNC

Hình 4 biểu thị điểm băng thông bộ nhớ Stream Triad trong cấu hình như vậy. Toàn bộ băng thông bộ nhớ hệ thống là ~220 GB/giây. Khi 20 lõi trên một ổ cắm cục bộ truy cập bộ nhớ cục bộ, băng thông bộ nhớ là ~ 109GB/giây – một nửa băng thông toàn hệ thống. Một nửa trong số này, ~56 GB/giây, là băng thông bộ nhớ của 10 luồng trên cùng một nút NUMA truy cập bộ nhớ cục bộ của chúng và trên một nút NUMA truy cập bộ nhớ thuộc về nút NUMA khác trên cùng một ổ cắm. Băng thông bộ nhớ giảm 42% xuống còn ~33GB/giây khi các luồng truy cập bộ nhớ từ xa qua liên kết QPI trên ổ cắm từ xa. Điều này cho chúng tôi biết có một hình phạt đáng kể về băng thông trong chế độ SNC khi dữ liệu không cục bộ.

SLN316864_en_US__8image012

 Hình 5: WRF

Hình 5 so sánh kết quả của WRF giữa các tùy chọn BIOS khác nhau, tập dữ liệu được sử dụng là conus2.5km với tệp “namelist.input” mặc định.
Biểu đồ vẽ dấu thời gian trung bình tuyệt đối tính bằng giây thu được khi chạy bộ dữ liệu WRF-conus2,5km trên các cấu hình BIOS khác nhau. Dấu thời gian trung bình thu được được vẽ trên trục y, càng thấp càng tốt. Các cấu hình tương đối được liên kết với các giá trị cụ thể của dấu thời gian trung bình được vẽ trên trục x.
Dưới đây là những quan sát từ biểu đồ:

  • Hiệu suất tốt hơn 2% với SNC=Enabled.
  •  Không có sự khác biệt về hiệu suất đối với Đã bật tính năng Tìm nạp trước phần mềm so với Đã tắt.
  •  Hồ sơ hiệu suất tốt hơn 1% so với hồ sơ PerformancePerWattDAPC

SLN316864_vi_US__9a7
 SLN316864_en_US__10a6
Hình 6 đến Hình 9 biểu đồ Xếp hạng bộ giải thu được khi chạy Fluent- với bộ dữ liệu Ice_2m, Combustor_12m, Aircraft_Wing_14m và Exhaust_System_33m tương ứng. Xếp hạng Bộ giải thu được được vẽ trên trục y, Cao hơn là tốt hơn. Các cấu hình tương đối được liên kết với các giá trị cụ thể của Thời gian trung bình được vẽ trên trục x.
Dưới đây là những quan sát tổng thể từ các biểu đồ trên:

  • Hiệu suất tốt hơn tới 4% với SNC=Enabled.
  • Tính năng Tìm nạp trước phần mềm không ảnh hưởng đến hiệu suất.
  • Hiệu suất tốt hơn tới 2% với cấu hình Hiệu suất so với cấu hình DAPC và OS.

Sự kết luận

Trong nghiên cứu này, chúng tôi đã đánh giá tác động của các tùy chọn điều chỉnh BIOS khác nhau đối với hiệu suất khi sử dụng bộ xử lý Intel Xeon Gold 6230. Quan sát hiệu suất của các tùy chọn BIOS khác nhau trên các điểm chuẩn và ứng dụng khác nhau, kết luận sau đây:

  • Tìm nạp trước phần mềm không có tác động đáng kể đến hiệu suất đối với các bộ dữ liệu đã được thử nghiệm. Vì vậy, chúng tôi khuyên bạn nên để Trình tải trước phần mềm ở chế độ mặc định, tức là Đã bật
  • Với SNC=Enabled, hiệu suất tăng 2-4% trong Fluent và Stream, xấp xỉ. 1% trong WRF so với SNC = Đã tắt. Do đó, chúng tôi khuyên bạn nên kích hoạt SNC để đạt được hiệu suất tốt hơn.
  • Cấu hình hiệu suất tốt hơn 2-4% so với PerformancePerWattDAPC và PerformancePerWattOS. Do đó, chúng tôi đề xuất Hồ sơ hiệu suất cho HPC.

Bạn nên tắt Siêu phân luồng cho các cụm HPC có mục đích chung. Tùy thuộc vào các ứng dụng được sử dụng, lợi ích của tính năng này sẽ được kiểm tra và kích hoạt khi thích hợp.

Không được thảo luận trong nghiên cứu này là một RAS bộ nhớ có tên là Adaptive Double DRAM Device Correction ( ADDDC ) khả dụng khi hệ thống được định cấu hình với bộ nhớ có tổ chức DRAM x4 (DIMM 32 GB, 64 GB). ADDDC không khả dụng khi hệ thống có DIMM dựa trên x8 (8GB, 16GB) và không quan trọng trong các cấu hình đó. Đối với khối lượng công việc HPC, bạn nên đặt ADDDC thành tắt khi có sẵn dưới dạng tùy chọn có thể điều chỉnh .