Dell Validated Design cho HPC pixstor Storage—Giải pháp chung với Kalray (11)

Hiệu suất siêu dữ liệu PowerEdge R650 với MDtest bằng các tệp trống

Bản phát hành này khác với các bản phát hành trước, trong đó mô-đun HDMD dựa trên mảng PowerVault ME4024. Chúng tôi đã quyết định thay thế mô-đun HDMD, dựa trên hai máy chủ PowerEdge R750 và một hoặc nhiều mảng ME4024, bằng một hoặc nhiều cặp máy chủ NVMe, dựa trên máy chủ PowerEdge R650 với 10 thiết bị NVMe được kết nối trực tiếp. Các nút NVMe khác như máy chủ PowerEdge R750 và PowerEdge R7525 cũng có thể được sử dụng làm HDMD, nhưng không kết hợp các mô hình khác nhau cho một phiên bản hệ thống tệp. Hiệu suất siêu dữ liệu trên mô-đun HDMD NVMe mới với bốn máy chủ PowerEdge R650 NVMe cho dữ liệu được ghi lại trong phần này (hiệu suất siêu dữ liệu từ các máy chủ PowerEdge R750 và PowerEdge R7525 không được mô tả).

Hiệu suất siêu dữ liệu được đo bằng MDtest phiên bản 3.3.0, cùng với  OpenMPI  4.1.4rc1 để chạy điểm chuẩn trên 16 nút tính toán, truy cập dữ liệu hệ thống tệp được lưu trữ trên bốn mảng lưu trữ ME5084. Các bài kiểm tra mà chúng tôi đã chạy đa dạng từ một luồng cho đến 512 luồng. Điểm chuẩn chỉ được sử dụng cho các tệp (không có siêu dữ liệu thư mục), lấy số lượng hoạt động tạo, thống kê, đọc và xóa mà giải pháp có thể xử lý.

Một số HDMD trên Mô-đun NVMe (cặp NVMe R650) có thể được sử dụng để tăng số lượng tệp được hỗ trợ (các nút) và tăng hiệu suất siêu dữ liệu với mỗi cặp máy chủ bổ sung. Một ngoại lệ đối với sự gia tăng này có thể là các thao tác thống kê (và thao tác đọc đối với các tệp trống) vì số lượng của chúng cao và CPU trở thành nút cổ chai và hiệu suất không tiếp tục tăng (cần thử nghiệm với các mô-đun HDMD ở chế độ để xác minh hoặc loại bỏ khẳng định này ).

Lệnh sau được sử dụng để chạy điểm chuẩn, trong đó  biến Chủ  đề là số lượng luồng được sử dụng (1 đến 512 tăng dần theo lũy thừa 2) và  my_hosts.$Threads  là tệp tương ứng đã phân bổ từng luồng trên một nút khác nhau, sử dụng phương pháp quay vòng để trải chúng đồng nhất trên 16 nút tính toán. Giống như điểm chuẩn IOR, số lượng luồng tối đa được giới hạn ở 512 vì không có đủ lõi cho hơn 640 luồng và việc chuyển ngữ cảnh có thể ảnh hưởng đến kết quả, báo cáo một con số thấp hơn hiệu suất thực của giải pháp.

mpirun –allow-run-as-root -np $Threads –hostfile my_hosts.$Threads –map-by node –mca btl_openib_allow_ib 1 –oversubscribe –prefix /usr/mpi/gcc/openmpi-4.1.2a1 / usr/local/bin/mdtest -v -d /mmfs1/perf/mdtest -P -i 1 -b $Directories -z 1 -L -I 1024 -u -t -F

Vì kết quả hiệu suất có thể bị ảnh hưởng bởi tổng số IOP, số tệp trên mỗi thư mục và số luồng, nên chúng tôi quyết định giữ nguyên tổng số tệp thành 2 tệp Mi (2^21 = 2097152), số lượng tệp các tệp trên mỗi thư mục được cố định ở mức 1024 và số lượng thư mục thay đổi khi số lượng luồng thay đổi như trong bảng sau:

Bảng 8.       Phân phối tệp MDtest trên thư mục

Số của chủ đề

Số lượng thư mục trên mỗi chủ đề

  Tổng số tệp

1

2048

2.097.152

2

1024

2.097.152

4

512

2.097.152

số 8

256

2.097.152

16

128

2.097.152

32

64

2.097.152

64

32

2.097.152

128

16

2.097.152

256

số 8

2.097.152

512

4

2.097.152

1024

2

2.097.152

Hình 32.     Hiệu suất siêu dữ liệu – tệp trống

Lưu ý rằng thang đo được chọn là logarit với cơ số 10, để cho phép so sánh các hoạt động có sự khác biệt theo một số bậc độ lớn; mặt khác, một số hoạt động xuất hiện giống như một đường phẳng gần bằng 0 trên biểu đồ bình thường. Biểu đồ logarit với cơ số 2 phù hợp hơn vì số luồng tăng theo lũy thừa của 2. Biểu đồ như vậy trông giống nhau, nhưng mọi người có xu hướng nhận thức và ghi nhớ các số dựa trên lũy thừa của 10 tốt hơn.

Hệ thống cung cấp kết quả tốt cho các hoạt động thống kê đạt giá trị cao nhất ở 64 luồng với 10 triệu thao tác/giây. Hoạt động đọc đạt mức cao nhất là 4M thao tác/giây ở 64 luồng (lưu ý rằng chúng tôi đang đọc các tệp trống). Hoạt động xóa đạt mức tối đa là 453,4K Hoạt động/giây và hoạt động tạo đạt mức cao nhất là 301,8K hoạt động/giây, cả hai đều ở 32 luồng. Hoạt động thống kê và đọc có nhiều biến đổi hơn, nhưng khi chúng đạt đến giá trị cao nhất, hiệu suất không giảm xuống dưới 4 triệu thao tác/giây đối với hoạt động thống kê và 3,2 triệu thao tác/giây đối với hoạt động đọc. Thao tác tạo và xóa ít thay đổi hơn. Thao tác tạo tiếp tục tăng khi số lượng luồng tăng lên và thao tác xóa giảm dần sau khi đạt đến giá trị cao nhất.

Bởi vì những con số này dành cho một mô-đun siêu dữ liệu với một cặp siêu dữ liệu PowerEdge R650 NVMe duy nhất, nên hiệu suất sẽ tăng đối với mỗi cặp PowerEdge R650 NVMe bổ sung, tuy nhiên, chúng tôi không thể giả định mức tăng tuyến tính cho tất cả các hoạt động. Trừ khi toàn bộ tệp vừa với inode của một tệp như vậy, các mục tiêu dữ liệu trên các thiết bị khác được sử dụng để lưu trữ các tệp nhỏ, hạn chế hiệu suất ở một mức độ nào đó.

Hiệu suất siêu dữ liệu PowerEdge R650 với MDtest bằng 3 tệp KiB

  • Thử nghiệm này gần giống với thử nghiệm trước, ngoại trừ việc chúng tôi đã sử dụng các tệp nhỏ 3 KiB thay vì các tệp trống với giả định rằng các tệp phù hợp với các nút và do đó tránh truy cập các thiết bị khác để lưu trữ dữ liệu. Lệnh sau được sử dụng để chạy điểm chuẩn, trong đó  biến Chủ  đề là số lượng luồng được sử dụng (1 đến 512 tăng dần theo lũy thừa 2) và  my_hosts.$Threads  là tệp tương ứng đã phân bổ từng luồng trên một nút khác nhau, sử dụng phương pháp quay vòng để trải chúng đồng nhất trên 16 nút tính toán.

    mpirun –allow-run-as-root -np $Threads –hostfile my_hosts.$Threads –map-by node –mca btl_openib_allow_ib 1 –oversubscribe –prefix /usr/mpi/gcc/openmpi-4.1.2a1 / usr/local/bin/mdtest -v -d /mmfs1/perf/mdtest -P -i 1 -b $Directories -z 1 -L -I 1024 -u -t -F -w 3K -e 3K

    Hình 33.     Hiệu suất siêu dữ liệu – tệp nhỏ (3 K)

    Giờ đây, một số dữ liệu phải được chuyển cho mỗi tệp, số hiệu suất giảm, mặc dù các tệp phải vừa với các nút. Các thao tác thống kê và đọc cho thấy những con số tốt, đạt giá trị cao nhất ở 256 luồng với 9,2M thao tác/giây và xấp xỉ 4M thao tác/giây tương ứng. Các thao tác xóa đạt mức tối đa là 431 K op/s và các thao tác tạo đạt mức cao nhất là 211 K op/s, cả hai đều ở 64 luồng. Hoạt động thống kê và đọc có nhiều biến đổi hơn, nhưng khi chúng đạt đến giá trị cao nhất, hiệu suất không giảm xuống dưới 4 triệu thao tác/giây đối với hoạt động thống kê và 2,4 triệu thao tác/giây đối với hoạt động đọc. Các thao tác tạo và xóa ít thay đổi hơn, cả hai đều tiếp tục tăng cho đến khi đạt giá trị cao nhất rồi giảm dần sau đó.

    Bởi vì những con số này dành cho một mô-đun siêu dữ liệu với một cặp siêu dữ liệu PowerEdge R650 NVMe duy nhất, nên hiệu suất sẽ tăng đối với mỗi cặp PowerEdge R650 NVMe bổ sung, tuy nhiên, chúng tôi không thể giả định mức tăng tuyến tính cho tất cả các hoạt động. Trừ khi toàn bộ tệp vừa với inode cho các tệp như vậy, các mục tiêu dữ liệu trên các thiết bị khác được sử dụng để lưu trữ các tệp nhỏ, hạn chế hiệu suất ở một mức độ nào đó.