2020년 4월 HPC and AI Innovation Lab의 Mario MarioEgos 작성
솔루션 구성 요소 |
릴리스 시 |
테스트 베드 |
|
내부 연결 |
Dell Networking S3048-ON 기가비트 이더넷 |
||
데이터 스토리지 서브시스템 |
Dell EMC PowerVault ME4084 1~4개 1x~4개의 Dell EMC PowerVault ME484(ME4084당 1개) |
||
고가용성 메타데이터 스토리지 서브시스템(선택 사항) |
1~2개의 Dell EMC PowerVault ME4024(필요한 경우 4개의 ME4024, 대형 구성만 해당) |
||
RAID 스토리지 컨트롤러 |
12Gbps SAS |
||
구성된 용량 |
원시: 8064TB(7334TiB 또는 7.16 PiB) 포맷 ~ 6144GB(5588TiB 또는 5.46 PiB) |
||
프로세서 |
Gateway |
인텔 제온 골드 6230 2.1G, 20C/40T, 10.4GT/s, 27.5M 캐시, 터보, HT(125W) DDR4-2933 2개 |
N/A |
높은 수요의 메타데이터 |
2개의 인텔 제온 골드 6136@ 3.0GHz, 12코어 |
||
스토리지 노드 |
2개의 인텔 제온 골드 6136@ 3.0GHz, 12코어 |
||
관리 노드 |
인텔 제온 골드 5220 2.2G, 18C/36T, 10.4GT/s, 24.75M 캐시, 터보, HT(125W) DDR4-2666 2개 |
2개의 인텔 제온 골드 5118@ 2.30GHz, 12코어 |
|
메모리 |
Gateway |
12개의 16GiB 2933MT/s RDIMM(192GiB) |
N/A |
높은 수요의 메타데이터 |
24개의 16GiB 2666MT/s RDIMM(384GiB) |
||
스토리지 노드 |
24개의 16GiB 2666MT/s RDIMM(384GiB) |
||
관리 노드 |
16GB DIMM 12개, 2666MT/s(192GiB) |
12개의 8GiB 2666MT/s RDIMM(96GiB) |
|
운영 체제 |
Red Hat Enterprise Linux 7.6 |
Red Hat Enterprise Linux 7.7 |
|
커널 버전 |
3.10.0-957.12.2.el7.x86_64 |
3.10.0-1062.9.1.el7.x86_64 |
|
PixStor 소프트웨어 |
5.1.0.0 |
5.1.1.4 |
|
GPFS(Spectrum Scale) |
5.0.3 |
5.0.4-2 |
|
고성능 네트워크 연결 |
Mellanox ConnectX-5 듀얼 포트 InfiniBand EDR/100GbE 및 10GbE |
Mellanox ConnectX-5 InfiniBand EDR |
|
고성능 스위치 |
Mellanox SB7800(HA – 이중화) 2개 |
Mellanox SB7700 1개 |
|
OFED 버전 |
Mellanox OFED-4.6-1.0.1.0 |
Mellanox OFED-4.7-3.2.9 |
|
로컬 디스크(OS 및 분석/모니터링) |
관리 노드를 제외한 모든 서버 OS용 480GB SSD SAS3(RAID1 + HS) 3개 PERC H730P RAID 컨트롤러 관리 노드 OS용 480GB SSD SAS3(RAID1 + HS) 3개 PERC H740P RAID 컨트롤러 |
관리 노드를 제외한 모든 서버 OS용 300GB 15K SAS3(RAID 1) 2개 PERC H330 RAID 컨트롤러 관리 노드 OS 및 PERC H740P RAID 컨트롤러 |
|
시스템 관리 |
iDRAC 9 Enterprise + DellEMC OpenManage |
iDRAC 9 Enterprise + DellEMC OpenManage |
클라이언트 노드 수 |
16 |
클라이언트 노드 |
C6320 |
클라이언트 노드당 프로세서 |
인텔(R) 제온(R) 골드 E5-2697v4 18코어 2.30GHz 2개 |
클라이언트 노드당 메모리 |
12 x 16GiB 2400MT/s RDIMM |
BIOS |
2.8.0 |
OS 커널 |
3.10.0-957.10.1 |
GPFS 버전 |
5.0.3 |
./iozone -i0 -c -e -w -r 8M -s 128G -t $Threads -+n -+m ./threadlist
./iozone -i1 -c -e -w -r 8M -s 128G -t $Threads -+n -+m ./threadlist
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --mca btl_openib_allow_ib 1 --mca pml ^ucx --oversubscribe --prefix /mmfs1/perftest/ompi /mmfs1/perftest/lanl_ior/bin/ior -a POSIX -v -i 1 -d 3 -e -k -o /mmfs1/perftest/tst.file -w -s 1 -t 8m -b 128G
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --mca btl_openib_allow_ib 1 --mca pml ^ucx --oversubscribe --prefix /mmfs1/perftest/ompi /mmfs1/perftest/lanl_ior/bin/ior -a POSIX -v -i 1 -d 3 -e -k -o /mmfs1/perftest/tst.file -r -s 1 -t 8m -b 128G
성능 결과는 총 IOPS 수, 디렉토리당 파일 수 및 스레드 수에 따라 영향을 받을 수 있으므로 총 파일 수를 2개의 MiB 파일(2^21 = 2097152), 1024에서 수정된 디렉토리당 파일 수, 그리고 표 3에 표시된 대로 변경된 스레드 수에 따라 디렉토리 수가 달라지도록 결정되었습니다.mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --prefix /mmfs1/perftest/ompi --mca btl_openib_allow_ib 1 /mmfs1// perftest/lanl_ior/bin/mdtest -v -d /mmfs1/perftest/ -i 1 -b $Directories -z 1 -L -I 1024 -y -u -t -F
스레드 수 |
스레드당 디렉토리 수 |
총 파일 수 |
1 |
2048 |
2,097,152 |
2 |
1024 |
2,097,152 |
4 |
512 |
2,097,152 |
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 |
8 |
2,097,152 |
512 |
4 |
2,097,152 |
1024 |
2 |
2,097,152 |
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --prefix /mmfs1/perftest/ompi --mca btl_openib_allow_ib 1 /mmfs1/perftest/lanl_ior btl_openib_allow_ib/bin/mdtest -v -d /mmfs1/perftest/ -i 1 -b $Directories -z 1 -L -I 1024 -y -u -t -F -w 4K -e 4K
그림 6: 메타데이터 성능 - 소규모 파일(4K)
시스템은 각각 8.2M op/s 및 400K op/s를 사용하여 256개 스레드에서 최대값에 도달한 통계 및 제거 작업에 매우 좋은 결과를 제공합니다. 읽기 작업은 최대 44.8K op/s를 달성하고 512개 스레드에서 모두 68.1K op/s로 최대 성능을 달성했습니다. 통계 및 제거 작업은 변동성이 더 높지만 최대값에 도달하면 통계의 경우 성능이 3M op/s 미만으로, 제거 시 280K op/s 미만으로 떨어지지 않습니다. 생성 및 읽기는 가변성이 낮으며 스레드 수가 증가함에 따라 계속 증가합니다. 관찰할 수 있듯이 용량 확장의 추가 드라이브는 메타데이터 성능에 미미한 변경 사항만 제공합니다.
이 수치는 단일 ME4024가 있는 메타데이터 모듈용이므로 추가 ME4024 어레이마다 성능이 향상되지만 각 작업에 대해 선형적 증가를 가정할 수는 없습니다. 전체 파일이 이러한 파일의 inode 내부에 맞지 않는 한 ME4084s의 데이터 타겟은 4K 파일을 저장하는 데 사용되므로 성능이 어느 정도 제한됩니다. inode 크기는 4KiB이고 메타데이터를 저장해야 하므로 3 KiB 정도의 파일만 내부에 적합하며 데이터 타겟을 사용하는 파일보다 큰 파일만 사용할 수 있습니다.
용량이 확장된 솔루션은 랜덤 액세스뿐만 아니라 순차적 성능에도 성능을 향상시킬 수 있었습니다. 산점 모드는 랜덤 액세스로 작동하며 디스크가 더 많을수록 개선이 가능하기 때문에 예상된 것입니다. 표 4에서 개요할 수 있는 이 성능은 거의 가득 찼을 때까지 빈 파일 시스템에서 안정적으로 작동해야 합니다. 또한 더 많은 스토리지 노드 모듈이 추가됨에 따라 용량과 성능이 선형적으로 확장되며, 수요가 많은 메타데이터 모듈(선택 사항)에서도 비슷한 성능 향상을 기대할 수 있습니다. 이 솔루션은 HPC 고객에게 많은 상위 500개 HPC 클러스터에서 사용되는 매우 신뢰할 수 있는 병렬 파일 시스템을 제공합니다. 또한 탁월한 검색 기능, 고급 모니터링 및 관리 기능을 제공하며, 선택적 게이트웨이를 추가하면 NFS, SMB 및 기타 클라이언트와 같은 유비쿼터스 표준 프로토콜을 통해 필요에 따라 파일을 공유할 수 있습니다.
표 4 최고 및 지속적인 성능
|
최고 성능 |
지속적인 성능 |
||
쓰기 |
읽기 |
쓰기 |
읽기 |
|
N 파일에 대한 대규모 순차 N 클라이언트 |
20.4GB/s |
24.2GB/s |
20.3GB/s |
24GB/s |
단일 공유 파일에 대한 대규모 순차적 N 클라이언트 |
19.3GB/s |
24.8GB/s |
19.3GB/s |
23.8GB/s |
랜덤 소형 블록 N 클라이언트에서 N 파일로 |
40KIOps |
25.6KIOps |
40.0KIOps |
19.3KIOps |
메타데이터 빈 파일 생성 |
169.4K IOps |
123.5K IOps |
||
메타데이터 통계 빈 파일 |
1,100만 IOps |
3.2M IOps |
||
메타데이터 빈 파일 읽기 |
4.7M IOps |
2.4M IOps |
||
메타데이터 비어 있는 파일 제거 |
170.6K IOps |
156.5K IOps |
||
메타데이터 생성 4KiB 파일 |
68.1K IOps |
68.1K IOps |
||
메타데이터 Stat 4KiB 파일 |
8.2M IOps |
3M IOps |
||
메타데이터 읽기 4KiB 파일 |
44.8K IOps |
44.8K IOps |
||
메타데이터 제거 4KiB 파일 |
400K IOps |
280K IOps |
이 솔루션은 Cascade Lake CPU와 더 빠른 RAM을 사용하여 출시될 예정이므로 시스템에 최종 구성이 완료되면 일부 성능 스폿 검사가 수행됩니다. 또한 ME4024s 및 4KiB 파일이 2개 이상인 고가용성 메타데이터 모듈(선택 사항)을 테스트하여 데이터 타겟이 관련될 때 메타데이터 성능이 어떻게 확장되는지 더 잘 문서화해야 합니다. 또한 게이트웨이 노드의 성능을 측정하고 새로운 블로그 또는 백서에서 해당 지점 검사의 관련 결과와 함께 보고합니다. 마지막으로, 더 많은 기능을 제공하기 위해 더 많은 솔루션 구성 요소를 테스트하고 출시할 계획입니다.