Litcius/Paper detail

Pronghorn: Effective Checkpoint Orchestration for Serverless Hot-Starts

Sumer Kohli, Shreyas Kharbanda, Rodrigo Bruno, João Carreira, Pedro Fonseca

202412 citationsDOIOpen Access PDF

Abstract

Serverless computing allows developers to deploy and scale stateless functions in ephemeral workers easily. As a result, serverless computing has been widely used for many applications, such as computer vision, video processing, and HTML generation. However, we find that the stateless nature of serverless computing wastes many of the important benefits modern language runtimes have to offer. A notable example is the extensive profiling and Just-in-Time (JIT) compilation effort that runtimes implement to achieve acceptable performance of popular high-level languages, such as Java, JavaScript, and Python. Unfortunately, when modern language runtimes are naively adopted in serverless computing, all of these efforts are lost upon worker eviction. Checkpoint-restore methods alleviate the problem by resuming workers from snapshots taken after initialization. However, production-grade language runtimes can take up to thousands of invocations to fully optimize a single function, thus rendering naive checkpoint-restore policies ineffective.

Topics & Concepts

Computer scienceStateless protocolJavaScriptRendering (computer graphics)Python (programming language)Programming languageDistributed computingOperating systemArtificial intelligenceState (computer science)Cloud Computing and Resource ManagementDistributed systems and fault toleranceSecurity and Verification in Computing