홈페이지 Enterprise MemVerge 메모리 머신 검토

MemVerge 메모리 머신 검토

by StorageReview 엔터프라이즈 랩
Memverge 프로젝트를 위한 Supermicro sys-2029U-Tn24R4t Clouse

메모리는 항상 엄청난 속도를 약속하는 하드웨어 유형 중 하나였습니다. 몇 가지 단점이 있습니다. 비싸고 용량이 제한적이며 영구적이지 않습니다. Intel과 Micron은 약 3년 전에 영구 메모리를 향한 첫 번째 단계가 될 XNUMXDXPoint 기술을 발표했습니다. 이 기술은 메모리만큼 빠르지는 않았지만 플래시 스토리지보다 훨씬 빠르고 비용 효율적이었습니다. 영구 메모리의 잠재력을 확인한 MemVerge는 이 잠재력을 실현하기 위해 출시되었습니다.

메모리는 항상 엄청난 속도를 약속하는 하드웨어 유형 중 하나였습니다. 몇 가지 단점이 있습니다. 비싸고 용량이 제한적이며 영구적이지 않습니다. Intel과 Micron은 약 3년 전에 영구 메모리를 향한 첫 번째 단계가 될 XNUMXDXPoint 기술을 발표했습니다. 이 기술은 메모리만큼 빠르지는 않았지만 플래시 스토리지보다 훨씬 빠르고 비용 효율적이었습니다. 영구 메모리의 잠재력을 확인한 MemVerge는 이 잠재력을 실현하기 위해 출시되었습니다.

우리가 본 최초의 3D XPoint 장치는 스토리지에 더 중점을 두었습니다. 시간이 지남에 따라 Intel은 3D XPoint 영구 메모리(PMem)를 활용하여 더 빠른 SSD를 만들었습니다. 나중에 인텔은 DIMM 슬롯에 장착되어 DRAM 확장 역할을 하는 영구 메모리 모듈을 발표했습니다. 과거에는 빠른 요구 사항을 위한 메모리와 큰 요구 사항을 위한 스토리지를 보았지만 PMem은 경계를 모호하게 만들기 시작했습니다. MemVerge는 대용량 및 지속성으로 DRAM 성능을 구현함으로써 두 세계의 장점을 혼합하려고 시도하고 있습니다.

MemVerge는 영구 메모리의 환경을 조사하고 PMem을 캐시, 속도 계층 또는 메모리 확장기로 활용하는 대신 PMem이 잠재력을 발휘할 수 있도록 소프트웨어를 개발했습니다. 이 회사는 Big Memory 컴퓨팅을 사용하여 DRAM 전용 환경을 DRAM과 PMem을 모두 활용하는 더 낮은 비용과 더 중요한 고밀도 메모리 환경으로 전환합니다. 소프트웨어 정의 서비스도 제공하는 소프트웨어 정의 메모리 풀로 두 개를 가상화하여 이를 수행합니다. 그 외에도 이 소프트웨어는 데이터 센터의 모든 애플리케이션이 새로운 유형의 메모리, 메모리 상호 연결, 프로세서 및 메모리 할당자의 이점을 활용하여 최신 애플리케이션 및 워크로드를 처리할 수 있는 추상화 계층을 제공합니다.

작년 XNUMX월에 MemVerge는 Memory Machine의 일반 가용성을 발표했습니다.. 이 소프트웨어는 두 가지 형태로 제공됩니다. 바이트 주소 지정이 가능한 DRAM 및 PMem 메모리를 가상화하여 앱 속도를 높이고 비용을 낮추지만 지속성을 지원하지 않는 표준 버전; 지속성이 활성화된 위의 모든 항목인 AdvancedVersion과 ZeroIO 인 메모리 스냅샷을 기반으로 하는 엔터프라이즈급 메모리 서비스.

ZeroIO 메모리 내 스냅샷은 이름에서 알 수 있듯이 스토리지에 대한 제로IO가 있는 DRAM 및 PMem의 스냅샷을 허용합니다. 이것은 일반적으로 휘발성이고 가용성이 낮은 DRAM을 고가용성 계층으로 만듭니다. ZeroIO 스냅샷은 소위 시간 이동을 허용하여 이전 스냅샷으로 롤백할 수 있습니다. 충돌이 있는 경우 앱을 이전 스냅샷으로 롤백하는 자동 저장 기능이 있습니다. 스냅샷을 사용하면 더 많은 메모리 리소스를 사용하지 않고도 씬 클론을 생성할 수 있습니다. 또한 스냅샷을 다른 서버로 마이그레이션하고 새 앱 인스턴스를 만드는 데 사용할 수 있습니다.

MemVerge 메모리 시스템 관리

MemVerge Memory Machine에는 상당히 매끄러운 GUI가 있습니다. 글로벌 대시보드는 우리가 스토리지에서 기대하게 된 요소를 보여줍니다. 이 경우 DRAM과 PMem이 모니터링되는 주요 요소이고 여기에서 사용량을 쉽게 볼 수 있다는 차이점이 있습니다. 상단에는 호스트, 앱 인스턴스, 스냅샷 및 경고에 대한 탭이 있습니다.

왼쪽의 홈 버튼을 클릭하면 시스템에 대한 기본 정보(IP 주소, OS, 커널 버전, CPU)는 물론 메모리 및 PMem 사용량과 성능에 대한 자세한 정보가 표시됩니다.

사용자는 메모리 보고서를 끌어와 시간별 사용량을 확인하여 메모리를 자세히 살펴볼 수 있습니다. 이것은 또한 PMem 대 DRAM 유형을 강조합니다.

그리고 사용자는 Memory Machine의 RESTful API를 보고 구성할 수 있습니다.

스냅샷은 Memory Machine의 큰 부분이지만 성능 섹션에서 이에 대해 다룰 것입니다.

구성

우리 연구실에서는 다음 사양의 Supermicro SYS-2029U-TN24R4T에서 MemVerge 메모리 머신을 활용했습니다.

하드웨어 모델 슈퍼마이크로 SYS-2029U-TN24R4T
CPU 2x Intel(R) Platinum(R) 8270 CPU @ 2.70GHz, 26코어
DRAM DDR4 192GB
PMem 12x128GB
운영체제 SSD 1TB SATA SSD
OS 8.2.2004 CentOS에
핵심 4.18.0-193.19.1.el8_2.x86_64

MemVerge 메모리 머신 성능

MemVerge Memory Machine은 메모리 내에서 실행해야 하는 워크로드 및 애플리케이션을 대상으로 하기 때문에 일반적인 테스트 배터리는 여기서 의미가 없습니다. 우리의 벤치마크는 일반적으로 IT 운영 중 실생활에서 볼 수 있는 스트레스가 높은 워크로드에 대해 정상으로 간주됩니다. 대신 여기서 우리는 몇 가지 다른 테스트를 살펴보고 DRAM 대 PMem 대 DRAM + PMem과 같은 항목과 각각이 어떻게 흔들리는지를 구체적으로 살펴볼 것입니다. 이 검토에서는 KDB 성능을 대량 삽입 및 읽기 테스트와 함께 ZeroIO 스냅샷이 포함된 Redis Quick Recovery 및 ZeroIO 스냅샷이 포함된 Redis Clone을 사용할 것입니다.

KDB 성능 테스트

Kx의 kdb+는 시계열 인메모리 데이터베이스입니다. 속도와 효율성으로 잘 알려져 있으며 이러한 이유로 금융 서비스 산업에서 매우 인기가 있습니다. kdb의 큰 제약 중 하나는 DRAM 용량의 제한입니다. MemVerge 메모리 머신은 여기에 완벽하게 들어맞기 때문에 kdb는 DRAM과 유사한 성능으로 확장된 메모리 공간을 위해 PMem을 최대한 활용할 수 있습니다. 대량 삽입 테스트를 위해 단일 삽입, 10, 100, 1000, 10000, 15000, 20000 및 25000개의 삽입을 살펴보고 초당 수백만 개의 대량 삽입으로 측정했습니다.

KDB 대량 삽입을 통해 몇 가지 흥미로운 결과를 볼 수 있습니다. 단일 인서트에서 세 가지 모두 비슷한 결과를 보였습니다. 더 작은 배치 크기에서는 DRAM이 최고의 성능을 발휘합니다. 배치 크기가 10,000 이상으로 증가함에 따라 메모리 머신이 각 배치를 마지막으로 뒤처지는 PMem과 함께 DRAM보다 앞선다는 것을 알 수 있습니다.

다음으로 읽기 테스트로 kdb+를 살펴보았습니다. 여기서 테스트 설정은 약간 다릅니다. 읽기 테스트는 전반적으로 동일하지만 이번에는 DRAM만, PMem만, 그리고 20GB 또는 40GB DRAM 캐시가 있는 PMem을 살펴보았습니다. DRAM은 4.2GB/s, PMem은 2.9GB/s, 20GB DRAM 캐시, Memory Machine은 3.9GB/s, 40GB 캐시로 DRAM과 거의 동일한 속도를 기록했습니다. 우리는 4.8GB/s의 최고 성능을 보았습니다. 더 흥미로운 점은 마지막 두 개가 여전히 다른 작업을 위해 충분한 DRAM을 허용한다는 것입니다.

Redis 스냅샷 테스트

Redis는 데이터베이스, 캐시 및 메시지 브로커로 사용되는 오픈 소스 메모리 내 데이터 저장소입니다. 매우 유명하고 강력하기 때문에 MemVerge Memory Machine을 벤치마킹하기에 이상적인 프로그램입니다. Redis가 MemVerge Memory Machine에서 실행되면 DRAM과 PMem이 Redis에 할당됩니다. 그런 다음 MemVerge ZeroIO 스냅샷은 스토리지 IO 작업 없이 애플리케이션의 메모리 페이지를 저장합니다. Redis가 충돌하면 PMem에 대한 모든 데이터 스냅샷이 영구적입니다. 응급 복구는 스토리지에서 데이터를 들어 올리거나 이동하지 않고 PMem의 기존 데이터를 가리키기만 하면 됩니다.

이 섹션에서는 빠른 복구를 위해 MemVerge ZeroIO 스냅샷을 테스트합니다.

먼저 ZeroIO Snapshot을 사용한 Redis Quick Recovery를 살펴보겠습니다. 성능 벤치마크와 달리 여기서는 기능과 사용 편의성을 보여줍니다. Redis가 설치되고 데이터베이스를 실행하면 Memory Machine에 로그인하여 PMem이 얼마나 사용되고 있는지 확인합니다.

애플리케이션 탭에서 Redis 서버가 실행 중인 것을 볼 수 있습니다.

실행되는 동안 몇 가지 스냅샷을 찍습니다. 분명히 스냅샷을 찍지 않으면 스냅샷에서 복원할 수 없습니다.

안전을 위해 피해를 입지 마십시오. 스냅샷을 몇 장 찍었는지 다시 한 번 확인하세요.

그것들이 있다는 것을 알게 되면 Redis DB 실패를 트리거합니다. 스냅샷을 선택하고 복원하면 잠시 멈춘 후 다시 실행됩니다.

ZeroIO 스냅샷이 포함된 Redis 클론

여기서는 위와 동일한 여러 단계를 수행합니다. 스냅샷을 만든 후 새 네임스페이스와 새 IP 주소를 사용하여 복제본으로 복원할 수 있습니다. 다른 호스트에서 복제본에 연결하면 거의 동일한 메모리를 차지하는 것을 볼 수 있습니다.

위의 모든 작업은 CLI 프롬프트로도 수행할 수 있습니다.

결론

MemVerge Memory Machine은 메모리의 성능과 PMem의 지속성을 결합하는 것을 목표로 하는 SDS입니다. PMem은 일반적으로 스토리지를 가속화하기 위한 캐시로 사용됩니다. 이는 스토리지에 대한 많은 인스턴스에서 도움이 되지만 메모리 내 애플리케이션에는 캐시가 아닌 메모리 성능이 필요합니다. MemVerge는 DRAM과 PMem을 모두 소프트웨어 정의 서비스를 통해 소프트웨어 정의 메모리 풀로 가상화합니다. Memory Machine은 zeroIO 인메모리 스냅샷을 사용하여 DRAM을 고가용성 계층으로 전환합니다. ZeroIO를 사용하면 메모리 리소스에 부담을 주지 않고 씬 클론을 생성할 수 있습니다.

새로운 범주로 진입함에 따라 새로운 성능 테스트 및 벤치마크를 채택해야 합니다. 일반적인 벤치마크로 메모리 내 SDS를 테스트하는 것은 용도가 아니기 때문에 유용하지 않습니다. 대신 대량 삽입 및 읽기 테스트와 Redis Quick Recovery with ZeroIO Snapshot 및 Redis Clone with ZeroIO Snapshot 모두에 KDB 성능을 활용했습니다. 이 테스트는 Supermicro SYS-2029U-TN24R4T 서버에서 수행되었지만 Intel Optane PMem 모듈을 지원하는 검증된 서버에서 작동해야 합니다.

KDM 대량으로 DRAM, PMem 및 Memory Machine을 통해 이 둘의 조합을 살펴보는 여러 배치 크기를 테스트했습니다. 배치가 작게 시작했기 때문에 DRAM이 최고의 성능을 보이는 것은 놀라운 일이 아닙니다. 정말 흥미로웠던 점은 테스트가 리소스에 더 많은 부담을 주면서 MemVerge가 점점 더 잘 해냈다는 것입니다. KDM 읽기를 통해 유사한 추세를 확인했습니다. DRAM은 정말 좋은 성능을 보였고 놀랄 일도 아니었습니다. PMem은 괜찮았지만 DRAM에서는 잘 작동했습니다. Memory Machine이 있는 DRAM의 경우 캐시가 20GB에 불과하여 DRAM 단독의 3.9GB/s에 비해 4.2GB/s의 성능을 보였습니다. MemVerge에 캐시용으로 40GB의 DRAM을 제공하면 4.8GB/s로 전반적으로 최고의 성능을 보여주면서도 다른 작업을 위해 충분한 DRAM을 남겨둘 수 있습니다.

성능 테스트의 두 번째 부분은 ZeroIO Snapshot을 사용한 Redis Quick Recovery 및 ZeroIO Snapshot을 사용한 Redis Clone이었습니다. 여기에는 기능 대 정량화 가능한 성능이 더 많았습니다. 기본적으로 우리는 신속하게 스냅샷을 찍고 장애를 유발했으며 신속하게 다시 가동 및 실행할 수 있었습니다.

Intel의 PMem은 모듈을 쉽게 채택하고 적절하게 활용하는 방법이 제한되어 있어 채택이 다소 느린 매우 흥미로운 기술입니다. MemVerge를 통해 조직은 이 기술을 염두에 두고 특별히 구축된 솔루션에서 PMem이 제공해야 하는 이점을 활용할 수 있습니다. PMem이 제공하는 크고 탄력적인 메모리 풋프린트의 이점을 누릴 수 있는 애플리케이션을 가진 사람들을 위해 MemVerge는 확실히 평가할 가치가 있습니다.

멤버지

StorageReview에 참여

뉴스레터 | 유튜브 | 팟캐스트 iTunes/스포티 파이 | 인스타그램 | 트위터 | 페이스북 | RSS 피드