🤖 AI Summary
In serverless computing, tight coupling between network I/O and computation leads to inefficient scheduling, resource underutilization, and inequitable “pay-per-effort” billing. To address this, we propose an I/O externalization architecture that fully delegates network I/O to the platform, enabling applications to express computation solely via deterministic procedures and declarative data dependencies—thereby strictly decoupling computation from data movement. Our key contributions include: (1) an end-to-end outsourced computation model; (2) a platform-level cooperative scheduling mechanism; and (3) transparent, automated I/O handling with environment isolation and output reference guarantees. Experiments demonstrate substantial reductions in task queuing time and network latency, alongside improved resource utilization and system throughput. Furthermore, large-scale deployment validates the feasibility and advantages of a “pay-per-result” service model enabled by this architecture.
📝 Abstract
We describe a system for serverless computing where users, programs,
and the underlying platform share a common representation of a
computation: a deterministic procedure, run in an environment
of well-specified data or the outputs of other computations. This
representation externalizes I/O: data movement over the network is
performed exclusively by the platform. Applications can describe the
precise data needed at each stage, helping the provider schedule
tasks and network transfers to reduce starvation. The design
suggests an end-to-end argument for outsourced computing, shifting
the service model from ``pay-for-effort'' to ``pay-for-results.''