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 × .

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.