SPMP: A javascript support for shared persistent memory on Node. js

0Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.
Get full text

Abstract

JavaScript is widely used for scripting on client side. Node.js is a JavaScript runtime environment, allowing Javascript to be used for building scalable network applications on server side. However, Node.js does not support parallel programming, making it difficult to enhance applications’ performance. Meanwhile, persistent memory (PM) shows optimistic prospects of being used in server-side applications, while few researches do exist in allowing script languages to support PM-based parallel programming. In this paper, we introduce SPMP, a JavaScript support for shared persistent memory on Node.js. With SPMP, each process needs to hold PersistentArrayBuffer, an object that is responsible for allocating, managing, and accessing persistent memory. Multiple processes can then share persistent memory and communicate each other by their PersistentArrayBuffer objects. Furthermore, SPMP supports dynamic load-balancing strategies and ensures data coherency, and also supports data persistence in a secondary storage. We have evaluated SPMP against Extended Memory Semantics (EMS, a state-of-the-art model for parallel programming on Node.js) on two data-intensive tasks. The results show that SPMP is 100 ~ 300× faster than EMS on five basic operations, and 2× faster on complicated parallel computing tasks such as counting words, due to its particular way on memory allocation and mapping.

Cite

CITATION STYLE

APA

Zhang, Q., Li, T., Deng, P., Chen, Y., Huang, L., & Rudoff, A. (2018). SPMP: A javascript support for shared persistent memory on Node. js. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 11335 LNCS, pp. 354–366). Springer Verlag. https://doi.org/10.1007/978-3-030-05054-2_28

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free