BLOG
SAS®는 기업 및 정부 기관에서 사용하는 데이터 사이언스 및 분석 소프트웨어를 제공하는 업체입니다. SAS Grid는 고 가용성의 빠른 처리 분석 플랫폼으로, 여러 컴퓨팅 노드에서 워크로드의 균형을 유지하는 중앙 집중식 관리 기능을 제공합니다. 이 응용 프로그램 제품군은 데이터 관리, 시각적 분석, 거버넌스 및 보안, 예측 및 텍스트 마이닝, 통계 분석 및 환경 관리가 가능합니다. SAS와 AWS는 최근 SAS Grid Manager를 사용하여 표준 워크로드가 AWS에서 얼마나 잘 수행되는지 확인하기 위해 Amazon FSx for Luster 공유 파일 시스템을 사용하여 테스트를 수행했습니다. 결과에 대한 자세한 내용은 Amazon Web Services에서 고성능 파일 시스템을 사용하여 SAS 가속화 백서를 참고하세요.
이 게시물에서는 기본 IFS 인프라를 구축하여 FSx for Luster로 SAS Grid를 실행하여 까다로운 I / O 요구 사항이 있는 유사한 애플리케이션에도 적용할 수 있는 접근 방식을 살펴 보겠습니다.
시스템 설계 개요
네트워크 대기 시간에 처리량을 많이 사용하는 고성능 워크로드를 실행하려면 일반적인 응용 프로그램 외부에서 접근해야 합니다. AWS는 일반적으로 애플리케이션이 고 가용성을 위해 여러 가용 영역에 걸쳐있는 것이 좋습니다. 지연 시간에 민감한 경우 최적의 성능을 위해서는 처리량이 많은 응용 프로그램 트래픽이 로컬이어야 합니다. 처리량을 최대화하려면 다음을 수행하세요.
- 향상된 네트워킹을 지원하는 인스턴스 유형을 사용하여 VPC (Virtual Private Cloud)에서 실행
- 동일한 가용 영역에서 인스턴스 실행
- 배치 그룹 내에서 인스턴스 실행
다음 다이어그램은 AWS에서 FSx for Luster 아키텍처가 포함된 SAS Grid를 보여줍니다.
(이미지1)
SAS Grid 아키텍처는 중간 계층 노드, 메타 데이터 서버 및 그리드 컴퓨팅 노드로 구성됩니다. 중간 계층 노드는 플랫폼 웹 서비스 (PWS) 및 로드 공유 기능 (LSF) 구성 요소를 실행합니다. 이 구성 요소는 제출된 작업을 발송하고 각 작업의 상태를 리턴합니다.
중간 계층 노드에서 PWS 및 LSF를 효과적으로 실행하려면 메모리가 많은 Amazon Elastic Compute Cloud (Amazon EC2) 인스턴스가 필요합니다. 이 사용 사례의 경우 r5 인스턴스 제품군이 이 요구 사항을 충족합니다.
메타 데이터 서버에는 r5 인스턴스 제품군이 효과적으로 제공할 수 있는 모든 SAS Grid Manager 제품의 메타 데이터 정의를 저장하는 메타 데이터 리포지토리가 포함되어 있습니다. 권장 메모리 요구 사항인 24GB RAM 또는 물리적 코어 당 8MB (둘 중 큰 것)를 초과하거나 초과하는 것이 좋습니다. 메타 데이터 서버는 계산 집약적인 리소스나 높은 I / O 대역폭이 필요하지 않습니다. 따라서 가격과 성능의 균형을 위해 r5 인스턴스 제품군을 선택할 수 있습니다.
SAS Grid 노드는 그리드가 수신한 작업을 실행하는 역할을 하며 이러한 작업을 처리할 수 있는 EC2 인스턴스는 그리드가 수행하는 작업의 크기, 복잡성 및 볼륨에 따라 다릅니다. SAS Grid 워크로드의 최소 요구 사항을 충족하려면 코어 당 최소 8GB의 물리적 RAM과 물리적 코어 당 100-125MB / 초의 강력한 I / O 처리량을 갖는 것이 좋습니다. 이 사용 사례의 경우 RAM 및 처리량 요구 사항을 충족하는 데 m5n 및 r5n의 EC2 인스턴스 제품군으로 충분합니다. 공유 파일 시스템에서 SASDATA, SASWORK 및 UTILLOC 라이브러리를 호스팅 할 수 있습니다. SASWORK를 인스턴스 스토리지로 오프로드하도록 선택하면 i3en 인스턴스 제품군은 1.2TB 이상의 인스턴스 스토리지를 지원하므로 이러한 요구를 충족시킵니다. 다음 섹션에서는 Lustre용 FSx를 사용하는 EC2 인스턴스 권장 사항을 만족하기 위한 처리량 테스트를 어떻게 수행했는지 살펴보겠습니다.
스토리지 I / O 성능을 극대화하는 단계
SAS Grid에는 공유 파일 시스템이 필요하며 코어 당 8GB의 물리적 RAM 및 초당 100–125MB/ 물리적 코어 당 처리량의 최소 요구 사항을 충족하는 다양한 EC2 인스턴스 제품군에 대해 선택한 공유 파일 시스템으로 Luster의 FSx 성능을 벤치마킹하고자 했습니다.
FSx for Luster는 빠른 저장이 필요한 응용 프로그램을 위해 설계된 완전 관리형 파일 저장 서비스입니다. POSIX 호환 파일 시스템으로서 현재 Linux 기반 응용 프로그램에서 FSx for Luster를 변경할 필요가 없습니다. FSx for Luster는 스크래치 및 영구 유형 파일 시스템 중에서 선택할 수 있지만 SASWORK는 SASWORK, SASDATA 및 UTILLOC 데이터 및 라이브러리를 고 가용성과 데이터 내구성을 바탕으로 장기간 저장해야 하므로 Luster 파일 시스템에 영구 유형 FSx를 사용하는 것이 좋습니다. I / O 처리량을 충족하려면 스토리지 단위당 처리량에 적합한 스토리지 용량을 선택하여 원하는 범위인 100-125MB / 초를 달성하세요.
파일 시스템을 설정한 후 flock mount 옵션을 사용하여 Luster용 FSx를 마운트하는 것이 좋습니다. 다음 코드 예제는 Lustre용 FSx에 대한 마운트 명령 및 마운트 옵션입니다.
$ sudo mount -t lustre -o noatime,flock fs-0123456789abcd.fsx.us-west- 2.amazonaws.com@tcp:/za3atbmv /fsx$ mount -t lustre172.31.41.37@tcp:/za3atbmv on /fsx type lustre
(rw,noatime,seclabel,flock,lazystatfs)
처리량 테스트 및 결과
Lustre용 FSx를 사용하여 SAS Grid를 실행하기 위한 최적의 EC2 인스턴스를 선택하기 위해 총 처리량 용량이 19.688GB / 초인 100.8TiB 영구 파일 시스템에 대해 개별 EC2 인스턴스에서 일련의 병렬 네트워크 처리량 테스트를 실행했습니다. 여러 EC2 인스턴스 제품군(c5, c5n, i3, i3en, m5, m5a, m5ad, m5n, m5dn, r5, r5a, r5ad, r5n 및 r5dn)을 사용하여 여러 지역에서 이러한 테스트를 실행했습니다. 테스트는 각 인스턴스에 대해 3시간 동안 실행되었으며 파일 시스템의 DataWriteBytes 메트릭은 1분마다 기록되었습니다. 한 번에 하나의 인스턴스만 파일 시스템에 액세스하고 있었고 p99.9 결과가 캡처되었습니다. 메트릭은 네 지역 모두에서 동일했습니다.
i3en, m5n, m5dn, r5n 및 r5dn EC2 인스턴스 제품군은 최소 네트워크 성능 및 메모리 권장 사항을 충족하거나 초과합니다. 성능 결과에 대한 자세한 내용은 Amazon Web Services에서 고성능 파일 시스템을 사용하여 SAS 가속화 백서를 참고하세요. i3 인스턴스 제품군은 최소한의 네트워크 성능을 충족시키지 못합니다. SASWORK 및 UTILLOC 라이브러리에 인스턴스 스토리지를 사용하려는 경우 i3en 인스턴스를 고려할 수 있습니다.
M5n 및 r5n은 가격과 성능 모두 잘 갖추었으므로 SAS Grid 노드 용 m5n 인스턴스 제품군을 권장합니다. 그러나 워크로드가 메모리 바운드인 경우, m5n 인스턴스보다 높은 가격대에 물리적 코어 당 더 많은 메모리를 제공하는 r5n 인스턴스 사용을 고려하세요.
또한 앞에서 언급한 것과 동일한 FSx for Luster 구성을 사용하여 SAS 기술 지원 샘플 도구 저장소 (SASTSST)에서 사용 가능한 rhel_iotest.sh를 실행했습니다. 다음 표는 m5n 및 r5n 제품군의 다양한 인스턴스 크기에 대한 물리적 코어 당 읽기 및 쓰기 성능을 보여줍니다.
인스턴스 유형 | 물리적 코어 당 가변 네트워크 성능 피크 | |
읽기 (MB / 초) | 쓰기 (MB / 초) | |
m5n. 큰 | 850.20 | 357.07 |
m5n.xlarge | 519.46 | 386.25 |
m5n.2xlarge | 283.01 | 446.84 |
m5n.4xlarge | 202.89 | 376.57 |
m5n.8xlarge | 154.98 | 297.71 |
r5n. 큰 | 906.88 | 429.93 |
r5n.xlarge | 488.36 | 455.76 |
r5n.2xlarge | 256.96 | 471.65 |
r5n.4xlarge | 203.31 | 390.03 |
r5n.8xlarge | 149.63 | 299.45 |
클라우드의 탄력성, 확장성 및 유연성을 활용하려면 SAS Grid를 분산시키고 더 작은 수의 더 큰 인스턴스를 사용하는 것보다 더 많은 수의 더 작은 인스턴스에 워크로드를 계산하는 것이 좋습니다. 중간 계층의 경우 최소 2 개의 인스턴스를 사용하고 메타 데이터 서버의 경우 SAS Grid 아키텍처에 대해 최소 3 개의 인스턴스를 권장합니다.
결론
Luster 파일 시스템 용 FSx 이전에는 SASWORK, SASDATA 및 UTILLOC 라이브러리 및 스토리지 데이터에 Amazon Elastic File System (Amazon EFS) 또는 타사 마켓 파일 및 AWS Marketplace 및 Amazon Elastic Block Store (Amazon EBS)를 사용해야 했습니다. 각 스토리지 옵션에는 자체 설정 및 제한 사항이 있어 성능이 저하되었습니다. FSx for Lustre를 사용하면 모든 SAS Grid 스토리지 요구 사항에 대한 단일 솔루션이 제공되므로 파일 시스템을 유지 관리하는 대신 비즈니스 운영에 집중할 수 있습니다. SAS 관리자는 Luster 파일 시스템 용 FSx에 액세스 할 때 SAS Grid 컴퓨팅 노드 용 m5n 및 r5n 인스턴스와 함께 SAS Grid를 배포하는 것이 좋습니다.
질문이나 제안 사항이 있으면 의견을 남겨주세요.
** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.