SlideShare a Scribd company logo
2
Most read
8
Most read
10
Most read
Intel Optane DC Persistence Memory Module
(DCPMM)
성능 테스트
2019.11
freepsw
Intel Optane DC Persistent Memory Module?
DRAM과 SSD를 모두 지원하는 새로운 메모리 기술
(하나의 제품으로 메모리와 스토리지(SSD)를 선택적으로 활용 가능)
https://gigglehd.com/gg/hard/4656822
• ‘메모리 모드’ 에선 퍼시스턴트 메모리를 더 큰 용량의 DRAM처럼 이용하므로 기존 소프트웨어의 구동에 문제가 없다.
• 하지만 ‘앱 다이렉트 모드’에선 다른 메모리의 자원을 이용하며, 소프트웨어 구조의 일부를 바꿔야 한다.
https://it.donga.com/29553/
1. 테스트 목표
Optane DCPMM과 기존 DRAM 대비 성능을
Big Data Opensource (Redis, Spark+Alluxio) 레벨에서 검증하고, 효과적인 활용방안 검토
메모리(DRAM)
성능 비교
DCPMM
활용 방안
• DRAM 대비 처리 성능 (Read/Write)
• Spark + Alluxio, Redis 등의 테스트 결과를
• 반영한 활용방안 검토
2. 테스트 환경 구성
Spark Cluster Alluxio Cluster
Node 01 Node 02 Node 03 Node 04 Node 05
Master
Worker-
01
Worker-
02
Worker-
03
Worker-
04
Worker-
05
Master
Worker-
01
Worker-
02
Worker-
03
Worker-
04
Worker-
05
Spark에서 Alluxio 메모리를 활용하여
데이터를 입/출력하는 시간 비교
Spark-Alluxio 환경 구성 Redis 환경 구성
메모리 기반의 오픈소스인 Alluxio와 Redis를 대상으로 Read/Write 성능을 비교
Redis Benchmark 도구를 활용한
입/출력 시간 비교
Node 01
(16 Core, 128 Mem)
Node 02
(16 Core, 128 Mem)
Benchmark
Tool
Benchmark
Tool
DRAM DCPMM
Node : 16Core, 128G Mem
DRAM DCPMM
Alluxio 란??
다양한 스토리지에 저장된 데이터를 Alluxio를 통해
일관되고 빠르게 처리할 수 있는 메모리 기반 파일 시스템
• 다양한 데이터 소스에서 작업에 필요한 데이터를 미리 Alluxio에 로딩하고,
• 대용량의 배치 작업을 메모리에서 빠르게 처리 가능함.
• 따라서 많은 메모리 용량이 필요하며, DCPMM을 활용하기 효율적으로 판단됨
메모리에 로딩
Redis 란?
메모리 기반 캐시를 지원하는 기술로
빠를 처리가 필요한 데이터를 Redis(메모리)에 저장/조회 하는 기술
• 실시간 빅데이터를 빠르게 처리하기 위해서는 Disk I/O를 최대한 줄여야 하므로,
• 메모리에 빠르게 참조 가능한 데이터를 저장하는 것이 필수적이다.
• Redis는 이러한 실시간 빅데이터 환경에서 빠른 데이터 참조/조회를 위해서 많이 활용되므로, DPCMM의 테스트 대상으로 선정하였다
Biz 요건에 따라 많은 메모리
공간 필요
https://www.youtube.com/watch?v=kUmrYQO51uA
3. POC 테스트 시나리오
구분 테스트 시나리오 내용 측정 항목
Spark + Alluxio
Spark Executor의 병렬(분산)
수준에 따른 성능 비교
• Spark에서 Alluxio에서 데이터를 읽고,
• Spark에서 Alluxio에 데이터를 저장 - 처리시간(Read + Write)
Spark + Alluxio Spark Executor의 메모리
할당량에 따른 성능 비교
• Spark에서 Alluxio에서 데이터를 읽고,
• Spark에서 Alluxio에 데이터를 저장
- 처리시간(Read + Write)
Redis 데이터 값 증가에 따른 성능 비교
• 50개의 동시 Client로
• 지정한 데이터 값(Value, 3byte ~ 10M)을
• 100,000번 명령어(SET, GET …) 실행
- 명령어 별 초당 처리시간
Alluxio에 저장된 150G 데이터의 입출력 성능을 spark application으로 테스트
Redis에 10만 번의 I/O를 발생시키며, 초당 처리 성능을 테스트
4-1. POC 테스트 결과 (Spark + Alluxio 분산 수준)
분산 수준을 높이기 위해 CPU Core를 증가하며 Memory I/O를 측정하였으며,
DCPMM이 최대 40%까지 낮은 입/출력 성능을 보이지만,
일반적인 설정에서는 10% 이내의 성능 차이 발생 (DRAM이 더 빠르게 처리함)
Core가 많아 질수록
DPCMM 활용 시 성능 저하 (최대 40%)
DPCMM 활용 시
성능이 개선되는 구간도 존재
4-1. POC 테스트 결과 (Spark + Alluxio 메모리 사이즈)
Spark에 할당되는 메모리 크기(8~16G)는 DPCMM 활용 시 성능에 영향을 주지 못함.
Memory 크기 8G와 16G의 차이가 거의 없음.
성능 차이가 거의 없음
4-2. POC 테스트 결과 (Redis -명령어 별 성능 비교)
Redis Benchmark Tool을 이용하여 성능을 측정하여 결과 비교.
DRAM 대비 약 8% 수준의 성능 저하 현상 보임
일부 명령어 제외하고,
전반적으로 DRAM의 성능 높음
(동시 client 50, 각 명령어 10만번 실행 후 처리 성능 측정)
처리량
처리량
처리량
4-2. POC 테스트 결과 (Redis – 데이터 크기별 성능 비교)
테스트 데이터를 3byte ~ 5M까지 증가하며 주요 명령어의 성능을 측정함.
데이터가 증가하면서 일부 명령어에서 DCPMM의 성능이 급격히 높아짐.
List 자료구조의 경우
급격한 차이 발생
처리량
처리량
5. DCPMM의 아키텍처 설계 및 제안 시 활용방안
대용량 데이터를 처리하는 영역에서 I/O 성능은 전체 성능에 영향을 미치는 요소임.
따라서 DCPMM의 성능이 본 성능 테스트 결과 수준으로 제공된다면,
다양한 사업에서 비용대비 효율적인 아키텍처를 구성하여 높은 성능의 시스템 제공이 가능함.
Data intensive
아키텍처 설계 활용
ML/DL 학습 환경
활용
• 실시간 데이터 처리를 위한 In-Memory 스토리지 구성에
활용 (낮은 비용, 높은 성능)
• 데이터 학습에 필요한 데이터 전처리 및 피처를 빠르게
읽어와서 학습 생산성 향상

More Related Content

PDF
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
PPTX
산동네 게임 DBA 이야기
PDF
Power BI データフロー 早わかり
PDF
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
PPTX
Distributed Database Architecture for GDPR
PPTX
Apache flink
PDF
Spark Summit EU talk by Bas Geerdink
PDF
AWS EMR Cost optimization
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
산동네 게임 DBA 이야기
Power BI データフロー 早わかり
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
Distributed Database Architecture for GDPR
Apache flink
Spark Summit EU talk by Bas Geerdink
AWS EMR Cost optimization

What's hot (10)

PDF
Actual CCDAK Questions with Practice Tests and braindumps
PDF
Finit solutions getting the most out of hfm - web data forms tips and tricks
PPTX
Introduction to Apache Kafka
PPTX
Scaling Big Data Mining Infrastructure Twitter Experience
PDF
The Rise Of Event Streaming – Why Apache Kafka Changes Everything
PDF
Apache Beam and Google Cloud Dataflow - IDG - final
PPTX
TechEvent Databricks on Azure
PDF
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
PDF
AWS 환경에서 MySQL BMT
PDF
HDFS Analysis for Small Files
Actual CCDAK Questions with Practice Tests and braindumps
Finit solutions getting the most out of hfm - web data forms tips and tricks
Introduction to Apache Kafka
Scaling Big Data Mining Infrastructure Twitter Experience
The Rise Of Event Streaming – Why Apache Kafka Changes Everything
Apache Beam and Google Cloud Dataflow - IDG - final
TechEvent Databricks on Azure
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
AWS 환경에서 MySQL BMT
HDFS Analysis for Small Files
Ad

Similar to Optane DC Persistent Memory(DCPMM) 성능 테스트 (20)

PDF
Alluxio: Data Orchestration on Multi-Cloud
PDF
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
PPTX
Apache spark 소개 및 실습
PPTX
Hadoop cluster os_tuning_v1.0_20170106_mobile
PPTX
Spark machine learning & deep learning
PDF
Spark performance tuning
PDF
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
PDF
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
PDF
Spark_Overview_qna
PDF
빅데이터윈윈 컨퍼런스_대용량 데이터 분석 시스템 구축사례
PDF
learning spark - Chatper8. Tuning and Debugging
PPT
Pag 빅데이터-한국에도필요한가
PDF
Cloudera session seoul - Spark bootcamp
PDF
246 deview 2013 신기빈
PDF
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
PDF
[중소기업형 인공지능/빅데이터 기술 심포지엄] 대용량 거래데이터 분석을 위한 서버인프라 활용 사례
PDF
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
PDF
워크로드에 맞는 데이터베이스 찾기 - 박주연 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
PPTX
Pivot3 overview
PPT
091106kofpublic 091108170852-phpapp02 (번역본)
Alluxio: Data Orchestration on Multi-Cloud
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
Apache spark 소개 및 실습
Hadoop cluster os_tuning_v1.0_20170106_mobile
Spark machine learning & deep learning
Spark performance tuning
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark_Overview_qna
빅데이터윈윈 컨퍼런스_대용량 데이터 분석 시스템 구축사례
learning spark - Chatper8. Tuning and Debugging
Pag 빅데이터-한국에도필요한가
Cloudera session seoul - Spark bootcamp
246 deview 2013 신기빈
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
[중소기업형 인공지능/빅데이터 기술 심포지엄] 대용량 거래데이터 분석을 위한 서버인프라 활용 사례
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
워크로드에 맞는 데이터베이스 찾기 - 박주연 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
Pivot3 overview
091106kofpublic 091108170852-phpapp02 (번역본)
Ad

More from SANG WON PARK (17)

PDF
Trends_of_MLOps_tech_in_business
PDF
Cloud DW technology trends and considerations for enterprises to apply snowflake
PDF
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
PDF
Understanding of Apache kafka metrics for monitoring
PDF
Apache kafka performance(latency)_benchmark_v0.3
PDF
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
PDF
boosting 기법 이해 (bagging vs boosting)
PDF
Machine Learning Foundations (a case study approach) 강의 정리
PDF
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
PDF
Coursera Machine Learning (by Andrew Ng)_강의정리
PDF
내가 이해하는 SVM(왜, 어떻게를 중심으로)
PDF
코드로 이해하는 Back_propagation(cs231n)
PDF
Rancher Simple User Guide
PDF
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
PDF
Reinforcement learning v0.5
PDF
Code로 이해하는 RNN
PDF
Hadoop eco story 이해
Trends_of_MLOps_tech_in_business
Cloud DW technology trends and considerations for enterprises to apply snowflake
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
Understanding of Apache kafka metrics for monitoring
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
boosting 기법 이해 (bagging vs boosting)
Machine Learning Foundations (a case study approach) 강의 정리
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Coursera Machine Learning (by Andrew Ng)_강의정리
내가 이해하는 SVM(왜, 어떻게를 중심으로)
코드로 이해하는 Back_propagation(cs231n)
Rancher Simple User Guide
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
Reinforcement learning v0.5
Code로 이해하는 RNN
Hadoop eco story 이해

Optane DC Persistent Memory(DCPMM) 성능 테스트

  • 1. Intel Optane DC Persistence Memory Module (DCPMM) 성능 테스트 2019.11 freepsw
  • 2. Intel Optane DC Persistent Memory Module? DRAM과 SSD를 모두 지원하는 새로운 메모리 기술 (하나의 제품으로 메모리와 스토리지(SSD)를 선택적으로 활용 가능) https://gigglehd.com/gg/hard/4656822 • ‘메모리 모드’ 에선 퍼시스턴트 메모리를 더 큰 용량의 DRAM처럼 이용하므로 기존 소프트웨어의 구동에 문제가 없다. • 하지만 ‘앱 다이렉트 모드’에선 다른 메모리의 자원을 이용하며, 소프트웨어 구조의 일부를 바꿔야 한다. https://it.donga.com/29553/
  • 3. 1. 테스트 목표 Optane DCPMM과 기존 DRAM 대비 성능을 Big Data Opensource (Redis, Spark+Alluxio) 레벨에서 검증하고, 효과적인 활용방안 검토 메모리(DRAM) 성능 비교 DCPMM 활용 방안 • DRAM 대비 처리 성능 (Read/Write) • Spark + Alluxio, Redis 등의 테스트 결과를 • 반영한 활용방안 검토
  • 4. 2. 테스트 환경 구성 Spark Cluster Alluxio Cluster Node 01 Node 02 Node 03 Node 04 Node 05 Master Worker- 01 Worker- 02 Worker- 03 Worker- 04 Worker- 05 Master Worker- 01 Worker- 02 Worker- 03 Worker- 04 Worker- 05 Spark에서 Alluxio 메모리를 활용하여 데이터를 입/출력하는 시간 비교 Spark-Alluxio 환경 구성 Redis 환경 구성 메모리 기반의 오픈소스인 Alluxio와 Redis를 대상으로 Read/Write 성능을 비교 Redis Benchmark 도구를 활용한 입/출력 시간 비교 Node 01 (16 Core, 128 Mem) Node 02 (16 Core, 128 Mem) Benchmark Tool Benchmark Tool DRAM DCPMM Node : 16Core, 128G Mem DRAM DCPMM
  • 5. Alluxio 란?? 다양한 스토리지에 저장된 데이터를 Alluxio를 통해 일관되고 빠르게 처리할 수 있는 메모리 기반 파일 시스템 • 다양한 데이터 소스에서 작업에 필요한 데이터를 미리 Alluxio에 로딩하고, • 대용량의 배치 작업을 메모리에서 빠르게 처리 가능함. • 따라서 많은 메모리 용량이 필요하며, DCPMM을 활용하기 효율적으로 판단됨 메모리에 로딩
  • 6. Redis 란? 메모리 기반 캐시를 지원하는 기술로 빠를 처리가 필요한 데이터를 Redis(메모리)에 저장/조회 하는 기술 • 실시간 빅데이터를 빠르게 처리하기 위해서는 Disk I/O를 최대한 줄여야 하므로, • 메모리에 빠르게 참조 가능한 데이터를 저장하는 것이 필수적이다. • Redis는 이러한 실시간 빅데이터 환경에서 빠른 데이터 참조/조회를 위해서 많이 활용되므로, DPCMM의 테스트 대상으로 선정하였다 Biz 요건에 따라 많은 메모리 공간 필요 https://www.youtube.com/watch?v=kUmrYQO51uA
  • 7. 3. POC 테스트 시나리오 구분 테스트 시나리오 내용 측정 항목 Spark + Alluxio Spark Executor의 병렬(분산) 수준에 따른 성능 비교 • Spark에서 Alluxio에서 데이터를 읽고, • Spark에서 Alluxio에 데이터를 저장 - 처리시간(Read + Write) Spark + Alluxio Spark Executor의 메모리 할당량에 따른 성능 비교 • Spark에서 Alluxio에서 데이터를 읽고, • Spark에서 Alluxio에 데이터를 저장 - 처리시간(Read + Write) Redis 데이터 값 증가에 따른 성능 비교 • 50개의 동시 Client로 • 지정한 데이터 값(Value, 3byte ~ 10M)을 • 100,000번 명령어(SET, GET …) 실행 - 명령어 별 초당 처리시간 Alluxio에 저장된 150G 데이터의 입출력 성능을 spark application으로 테스트 Redis에 10만 번의 I/O를 발생시키며, 초당 처리 성능을 테스트
  • 8. 4-1. POC 테스트 결과 (Spark + Alluxio 분산 수준) 분산 수준을 높이기 위해 CPU Core를 증가하며 Memory I/O를 측정하였으며, DCPMM이 최대 40%까지 낮은 입/출력 성능을 보이지만, 일반적인 설정에서는 10% 이내의 성능 차이 발생 (DRAM이 더 빠르게 처리함) Core가 많아 질수록 DPCMM 활용 시 성능 저하 (최대 40%) DPCMM 활용 시 성능이 개선되는 구간도 존재
  • 9. 4-1. POC 테스트 결과 (Spark + Alluxio 메모리 사이즈) Spark에 할당되는 메모리 크기(8~16G)는 DPCMM 활용 시 성능에 영향을 주지 못함. Memory 크기 8G와 16G의 차이가 거의 없음. 성능 차이가 거의 없음
  • 10. 4-2. POC 테스트 결과 (Redis -명령어 별 성능 비교) Redis Benchmark Tool을 이용하여 성능을 측정하여 결과 비교. DRAM 대비 약 8% 수준의 성능 저하 현상 보임 일부 명령어 제외하고, 전반적으로 DRAM의 성능 높음 (동시 client 50, 각 명령어 10만번 실행 후 처리 성능 측정) 처리량 처리량 처리량
  • 11. 4-2. POC 테스트 결과 (Redis – 데이터 크기별 성능 비교) 테스트 데이터를 3byte ~ 5M까지 증가하며 주요 명령어의 성능을 측정함. 데이터가 증가하면서 일부 명령어에서 DCPMM의 성능이 급격히 높아짐. List 자료구조의 경우 급격한 차이 발생 처리량 처리량
  • 12. 5. DCPMM의 아키텍처 설계 및 제안 시 활용방안 대용량 데이터를 처리하는 영역에서 I/O 성능은 전체 성능에 영향을 미치는 요소임. 따라서 DCPMM의 성능이 본 성능 테스트 결과 수준으로 제공된다면, 다양한 사업에서 비용대비 효율적인 아키텍처를 구성하여 높은 성능의 시스템 제공이 가능함. Data intensive 아키텍처 설계 활용 ML/DL 학습 환경 활용 • 실시간 데이터 처리를 위한 In-Memory 스토리지 구성에 활용 (낮은 비용, 높은 성능) • 데이터 학습에 필요한 데이터 전처리 및 피처를 빠르게 읽어와서 학습 생산성 향상