SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
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 스토리지 구성에
활용 (낮은 비용, 높은 성능)
• 데이터 학습에 필요한 데이터 전처리 및 피처를 빠르게
읽어와서 학습 생산성 향상

Contenu connexe

Tendances

Debugging PySpark - PyCon US 2018
Debugging PySpark -  PyCon US 2018Debugging PySpark -  PyCon US 2018
Debugging PySpark - PyCon US 2018
Holden Karau
 

Tendances (20)

Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query ProcessingApache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing
 
BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for Ceph
 
Memory Management in Apache Spark
Memory Management in Apache SparkMemory Management in Apache Spark
Memory Management in Apache Spark
 
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
 
EDB Postgres Replication Server
EDB Postgres Replication ServerEDB Postgres Replication Server
EDB Postgres Replication Server
 
Spark Summit EU talk by Herman van Hovell
Spark Summit EU talk by Herman van HovellSpark Summit EU talk by Herman van Hovell
Spark Summit EU talk by Herman van Hovell
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
 
Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018
Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018
Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018
 
Apache spark 소개 및 실습
Apache spark 소개 및 실습Apache spark 소개 및 실습
Apache spark 소개 및 실습
 
Performance tuning in BlueStore & RocksDB - Li Xiaoyan
Performance tuning in BlueStore & RocksDB - Li XiaoyanPerformance tuning in BlueStore & RocksDB - Li Xiaoyan
Performance tuning in BlueStore & RocksDB - Li Xiaoyan
 
Spark SQL Beyond Official Documentation
Spark SQL Beyond Official DocumentationSpark SQL Beyond Official Documentation
Spark SQL Beyond Official Documentation
 
From HDFS to S3: Migrate Pinterest Apache Spark Clusters
From HDFS to S3: Migrate Pinterest Apache Spark ClustersFrom HDFS to S3: Migrate Pinterest Apache Spark Clusters
From HDFS to S3: Migrate Pinterest Apache Spark Clusters
 
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionCeph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
 
Deep Dive : Spark Data Frames, SQL and Catalyst Optimizer
Deep Dive : Spark Data Frames, SQL and Catalyst OptimizerDeep Dive : Spark Data Frames, SQL and Catalyst Optimizer
Deep Dive : Spark Data Frames, SQL and Catalyst Optimizer
 
AF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on FlashAF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on Flash
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsApache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic Datasets
 
Debugging PySpark - PyCon US 2018
Debugging PySpark -  PyCon US 2018Debugging PySpark -  PyCon US 2018
Debugging PySpark - PyCon US 2018
 
Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...
Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...
Everyday I'm Shuffling - Tips for Writing Better Spark Programs, Strata San J...
 
Migrating Oracle database to PostgreSQL
Migrating Oracle database to PostgreSQLMigrating Oracle database to PostgreSQL
Migrating Oracle database to PostgreSQL
 
Ceph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldCeph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud world
 

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

OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316
기한 김
 
오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan
HyeonSeok Choi
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
IMQA
 

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

OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316
 
Alluxio: Data Orchestration on Multi-Cloud
Alluxio: Data Orchestration on Multi-CloudAlluxio: Data Orchestration on Multi-Cloud
Alluxio: Data Orchestration on Multi-Cloud
 
SAP HANA vs Oracle
SAP HANA vs OracleSAP HANA vs Oracle
SAP HANA vs Oracle
 
[찾아가는세미나] 클라우드 데이터 가상화솔루션
[찾아가는세미나] 클라우드 데이터 가상화솔루션[찾아가는세미나] 클라우드 데이터 가상화솔루션
[찾아가는세미나] 클라우드 데이터 가상화솔루션
 
Spark performance tuning
Spark performance tuningSpark performance tuning
Spark performance tuning
 
[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
SQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseSQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouse
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan
 
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
 
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
 
Tajo TPC-H Benchmark Test on AWS
Tajo TPC-H Benchmark Test on AWSTajo TPC-H Benchmark Test on AWS
Tajo TPC-H Benchmark Test on AWS
 
Cloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampCloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcamp
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
Spark machine learning & deep learning
Spark machine learning & deep learningSpark machine learning & deep learning
Spark machine learning & deep learning
 
IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000
IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000
IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
 

Plus de SANG WON PARK

Cloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflake
SANG WON PARK
 
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
SANG WON PARK
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
SANG WON PARK
 

Plus de SANG WON PARK (17)

Trends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_business
 
Cloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflake
 
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
 
Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring
 
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)
 
Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)
 
Rancher Simple User Guide
Rancher Simple User GuideRancher Simple User Guide
Rancher Simple User Guide
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
 
Reinforcement learning v0.5
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNN
 
Hadoop eco story 이해
Hadoop eco story 이해Hadoop eco story 이해
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 스토리지 구성에 활용 (낮은 비용, 높은 성능) • 데이터 학습에 필요한 데이터 전처리 및 피처를 빠르게 읽어와서 학습 생산성 향상