Function-as-a-service (FaaS) workflows implement application logic by interacting and exchanging data among a set of functions. Contemporary FaaS platforms execute each function of a workflow in separate containers, which contributes to latency. Faastlane minimizes function interaction latency by striving to execute functions of a workflow as threads within a single process of a container instance, easing data sharing via simple load/store instructions. Faastlane also provides lightweight thread-level isolation domains using Intel Memory Protection Keys to isolate sensitive data. While threads ease sharing, implementations of languages such as Python and Node.js disallow concurrent thread execution. Faastlane identifies opportunities for parallelism in FaaS workflows and forks processes or spawns new container instances to concurrently execute parallel functions of a workflow. Faastlane accelerates workflow instances by up to 15×, and reduces function interaction latency by up to 99.95% compared to OpenWhisk.
Swaroop Kotni, Ajay Nayak, Vinod Ganapathy, Arkaprava Basu, “Faastlane: Accelerating Function-as-a-Service Workflows”, Published in Proceedings of the 2021 USENIX Annual Technical Conference (USENIX ATC 2021), July 14-16, 2021.