Lưu trữ do HPC xác định bằng phần mềm với PixStor (6)

Các khối nhỏ ngẫu nhiên Hiệu suất IOzone N Máy khách đến 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. Các thử nghiệm được thực hiện đa dạng từ một luồng cho đến 512 luồng. Điểm chuẩn này đã sử dụng 4 khối KiB để mô phỏng lưu lượng khối nhỏ.

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 16GiB trên máy khách và 32 GiB trên máy chủ và sử dụng các tệp có kích thước gấp hai lần kích thước đó. Phần có tiêu đềHiệu suất IOzone tuần tự N Máy khách đến N tệp bên trêncó một lời giải thích đầy đủ hơn về lý do tại sao điều này có hiệu quả trên GPFS.

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

N đến N hiệu suất ngẫu nhiên

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

Từ kết quả, chúng ta có thể quan sát thấy rằng hiệu suất ghi bắt đầu ở giá trị cao gần 12,8K IOPS và tăng dần lên mức tối đa 12,8K IOPS ở 256 luồng. Mặt khác, hiệu suất đọc bắt đầu nhỏ ở mức 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 (hãy nhớ 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 là 18,4K IOPS ở 512 chủ đề có dấu hiệu tiếp cận tối đa. Tuy nhiên, như đã giải thích trước đây, việc sử dụng nhiều luồng hơn trên 16 nút tính toán hiện tại so với số lượng lõi (640), có hạn chế là phát sinh nhiều chuyển đổi ngữ cảnh hơn, điều này dường như hạn chế 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 có thể đạt được với 1024 luồng bằng IOzone.

 

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

Hiệu suất siêu dữ liệu được đo bằng MDtest phiên bản 3.3.0, được hỗ trợ bởi OpenMPI v4.1.2A1 để chạy điểm chuẩn trên 16 nút điện toán. Các thử nghiệm được thực hiện đ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), nhận số lần tạo, thống kê, đọc và xóa mà giải pháp có thể xử lý.

Để đánh giá đúng giải pháp so với các giải pháp lưu trữ HPC khác của Dell Technologies, mô-đun siêu dữ liệu có nhu cầu cao tùy chọn đã được sử dụng, với một mảng PowerVault ME4024 duy nhất.

Mô-đun siêu dữ liệu có nhu cầu cao này có thể hỗ trợ tối đa bốn mảng PowerVault ME4024 và bạn nên tăng số lượng mảng PowerVault ME4024 lên 4 trước khi thêm một mô-đun siêu dữ liệu khác. Các mảng PowerVault 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, ngoại trừ có thể đối với các hoạt động Stat (và Đọc đối với các tệp trống), vì số lượng của chúng rất cao, tại một số điểm, CPU sẽ trở thành nút cổ chai và hiệu suất sẽ không tiếp tục tăng tuyến tính.

Lệnh sau được sử dụng để thực thi điểm chuẩn, trong đó Chủ đề là biến có số lượng chủ đề được sử dụng (1 đến 512 tăng dần theo lũy thừa của hai) 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 vòng tròn để trải đều chúng trên 16 nút điện toán. Tương tự như điểm chuẩn I/O 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 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ố lượng tệp trên mỗi thư mục và số lượng luồng, nên chúng tôi đã quyết định giữ cố định tổng số tệp thành 2 tệp MiB (2^21 = 2097152), số số 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 3

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

Số của chủ đề

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

Tổng số tệp

000 1

2048

2.097.152

000 2

1024

2.097.152

000 4

0 512

2.097.152

000 8

0 256

2.097.152

00 16

0 128

2.097.152

00 32

00 64

2.097.152

00 64

00 32

2.097.152

0 128

00 16

2.097.152

0 256

000 8

2.097.152

0 512

000 4

2.097.152

1024

000 2

2.097.152

Hiệu suất siêu dữ liệu - tệp trống

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

Đầu tiên, 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; nếu không, một số hoạt động sẽ trông giống như một đường phẳng gần bằng 0 trên biểu đồ bình thường. Biểu đồ nhật ký với cơ số 2 có thể phù hợp hơn, vì số luồng được tăng theo lũy thừa của 2, nhưng biểu đồ như vậy sẽ trông khá giống nhau và mọi người có xu hướng xử lý và ghi nhớ các số tốt hơn dựa trên lũy thừa của 10.

Hệ thống lưu trữ đạt được kết quả rất tốt với các thao tác Stat và Read đạt giá trị cao nhất ở 32 luồng với lần lượt là 5,34M Hoạt động/giây và 2,42M Hoạt động/giây. Hoạt động xóa đạt mức tối đa 164,76K Hoạt động/giây ở 512 luồng và hoạt động Tạo đạt mức tối đa ở 256 luồng với 232,22K Hoạt động/giây. 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 Hoạt động/giây đối với Thống kê và 2 triệu hoạt động/giây đối với Đọc. 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 Xóa và 146K thao tác/giây đối với Tạo .

 

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 hệt với thử nghiệm trước, ngoại trừ việc thay vì các tệp trống, các tệp nhỏ 4KiB đã được sử dụng. Lệnh sau được sử dụng để thực thi điểm chuẩn, trong đó Chủ đề là biến có số lượng chủ đề được sử dụng (1 đến 512 tăng dần theo lũy thừa của hai) 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 vòng tròn để trải đều chúng trên 16 nút điện 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

Hiệu suất siêu dữ liệu - tệp nhỏ (4K)

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

Hệ thống nhận được kết quả rất tốt cho các hoạt động Chỉ số và Loại bỏ đạt giá trị cao nhất ở 256 luồng với lần lượt là 8,62M thao tác/giây và 5,65M thao tác/giây. Hoạt động loại bỏ đạt mức tối đa là 285,86K thao tác/giây và hoạt động Tạo đạt mức cao nhất với 70,76K thao tác/giây, 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 sẽ không giảm xuống dưới 4 triệu thao tác/giây đối với Chỉ số và 3,2 triệu thao tác/giây đối với Đọc. Tạo và xóa ít biến đổi hơn, số lần tạo tiếp tục tăng khi số lượng chuỗi tăng lên và số lần 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 với một PowerVault ME4024 duy nhất, nên hiệu suất sẽ tăng đối với mỗi mảng PowerVault 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 tệp đó, các mục tiêu dữ liệu trên PowerVault ME4084 sẽ đượ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 đó .

 

Bản tóm tắt

Giải pháp hiện tại có thể mang lại hiệu suất khá 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 4 MDtest phân phối các tập tin trên các thư mục. 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ừ mô-đun siêu dữ liệu có nhu cầu cao tùy chọn.

Bảng 4. 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

N máy khách 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

Khách hàng 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

Các khối nhỏ ngẫu nhiên N máy khách đến N tệp

18,4K IOPS

12,4K IOPS

18,4K IOPS

12,4K 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

Hoạt động 130K

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

70,76K hoạt động

Hoạt động 61K

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

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

Hoạt động 4,1M

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

Hoạt động 5,65M

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

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

285,9K hoạt động

231,7K hoạt động