SONIC: Application-aware Data Passing for Chained Serverless Applications
Reading group: Sahar Boussoukaya presented "SONIC: Application-aware Data Passing for Chained Serverless Applications" (Usenix ATC'21) at 1D19 the 25/11/2022 at 10h00.
Data analytics applications are increasingly leveraging serverless execution environments for their ease-of-use and pay-as-you-go billing. Increasingly, such applications are composed of multiple functions arranged in some workflow. However, the current approach of exchanging intermediate (ephemeral) data between functions through remote storage (such as S3) introduces significant performance overhead. We show that there are three alternative data-passing methods, which we call VM-Storage, Direct-Passing, and state-ofpractice Remote-Storage. Crucially, we show that no single data-passing method prevails under all scenarios and the optimal choice depends on dynamic factors such as the size of input data, the size of intermediate data, the application’s degree of parallelism, and network bandwidth. We propose SONIC, a data-passing manager that optimizes application performance and cost, by transparently selecting the optimal datapassing method for each edge of a serverless workflow DAG and implementing communication-aware function placement. SONIC monitors application parameters and uses simple regression models to adapt its hybrid data passing accordingly. We integrate SONIC with OpenLambda and evaluate the system on Amazon EC2 with three analytics applications, popular in the serverless environment. SONIC provides lower latency (raw performance) and higher performance/$ across diverse conditions, compared to four different baselines: SAND [UsenixATC-18], Vanilla OpenLambda [HotCloud-16], OpenLambda integrated with Pocket [OSDI-18], and AWS Lambda (state of practice).