Enabling Efficient Big Data Services on HPC Systems with SHMEM-Based Programming Stack

Thesis abstract With the continuous expansion of the Big Data universe, researchers have been relentlessly searching for ways to improve the efficiency of big data services, including data analytics and data infrastructures. In the meantime, there has also been an increasing interest to leverage Hig...

Full description

Bibliographic Details
Other Authors: Fu, Huansong (author)
Format: Others
Language:English
English
Published: Florida State University
Subjects:
Online Access:http://purl.flvc.org/fsu/fd/2019_Spring_Fu_fsu_0071E_14906
id ndltd-fsu.edu-oai-fsu.digital.flvc.org-fsu_709753
record_format oai_dc
collection NDLTD
language English
English
format Others
sources NDLTD
topic Computer science
spellingShingle Computer science
Enabling Efficient Big Data Services on HPC Systems with SHMEM-Based Programming Stack
description Thesis abstract With the continuous expansion of the Big Data universe, researchers have been relentlessly searching for ways to improve the efficiency of big data services, including data analytics and data infrastructures. In the meantime, there has also been an increasing interest to leverage High-performance Computing (HPC) capabilities for big data analytics. Symmetric Hierarchical Memory (SHMEM) is a popular parallel programming model thrived in the HPC realm. For many Partitioned Global Address Space (PGAS) systems and applications, SHMEM libraries are popularly used as a high-performance communication layer between the applications and underlying fast-speed interconnects. SHMEM features an one-sided communication interface. It allows remote data to be accessed in a shared-memory manner, in contrast to the conventional two-sided communication where remote data must be accessed through an explicit handshake protocol. We reveal that SHMEM offers a number of great benefits to develop parallel and distributed applications and frameworks on tightly-coupled, high-end HPC systems, such as its shared-memory style addressing model and the flexibility of its communication model. This dissertation focuses on improving the performance of big data services by leveraging a lightweight, flexible and balanced SHMEM-based programming stack. In order to realize this goal, we have studied some representative data infrastructure and data analytic framework. Specifically, key-value stores are a very popular form of data infrastructure deployed for many large-scale web services. Unfortunately, a key-value store usually adopts an inefficient communication design in a traditional server-client architecture, where the server can easily become a bottleneck in processing a huge amount of requests. Because of this, both latency and throughput can be seriously affected. Moreover, graph processing is an emerging type of data analytics that deals with large-scale graph data. Unsuitable for traditional MapReduce, graph analytic algorithms are often written and run with programming models that are specifically designed for graph processing. However, there is an imbalance issue in state-of-the-art graph processing programming model which has drastically affected the performance of graph processing. There is a critical need to revisit the conventional design of graph processing while the volume of real-world useful graph data keeps increasing everyday. Furthermore, although we reveal that a SHMEM-based programming stack helps solve the aforementioned issues, there is still a lack of understanding about how portable this stack can be for it to fit in with specific data infrastructure and framework being optimized and also other distributed systems in general. This includes to understand the potential performance gain or loss, limitations of usage, and portability on different platforms etc. This dissertation has centered around addressing these research challenges and carried out three studies, each tackling a unique challenge but all focusing on facilitating a SHMEM-based programming stack to enable and accelerate big data services. Firstly, we use a popular SHMEM standard called OpenSHMEM to build a high-performance key-value store called SHMEMCache, which overcomes several issues in enabling direct access to key-value pairs, including race conditions, remote point chasing and unawareness of remote access. We have then thoroughly evaluated SHMEMCache and shown that it has accomplished significant performance improvements over the other contemporary key-value stores, and also achieved good scalability over a thousand nodes on a leadership-class supercomputer. Secondly, to understand the implications in using various SHMEM model and one-sided communication library for big data services, we revisit the design of SHMEMCache and extend it with a portable communication interface and develop Portable-SHMEMCache. Portable-SHMEMCache is able to support a variety of one-sided communication libraries. Based on this new framework, we have supported both OpenSHMEM and MPI-RMA for SHMEMCache as proof-of-concept. We have conducted an extensive experimental analysis to evaluate the performance of Portable-SHMEMCache on two different platforms. Thirdly, we have thoroughly studied the issues existed in state-of-the-art graph processing frameworks. We have proposed salient design features to tackle their serious inefficiency and imbalance issues. The design features have been incorporated in a new graph processing framework called SHMEMGraph. Our comprehensive experiments for SHMEMGraph have demonstrated its significant performance advantages compared to state-of-the-art graph processing frameworks. This dissertation has pushed forward the big data evolution by enabling efficient representative data infrastructure and analytic frameworks on HPC systems with SHMEM-based programming models. The performance improvements compared to state-of-the-art frameworks have demonstrated the efficacy of our solution designs and the potential of leveraging HPC capabilities for big data. We believe that our work has better prepared contemporary data infrastructures and analytic frameworks for addressing the big data challenge. === A Dissertation submitted to the Department of Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy. === Fall Semester 2018. === December 6, 2018. === Graph Processing, Key-value Store, One-sided Communication, PGAS, SHMEM === Includes bibliographical references. === Weikuan Yu, Professor Directing Dissertation; Ming Ye, University Representative; Zhenhai Duan, Committee Member; Manjunath Gorentla Venkata, Committee Member; Michael Mascagni, Committee Member.
author2 Fu, Huansong (author)
author_facet Fu, Huansong (author)
title Enabling Efficient Big Data Services on HPC Systems with SHMEM-Based Programming Stack
title_short Enabling Efficient Big Data Services on HPC Systems with SHMEM-Based Programming Stack
title_full Enabling Efficient Big Data Services on HPC Systems with SHMEM-Based Programming Stack
title_fullStr Enabling Efficient Big Data Services on HPC Systems with SHMEM-Based Programming Stack
title_full_unstemmed Enabling Efficient Big Data Services on HPC Systems with SHMEM-Based Programming Stack
title_sort enabling efficient big data services on hpc systems with shmem-based programming stack
publisher Florida State University
url http://purl.flvc.org/fsu/fd/2019_Spring_Fu_fsu_0071E_14906
_version_ 1719291247217082368
spelling ndltd-fsu.edu-oai-fsu.digital.flvc.org-fsu_7097532019-11-15T03:36:32Z Enabling Efficient Big Data Services on HPC Systems with SHMEM-Based Programming Stack Fu, Huansong (author) Yu, Weikuan (Professor Directing Dissertation) Ye, Ming (University Representative) Duan, Zhenhai (Committee Member) Venkata, Manjunath Gorentla (Committee Member) Mascagni, Michael (Committee Member) Florida State University (degree granting institution) College of Arts and Sciences (degree granting college) Department of Computer Science (degree granting departmentdgg) Text text doctoral thesis Florida State University English eng 1 online resource (98 pages) computer application/pdf Thesis abstract With the continuous expansion of the Big Data universe, researchers have been relentlessly searching for ways to improve the efficiency of big data services, including data analytics and data infrastructures. In the meantime, there has also been an increasing interest to leverage High-performance Computing (HPC) capabilities for big data analytics. Symmetric Hierarchical Memory (SHMEM) is a popular parallel programming model thrived in the HPC realm. For many Partitioned Global Address Space (PGAS) systems and applications, SHMEM libraries are popularly used as a high-performance communication layer between the applications and underlying fast-speed interconnects. SHMEM features an one-sided communication interface. It allows remote data to be accessed in a shared-memory manner, in contrast to the conventional two-sided communication where remote data must be accessed through an explicit handshake protocol. We reveal that SHMEM offers a number of great benefits to develop parallel and distributed applications and frameworks on tightly-coupled, high-end HPC systems, such as its shared-memory style addressing model and the flexibility of its communication model. This dissertation focuses on improving the performance of big data services by leveraging a lightweight, flexible and balanced SHMEM-based programming stack. In order to realize this goal, we have studied some representative data infrastructure and data analytic framework. Specifically, key-value stores are a very popular form of data infrastructure deployed for many large-scale web services. Unfortunately, a key-value store usually adopts an inefficient communication design in a traditional server-client architecture, where the server can easily become a bottleneck in processing a huge amount of requests. Because of this, both latency and throughput can be seriously affected. Moreover, graph processing is an emerging type of data analytics that deals with large-scale graph data. Unsuitable for traditional MapReduce, graph analytic algorithms are often written and run with programming models that are specifically designed for graph processing. However, there is an imbalance issue in state-of-the-art graph processing programming model which has drastically affected the performance of graph processing. There is a critical need to revisit the conventional design of graph processing while the volume of real-world useful graph data keeps increasing everyday. Furthermore, although we reveal that a SHMEM-based programming stack helps solve the aforementioned issues, there is still a lack of understanding about how portable this stack can be for it to fit in with specific data infrastructure and framework being optimized and also other distributed systems in general. This includes to understand the potential performance gain or loss, limitations of usage, and portability on different platforms etc. This dissertation has centered around addressing these research challenges and carried out three studies, each tackling a unique challenge but all focusing on facilitating a SHMEM-based programming stack to enable and accelerate big data services. Firstly, we use a popular SHMEM standard called OpenSHMEM to build a high-performance key-value store called SHMEMCache, which overcomes several issues in enabling direct access to key-value pairs, including race conditions, remote point chasing and unawareness of remote access. We have then thoroughly evaluated SHMEMCache and shown that it has accomplished significant performance improvements over the other contemporary key-value stores, and also achieved good scalability over a thousand nodes on a leadership-class supercomputer. Secondly, to understand the implications in using various SHMEM model and one-sided communication library for big data services, we revisit the design of SHMEMCache and extend it with a portable communication interface and develop Portable-SHMEMCache. Portable-SHMEMCache is able to support a variety of one-sided communication libraries. Based on this new framework, we have supported both OpenSHMEM and MPI-RMA for SHMEMCache as proof-of-concept. We have conducted an extensive experimental analysis to evaluate the performance of Portable-SHMEMCache on two different platforms. Thirdly, we have thoroughly studied the issues existed in state-of-the-art graph processing frameworks. We have proposed salient design features to tackle their serious inefficiency and imbalance issues. The design features have been incorporated in a new graph processing framework called SHMEMGraph. Our comprehensive experiments for SHMEMGraph have demonstrated its significant performance advantages compared to state-of-the-art graph processing frameworks. This dissertation has pushed forward the big data evolution by enabling efficient representative data infrastructure and analytic frameworks on HPC systems with SHMEM-based programming models. The performance improvements compared to state-of-the-art frameworks have demonstrated the efficacy of our solution designs and the potential of leveraging HPC capabilities for big data. We believe that our work has better prepared contemporary data infrastructures and analytic frameworks for addressing the big data challenge. A Dissertation submitted to the Department of Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy. Fall Semester 2018. December 6, 2018. Graph Processing, Key-value Store, One-sided Communication, PGAS, SHMEM Includes bibliographical references. Weikuan Yu, Professor Directing Dissertation; Ming Ye, University Representative; Zhenhai Duan, Committee Member; Manjunath Gorentla Venkata, Committee Member; Michael Mascagni, Committee Member. Computer science 2019_Spring_Fu_fsu_0071E_14906 http://purl.flvc.org/fsu/fd/2019_Spring_Fu_fsu_0071E_14906 http://diginole.lib.fsu.edu/islandora/object/fsu%3A709753/datastream/TN/view/Enabling%20Efficient%20Big%20Data%20Services%20on%20HPC%20Systems%20with%20SHMEM-Based%20Programming%20Stack.jpg