본문으로 이동
테크 블로그

디스어그리게이티드 스토리지 솔루션(Disaggregated Storage Solution)을 사용한 AI/ML용 고성능 SSD: 가능성을 보여주는 성능 테스트 결과

  • 메일
현대 조직에서는 상당한 분량의 구조화되지 않은 데이터를 생산하며, 이는 10년 전만 해도 기업용 스토리지 공급업체에서 예측하지 못했던 현실입니다. 당시 기존의 파일 시스템과 스토리지 솔루션은 컴퓨터가 디스크에 저장된 데이터를 예측 가능하고 일관되게 검색할 수 있는 인터페이스를 제공했으며, 스토리지 요구 사항에 맞게 하드 드라이브를 교체하기만 하면 되었습니다. 그 당시에 SSD는 스토리지 시장의 바로 그 틈새시장을 차지했습니다. 그러나 시간이 지나면서 HDD와 SSD 시장이 역전되기 시작했습니다. 두 가지 기술 모두 운영체제에 대한 블록 인터페이스를 지원하기 때문에 HDD에서 동작하는 소프트웨어는 마찬가지로 SSD에서도 동작할 수 있습니다. 하지만 두 미디어의 차이는 점점 벌어졌습니다. HDD용 소프트웨어 개발자는 SSD에는 적용되지 않는 미디어의 성능을 가정했습니다. 기대 성능을 구현하기 위해 가능한 한 많은 HDD를 추가하는 것이 일반적입니다. 지난 10년동안↗ SSD 가격이 떨어졌고, 개발자들은 SSD 성능을 활용할 수 있는 새로운 방법을 지속적으로 모색하고 있습니다. SSD가 계속해서 HDD 시장에 더 깊이 침투하고 있지만, 한 가지 사용 사례만큼은 채택되지 않았는데, 그것은 대용량 스토리지입니다. 하지만 데이터 분석, 특히 AI/ML 분야에서 올플래시 대용량 스토리지 사용 사례가 엄청난 속도로 급부상하고 있습니다. 이러한 사용 사례는 예측 분석과 선제적 의사 결정에 AI/ML을 활용할 수 있는 엄청난 새로운 기회를 조직에 제공합니다. 이것이 기업에 가져다 주는 이점이 비용을 훨씬 상회하며 결과적으로 더 높은 투자 대비 효과(ROI)를 가져옵니다. SDD 사용에 대한 총 소유 비용(TCO) 또한 주목하지 않을 수 없습니다. 필요한 서버의 수가 상대적으로 더 적기 때문에 자본 지출(CAPEX)과 운영비용(OPEX)이 모두 감소하게 됩니다. 고용량 SSD로 전환하면 관리가 간소해지고 소비 전력이 줄어들어 상당한 절감 효과를 얻을 수 있습니다. 여기에서 다음과 같은 질문을 해 볼 수 있습니다. 왜 사람들은 대규모 사용 사례를 위해 아직도 16TB나 32TB SSD로 전환하지 않았을까요? 삼성전자에서 사용자 및 협력사와의 논의를 통해 알아낸 바에 따르면, SSD로 완전히 전환하지 않는 주된 이유는 일반적으로 대용량 올플래시 스토리지가 아직 새로운 개념이기 때문입니다. 대부분은 원래 HDD용으로 설계되거나 초기 SSD 채택을 위해 나중에 새로 장착할 수 있게 만든 기존의 스토리지 솔루션을 계속 사용합니다. 안타깝게도, 이러한 솔루션은 대용량 올플래시 사용 사례에 맞게 설계되지 않았습니다. 그 용량을 효과적으로 사용하기 위해 조직에서는 SSD가 충분한 시스템 수준의 성능을 제공하는지 확인해야 합니다. 과연 충분한 성능을 제공할까요? 만약 그러한 성능을 제공하지 못한다면 무엇이 이를 가로막고 있을까요? 디스어그리게이티드 스토리지로 SSD 성능 문제 해결 삼성전자의 MSL↗(Memory Solutions Lab)은 최신 스토리지 솔루션에 영향을 미치는 시스템 수준의 문제 검토를 전문으로 하며, 현재 디스어그리게이티드/컴포저블 아키텍처, 가속 컴퓨팅, ML 및 스트리밍용 스토리지, 네트워크 기반 이종 컴퓨팅 및 CXL, 컴퓨테이셔널 스토리지, 이더넷 SSD, 오브젝트 스토리지, 대용량 스토리지와 관련된 스토리지 시각화/컨테이너화 등의 여러 프로젝트에 참여하고 있습니다. MSL의 시니어 디렉터 Mayank Saxena는 POSIX 기반 파일 시스템과 병렬 파일 시스템(pNFS)에도 몇 가지 중대한 문제가 있다고 이야기합니다. “대부분의 문제는 메타 데이터와 페타바이트(PB) 규모의 데이터를 수용하기 위한 규모 조정 문제를 다루고 있습니다. NFS는 예를 들어 1 페타바이트 미만의 소규모에서는 잘 작동하지만, 스토리지 시스템의 용량이 커지면 불안정해집니다.” 아래의 표는 상대적인 성능 저하를 보여줍니다.
MSL에서는 이 문제를 해결하기 위해, 시간이 지남에 따라 확장 가능한 고속 네트워킹에 대해 초고도 지속 대역폭을 유지해야 하는 대규모(100 페타바이트) AI/ML 트레이닝 프로젝트에서 고객사와 함께 대안적 스토리지 솔루션을 모색하고 있습니다. 이 고객은 성능과 용량뿐만 아니라 설치 공간을 적게 차지하는 솔루션을 필요로 합니다. 결과적으로, 삼성전자의 오픈 소스 디스어그리게이티드 스토리지 솔루션(DSS)↗은 이러한 필요조건을 충족할 수 있었습니다. 이 프로젝트는 오브젝트 스토리지용 Amazon S3 호환 인터페이스를 제공하며, 상용 하드웨어와 고용량 SSD를 최대한 활용할 수 있도록 엑사바이트급 확장을 염두에 두고 설계되었습니다. MSL에서 오브젝트 스토리지를 선택한 이유는 무엇일까요? 무엇보다, 많은 최신 AI 애플리케이션이 기계 학습에서 생성되는 데이터를 처리하며, 이러한 데이터는 종종 오브젝트로 저장됩니다. MSL에서는 여러 스토리지 노드에서 단일 네임스페이스를 관리하는 복잡성에 대해 고심하는 대신, 각 노드에 자체 파일 시스템을 남겨두고 단일 오브젝트 스토리지를 통해 데이터를 관리하는 다른 접근 방식을 테스트했습니다. 이러한 방식을 통해 쿠버네티스(Kubernetes)와 같은 외부 오케스트레이션 시스템이 데이터 배포를 조정할 수 있습니다. 이 사용 사례에서 기대 성능을 구현하는 문제는 SSD에 있지 않습니다. 오히려 메타데이터와 파일 시스템이 성능을 둔화시킵니다. 오브젝트 스토리지를 사용하면 사용자는 대형 데이터 블록을 관리하지 않아도 되지만, 여러 디스크에 더 쉽게 배포 및 복제될 수 있는 소형 데이터 스토리지를 관리해야 합니다. 이러한 방식의 스토리지 관리는 데이터 보호 로직을 드라이브가 아니라 데이터 자체에 적용하는 프로세스를 간소화해 줍니다. 대규모 DSS 성능 검증 이 접근 방식의 성능을 검증하기 위해 MSL에서는 고객과 긴밀하게 협력해서 데이터의 특성과 스토리지와 GPU 사이에서 데이터가 전송되는 방식을 파악했습니다. 이 정보를 바탕으로, 수천 개의 GPU로 확장하고자 하는 궁극적인 목표를 염두에 두고 원하는 트레이닝 시스템을 대표하는 트래픽 생성 도구와 환경을 만들었습니다. 그런 다음, 동일한 노드 구성에서 두 가지 스토리지 솔루션인 DSS S3와 NFS를 테스트했습니다. 결과는 다음과 같았습니다.
그리고 MSL에서는 코딩이나 RAID 삭제 없이 2가지 서버 구성의 서버 6개를 사용해서 테스트를 진행했습니다.
  • DSS v0.6 - CentOS 7.8.2003 (kernel 3.10.0-1127.el7.x86_64)
  • NFS v4 – Ubuntu 20.04.3 LTS (kernel 5.4.0-100-generic)
    • 스토리지 계층에서뿐만 아니라 AI 트레이닝과 같은 애플리케이션 계층에서도 솔루션을 비교하는 것이 중요했습니다. 팀에서는 잘 알려진 AI 프레임워크 2가지인 Tensorflow와 PyTorch를 사용하는 스토리지 솔루션용 AI 벤치마킹 도구를 활용해서 고객의 AI 트레이닝 알고리즘과 데이터 세트에 대한 데이터 로딩 시간, 총 리스팅 시간, 처리량(스루풋), 지연 시간 및 기타 파라미터 측면에서 스토리지 성능을 측정했습니다. 클라이언트 노드 당 AI 트레이닝 인스턴스의 숫자는 병렬 워크로드가 증가에 따른 성능을 보여주기 위해 변화를 주었습니다. 아래의 그래프에서 결과를 확인할 수 있습니다.
테스트하는 동안, DSS 성능은 상당히 더 높아졌고 AI 트레이닝 및 이를 실행하는 클라이언트 노드 수가 증가되었음에도 높게 유지되었습니다. 그 다음, 네트워킹 장비를 위한 넉넉한 공간과 전력을 남겨두고 10개의 스토리지 노드로 전체 랙을 확장할 때의 솔루션 성능을 테스트했습니다. 아래의 그래프에서 결과를 확인할 수 있습니다.
DSS는 전체 스토리지 노드 랙에서 약 270GB/s의 대역폭을 달성할 수 있었으며, 이는 시스템의 전체 용량이 늘어나더라도 지속적인 데이터 리밸런싱 없이 고성능을 유지할 수 있음을 시사합니다. 마지막으로, 노드 기반으로 확장하는 동안 DSS가 어떻게 수행되는지 확인하기 위해 테스트를 진행했습니다. 아래 그래프에서 나타난 것처럼, 처리량(스루풋)이 스토리지 노드 수에 따라 선형으로 증가하며 디스어그리게이티드 방식으로 손쉽게 확장됩니다. 고객은 DSS 사용을 통해 대용량 SSD의 잠재력을 최대한으로 활용함으로써 스토리지의 성능 병목 현상 발생 위험을 완화할 수 있습니다.
DSS의 미래 삼성전자의 고객은 데이터 집약적인 AI 애플리케이션에 DSS를 활용하는 것에 대한 진전에 만족하고 있지만, 이것이 여정의 끝은 아닙니다. 시스템의 전체 가치를 더욱 높이기 위해 해야 할 다음과 같은 추가 작업이 몇 가지 더 있습니다.
  • 다양한 데이터 파라미터(데이터 세트 크기, 종류, 클라이언트 노드 수 등)를 통해 추가 대규모 테스트 수행.
  • AI/ML 트레이닝 워크로드는 다른 워크로드와 다르므로 실제 머신러닝 작동을 수행하는 GPU 서버 테스트.
  • 다음의 두 가지 방식 중 하나로 SSD 용량/호스트 증가
    • SSD 용량을 32TB에서 64TB로 증가.
    • SSD를 16개만이 아니라, SSD를 24개 사용하는 고난이도의 서버 탐색.
  • 삼성전자의 차세대 PCIe 5세대 SSD 및 DDR5 메모리의 새로운 속도가 서버에 미치는 영향을 알아보는 최대 한계 테스트를 위해 신규 CPU 세대로 업그레이드.
아직 일부 확인되지 않은 부분이 있지만, 하드웨어 구성과 관계없이 데이터 집약적인 초대형 규모 워크로드에 대해 고성능 처리량(스루풋)을 제공하는 DSS의 기량은 상당히 전도유망합니다. 더 알아보기 이 아키텍처에 대해 더 자세히 살펴보고 싶으시다면 https://github.com/OpenMPDK/DSS↗를 방문해 보세요. 추가 파라미터를 테스트하는 대로 나올 새로운 결과를 기대해 주세요. 시장을 선도하는 삼성전자의 메모리 솔루션에 대한 자세한 정보는 https://www.semiconductor.samsung.com/kr를 방문하세요.