  Serverless computing with cloud functions is quickly gaining adoption, but
constrains programmers with its limited support for state management. We
introduce a shared file system for cloud functions. It offers familiar POSIX
semantics while taking advantage of distinctive aspects of cloud functions to
achieve scalability and performance beyond what traditional shared file systems
can offer. We take advantage of the function-grained fault tolerance model of
cloud functions to proceed optimistically using local state, safe in the
knowledge that we can restart if cache reads or lock activity cannot be
reconciled upon commit. The boundaries of cloud functions provide implicit
commit and rollback points, giving us the flexibility to use transaction
processing techniques without changing the programming model or API. This
allows a variety of stateful sever-based applications to benefit from the
simplicity and scalability of serverless computing, often with little or no
modification.
