Thiết kế được Dell xác thực cho Bộ lưu trữ HPC pixstor ( 6 )

Đặc tính hiệu suất

Giải pháp pixstor với HDMD (không mở rộng dung lượng ME484s) (2)

Các khối nhỏ ngẫu nhiên Hiệu suất IOzone N máy khách thành N tệp

Hiệu suất N máy khách ngẫu nhiên đến N tệp được đo bằng IOzone phiên bản 3.492. Kết quả kiểm tra thay đổi từ 16 đến 512 luồng, sử dụng 4 khối KiB để mô phỏng lưu lượng khối nhỏ. Số lượng luồng thấp hơn không được sử dụng vì chúng cung cấp ít thông tin về hiệu suất duy trì tối đa và thời gian thực hiện các lần đọc ngẫu nhiên có thể mất vài ngày cho một điểm dữ liệu (IOzone không cung cấp tùy chọn chạy ghi ngẫu nhiên riêng biệt từ các lần đọc). Lý do cho hiệu suất đọc ngẫu nhiên thấp là do không có đủ áp lực I/O để lập lịch hoạt động đọc kịp thời, do tác động kết hợp của hành vi của bộ lập lịch I/O mq-deadline trên hệ điều hành Linux và ME4 nội bộ phần mềm bộ điều khiển mảng, trì hoãn hoạt động đọc cho đến khi đạt đến ngưỡng.

Hiệu ứng bộ nhớ đệm đã được giảm thiểu bằng cách đặt nhóm trang GPFS có thể điều chỉnh thành 16 GiB trên máy khách và 32 GiB trên máy chủ và sử dụng ít nhất các tệp có kích thước gấp đôi kích thước đó. Hiệu suất IOzone tuần tự N máy khách đến N tệp  cung cấp lời giải thích đầy đủ về lý do tại sao phương pháp này có hiệu quả trên GPFS. 

Lệnh sau được sử dụng để chạy điểm chuẩn ở chế độ IO ngẫu nhiên cho cả ghi và đọc, trong đó  Chủ đề  là biến có số lượng luồng được sử dụng (từ 16 đến 512 tăng theo lũy thừa 2) và danh sách  luồng  là tệp phân bổ mỗi luồng trên một nút khác, 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.

./iozone -i0 -c -e -w -r 16M -s ${Size}G -t $Threads -+n -+m ./threadlist

./iozone -i2 -O -w -r 4K -s ${Size}G -t $Threads -+n -+m ./threadlist

Hình 19.     Hiệu suất ngẫu nhiên từ N đến N

Từ kết quả, chúng tôi thấy rằng hiệu suất ghi bắt đầu ở giá trị cao khoảng 12,8K IOPS và duy trì ổn định trên 12K IOPS. Hiệu suất đọc bắt đầu ở giá trị nhỏ 1,5K IOPS và tăng hiệu suất gần như tuyến tính với số lượng máy khách được sử dụng (lưu ý rằng số lượng luồng được nhân đôi cho mỗi điểm dữ liệu) cho đến khi đạt hiệu suất tối đa 18,4K IOPS ở 512 luồng, dường như đạt đến một cao nguyên. Như đã giải thích trước đây, việc sử dụng nhiều luồng hơn số lượng lõi trên 16 nút điện toán hiện tại (640) có thể phát sinh nhiều chuyển đổi ngữ cảnh hơn và các vấn đề liên quan khác có thể gây ra hiệu suất rõ ràng thấp hơn, trong đó các mảng trên thực tế có thể duy trì hiệu suất. Một thử nghiệm trong tương lai với nhiều nút tính toán hơn có thể kiểm tra hiệu suất đọc ngẫu nhiên mà 1024 luồng với IOzone có thể đạt được. Cũng,

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

Phần này cung cấp thông tin về hiệu suất siêu dữ liệu từ bản phát hành tháng 11 năm 2021 dựa trên HDMD sử dụng mảng ME4024. Tuy nhiên, người ta đã 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ị gắn trực tiếp NVMe. Các phần tiếp theo cung cấp thông tin về hiệu suất siêu dữ liệu trên mô-đun HDMD NVMe mới này với các máy chủ NVMe khác để lấy dữ liệu. Bản cập nhật giải pháp tiếp theo của bản phát hành sẽ cung cấp thông tin về hiệu suất siêu dữ liệu cho  mô-đun HDMD NVMe mới với dữ liệu trên  bộ nhớ dựa trên ME. Chương 7  và  Chương 8  cung cấp siêu dữ liệu cho mô-đun HDMD NVMe và dữ liệu trên tầng NVMe (máy chủ PowerEdge R650 và R750).

Hiệu suất siêu dữ liệu khi sử dụng mô-đun HDMD với một mảng ME4024 duy nhất được đo bằng MDtest phiên bản 3.3.0, với OpenMPI v4.1.2A1 để chạy điểm chuẩn trên 16 nút điện toán. 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ý.

Để so sánh chính xác giải pháp này với các giải pháp lưu trữ HPC khác của Dell, HDMD tùy chọn đã được sử dụng, với một mảng ME4024 duy nhất. 

HDMD này có thể hỗ trợ tối đa bốn mảng ME4024 và chúng tôi khuyên bạn nên tăng số lượng mảng ME4024 lên bốn trước khi thêm một mô-đun siêu dữ liệu khác. Các mảng ME4024 bổ sung dự kiến ​​sẽ tăng hiệu suất siêu dữ liệu một cách tuyến tính với mỗi mảng 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à cuối cùng CPU trở thành nút cổ chai và hiệu suất không tiếp tục tăng tuyến tính.

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 của 2) và  my_hosts.$Threads  là tệp tương ứng phân bổ mỗi 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 IO ngẫu nhiên, số lượng luồng tối đa được giới hạn ở 512 do không có đủ lõi cho 1024 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 tế 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ì tổng số tệp, số tệp trên mỗi thư mục và số luồng có thể ảnh hưởng đến kết quả hoạt động nên chúng tôi quyết định giữ cố định tổng số tệp ở 2 tệp MiB (2^21 = 2097152), số lượng tệp mỗi thư mục được cố định ở mức 1024 và số lượng thư mục thay đổi, do số lượng chuỗi thay đổi như trong bảng sau: 

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

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 20.     Hiệu suất siêu dữ liệu – các 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 về 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 với các thao tác thống kê và đọc đạt giá trị cao nhất ở 32 luồng với lần lượt là 5,34M thao tác/giây và 2,42M thao tác/giây. Thao tác xóa đạt tối đa 164,76K op/s ở 512 luồng và thao tác tạo đạt tối đa ở 256 luồng với 232,22K op/s. 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 2,9 triệu thao tác/giây đối với hoạt động thống kê và 2 triệu thao tác/giây đối với hoạt động đọc. Hoạt động tạo và xóa sẽ ổn định hơn khi chúng đạt đến mức ổn định: và duy trì trên 130K thao tác/giây đối với hoạt động xóa vẫn ở trên 130K thao tác/giây và hoạt động tạo duy trì trên 146K thao tác/giây.

Hiệu suất siêu dữ liệu với MDtest bằng 4 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ỏ 4 KiB thay vì các tệp trống. 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 của 2) và  my_hosts.$Threads  là tệp tương ứng phân bổ mỗi 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 4K -e 4K

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

Hệ thống cung cấp kết quả tốt cho chỉ số và hoạt động, đạt giá trị cao nhất ở 256 luồng với 8,62M thao tác/giây và 5,65M thao tác/giây tương ứng. Thao tác xóa đạt mức tối đa là 285,86K op/s và thao tác tạo đạt mức cao nhất là 70,76K op/s, cả hai đều ở 256 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; các hoạt động tạo tiếp tục tăng khi số lượng luồng tăng lên và các hoạt động xóa giảm dần sau khi đạt đến giá trị cao nhất.

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

Tóm lược

Giải pháp hiện tại có thể mang lại hiệu suất tốt, dự kiến ​​sẽ ổn định bất kể không gian sử dụng (vì hệ thống được định dạng ở chế độ phân tán), như có thể thấy trong  Bảng 5 . Hơn nữa, giải pháp mở rộng tuyến tính về dung lượng và hiệu suất khi thêm nhiều mô-đun nút lưu trữ và có thể mong đợi mức tăng hiệu suất tương tự từ HDMD tùy chọn với một ME4024. 

Bảng 5.       Hiệu suất cao nhất và duy trì

điểm chuẩn

Hiệu suất cao điểm

hiệu suất bền vững

Viết

Đọc

Viết

Đọc

Máy khách N tuần tự lớn đến N tệp

20,5 GB/giây

23GB/giây

19,8 GB/giây

21GB/giây

Máy khách N tuần tự lớn cho một tệp được chia sẻ

20,2 GB/giây

21,7 GB/giây

18GB/giây

21,3 GB/giây

Khối nhỏ ngẫu nhiên N máy khách thành N tệp

18,4K IOps

12,4K IOps

18,4K IOps

12. K IOps

Siêu dữ liệu Tạo tệp trống

Hoạt động 232,2K

Hoạt động 150K

Siêu dữ liệu Thống kê các tệp trống

Hoạt động 5,34M

2,9 triệu hoạt động

Siêu dữ liệu Đọc các tệp trống

2,73M Hoạt động

Hoạt động 2M

Siêu dữ liệu Xóa các tệp trống

189,2K hoạt động

Chiến dịch 13K

Siêu dữ liệu Tạo 4 tệp KiB

70,76K hoạt động

Hoạt động 61K

Tệp siêu dữ liệu Stat 4 KiB

8,62 triệu hoạt động

Hoạt động 4,1M

Siêu dữ liệu Đọc 4 tệp KiB

Hoạt động 5,65M

3,2 triệu hoạt động

Siêu dữ liệu Xóa 4 tệp KiB

285,9K hoạt động

231,7K hoạt động