Towards Ubiquitous Serverless Computing: Fast Large-Scale Machine Learning and Optimal Pricing for the Cloud
Serverless computing platforms represent the fastest-growing segment of cloud services and are predicted to dominate the future of cloud computing. However, the real-world applications of serverless systems are somewhat constrained due to several inherent bottlenecks such as their stateless nature, frequent occurrence of stragglers, naive resource allocation and pricing of computing resources, etc. The broader aim of this dissertation is to propose techniques to mitigate such bottlenecks and make the use of serverless computing ubiquitous. In particular, we focus on four applications that relate to large-scale serverless computing and describe them as follows.
Total time for end-to-end distributed computation in such systems suffers due to a subset of slower workers, also referred to as stragglers. First, we propose straggler mitigation schemes for large-scale numerical linear algebra on serverless systems. Serverless systems allow users to massively scale the number of workers, but the total computation time is further exacerbated by high-communication latencies and the stateless nature of Function-as-a-Service (FaaS) platforms. Second, we further propose algorithms for large-scale convex optimization that are amenable to serverless systems. Recently, serverless computing --- due to its elasticity, scale, and ease of management --- has garnered significant traction from the industry and academia as a platform to train deep neural networks. Third, we further propose algorithms for massive scale non-convex optimization for training deep neural networks that take advantage of the scale of the serverless platform while mitigating communication costs. Finally, any ubiquitous platform is not viable until it serves the needs of the masses. In game-theoretic terms, a commercial platform should provide the required quality of services to customers while maximizing their utility (or satisfaction). Fourth, we propose principled yet practical schemes for allocating and pricing resources in serverless platforms.