Litcius/Paper detail

On-demand-fork

Kaiyang Zhao, Sishuai Gong, Pedro Fonseca

202125 citationsDOIOpen Access PDF

Abstract

Fork has long been the process creation system call for Unix. At its inception, fork was hailed as an efficient system call due to its use of copy-on-write on memory shared between parent and child processes. However, application memory demand has increased drastically since the early days and the cost incurred by fork to simply set up virtual memory (e.g., copy page tables) is now a concern, even for applications that only require hundreds of MBs of memory. In practice, fork performance already holds back system efficiency and latency across a range of uses cases that fork large processes, such as fault-tolerant systems, serverless frameworks, and testing frameworks.

Topics & Concepts

Fork (system call)Computer scienceVirtual memoryOperating systemThrashingPage faultUnixDemand pagingMemory managementParallel computingSemiconductor memorySoftwareDistributed systems and fault toleranceParallel Computing and Optimization TechniquesAdvanced Data Storage Technologies