아파치 스파크 활용 극대화를 위한 성능 최적화 기법
2018
분산 처리 플랫폼에서 다양한 빅 데이터 처리 어플리케이션들의 수행 성능 향상에 대한 관심이 높아지고 있다. 이에 따라 범용적인 분산 처리 플랫폼인 아파치 스파크에서 어플리케이션들의 처리 성능 최적화에 대한 연구들이 활발하게 진행되고 있다. 스파크에서 데이터 처리 어플리케이션들의 수행 성능을 향상시키기 위해서는 스파크의 분산처리모델인 Directed Acyclic Graph(DAG)에 알맞은 형태로 어플리케이션을 최적화시켜야 하고 어플리케이션의 처리 특징을 고려하여 스파크 시스템 파라미터들을 설정해야 하기 때문에 매우 어렵다. 기존 연구들은 각각의 어플리케이션의 처리 성능에 영향을 주는 하나의 요소에 대한 부분적인 연구를 수행했고, 최종적으로 어플리케이션의 성능 개선을 이뤄냈지만 스파크의 전반적인 처리과정을 고려한 성능 최적화를 다루지 않았을 뿐만 아니라 처리성능과 상관관계를 갖는 다양한 요소들의 복합적인 상호작용을 고려하지 못했다. 본 연구에서는 스파크에서 일반적인 데이터 처리 어플리케이션의 수행 과정을 분석하고, 분석된 결과를 토대로 어플리케이션의 처리과정 중 스테이지 내부와 스테이지 사이에서 성능 향상을 위한 처리 전략을 제안한다. 또한 스파크의 시스템 설정 파라미터 중 분산 병렬처리와 밀접한 관계를 갖는 파티션 병렬화에 따른 어플리케이션의 수행성능을 분석하고 적합한 파티셔닝 최적화 기법을 제안한다. 3가지 성능 향상 전략의 실효성을 입증하기 위해 일반적인 데이터 처리 어플리케이션: WordCount, Pagerank, Kmeans에 각각의 방법을 사용했을 때의 성능 향상률을 제시한다. 또한 제안한 3가지 성능 최적화 기법들이 함께 적용될 때 복합적인 성능향상 시너지를 내는지를 확인하기 위해 모든 기법들이 적용됐을 때의 성능 향상률을 제시함으로써 본 연구에서 제시하는 전략들의 실효성을 입증한다.
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
0
References
0
Citations
NaN
KQI