DIRECT DATA-SNAPSHOTTING AND SNAPSHOT SHARING ACROSS CLOUD-NATIVE APPLICATIONS

eLibrary

 
 

DIRECT DATA-SNAPSHOTTING AND SNAPSHOT SHARING ACROSS CLOUD-NATIVE APPLICATIONS

Show full item record

Title: DIRECT DATA-SNAPSHOTTING AND SNAPSHOT SHARING ACROSS CLOUD-NATIVE APPLICATIONS
Author: Ristović, Ivan
Abstract: Cloud-computing platforms provide services to consumers through multiple serviceoffering models. Recent advances in these models have led to the emergence of serverless computing, or simply serverless, where infrastructure is managed by the service provider. Serverless is usually coupled with function-based programming model in which software systems are composed of reusable, lightweight units of code executed within isolated sandboxed environments. Major cloud-computing platforms, including Amazon Web Services (AWS), Microsoft Azure, and Google Cloud, report that a substantial proportion of their customers employ serverless solutions. Most cloud-computing providers employ a pay-as-you-go billing model. Inefficient utilization of computing resources, particularly CPU time and working memory, which constitute the most costly resources, leads to increased overall operational costs. Moreover, the requirement for resource isolation adversely affects initialization latency and results in additional CPU and working-memory overhead. Serverless sandboxes are typically deployed on top of heavyweight virtualization stacks that includeJava, JavaScript, or Python runtime environments with accompanying frameworks, further increasing working-memory consumption. Modern cloud-computing architectures use Checkpoint/Restore (abbr. c/r) techniques to freeze initialized sandboxes into a continuable form. Such techniques, in combination with cloud-native deployments, allow the virtualized environment to optimize resource consumption and share code and pre-initialized data across multiple sandboxes. However, such solutions either operate at application-build time to support data pre-initialization or sharing, or operate at execution time with limited sharing potential for data available during application execution. Such data is processed multiple times and duplicated in each sandbox. This dissertation presents Doss, a direct object snapshotting and sharing system that performs data c/r during application execution. Doss persists data directly, without transformations, into reusable and shareable snapshots. Direct snapshotting allows Doss to achieve near-constant data deserialization time, greatly improving initialization times and reducing CPU usage. Doss architecture enables snapshot sharing across application instances, eliminating the excess memory footprint associated with data re-processing and duplication. GraalDoss, a Doss implementation for Java, is integrated into the GraalVM ecosystem. GraalDoss is evaluated using 106 correctness and robustness tests and a novel set of cloudnative micro and macro benchmarks that exercise real-world scenarios. A comprehensive evaluation of GraalDoss shows a consistent near-constant data-deserialization overhead with serialization times comparable to state-of-the-art Java JSON and binary serialization libraries. GraalDoss reduces the memory footprint of web API microservice caches by sharing populated cache snapshots across microservice instances, improving the overall density by 41% for 8 microservice instances and improving first-response times by 34%. In NLP applications, GraalDoss improves the pipeline execution times by six orders of magnitude by snapshotting pipeline results and subsequently loading the snapshots.
URI: http://hdl.handle.net/123456789/5786
Date: 2026-04

Files in this item

Files Size Format View
IvanRistovic_PhD_Dissertation.pdf 4.683Mb PDF View/Open

The following license files are associated with this item:

This item appears in the following Collection(s)

Show full item record