JDap: Supporting in-memory data persistence in javascript using Intel's PMDK

Litong You, Hao Xu, Qipeng Zhang, Tianyou Li, Chen Li, Yuting Chen*, Linpeng Huang

*Kontaktforfatter

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningpeer review

3 Citationer (Scopus)

Abstract

Data persistence is a feature that the data needs to live longer than its creator. The state-of-the-art is in-memory data persistence, requiring data in the memory to be persistent even when the application crashes. So far in-memory data persistence has been supported in many programming languages such as C, C++, and Java. However, it has not yet been well supported in JavaScript, a popular scripting language for software development. To solve this problem, we introduce JDap, an extension to JavaScript's runtime and execution engine, to support in-memory data persistence in JavaScript using Intel's Persistent Memory Development Kit (PMDK). JDap consists of (1) a JavaScript persistent object pool that serves as a heap in which persistent objects can be created, managed, and accessed safely and consistently. In particular, this pool supports shared memory parallelism, allowing persistent data to be accessed in parallel; (2) a set of JavaScript APIs that provides programmers with supports in managing and accessing persistent data in an easy-to-use and safe manner. We have implemented JDap and evaluated it against two database-supported data persistence styles (MongoDB's object store and indexedDB's binary store) on micro-benchmarks and real-world applications. Our evaluation shows that JDap outperforms object store by 1.6 × and outperforms binary store by 24.6 × . We have also evaluated JDap against Extended Memory Semantics (EMS) on data-intensive tasks. The results show that JDap outperforms EMS by 2 ×.

OriginalsprogEngelsk
Artikelnummer101662
TidsskriftJournal of Systems Architecture
Vol/bind101
ISSN1383-7621
DOI
StatusUdgivet - dec. 2019

Fingeraftryk

Dyk ned i forskningsemnerne om 'JDap: Supporting in-memory data persistence in javascript using Intel's PMDK'. Sammen danner de et unikt fingeraftryk.

Citationsformater