Browse Prior Art Database

Method to call cached functions effectively in serverless computing paradigm to reduce FaaS latency Disclosure Number: IPCOM000254459D
Publication Date: 2018-Jun-29
Document File: 3 page(s) / 39K

Publishing Venue

The Prior Art Database

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 43% of the total text.

Method to call cached functions effectively in serverless computing paradigm to reduce FaaS latency

Function-as-a-service (FaaS) or serverless computing is an event driven application design and deployment paradigm in which computing resources are provided as cloud services. Container startup latency is a key metric in serverless which essentially boils down to the duration taken by a FaaS function to respond to a request. While the serverless paradigm makes for intriguing development paradigm and promises to reduce cost drastically, it comes with the following infrastructure challenge: - How do you address the problem of high startup latency overhead of functions that are dynamically called and run inside a container. - How do you provide FaaS for an already cached function inside a data center. Function as a service, will lead to multiple container images being cached all across the data center at a given point in time. For newer workloads/user application, re-using the cached images will provide benefit w.r.t latency reduction (involved with downloading a fresh image etc). This creation, devises a methodology using which this can be achieved in a FaaS paradigm. Also, the call libraries running inside containers can be localized to the running user application dynamically without impacting performance. This can be achieved by observing call patterns and co-locating various such libraries on the same machine as the one executing the user application. With these in mind, following are the methods: 1. Localisation of library functions running inside containers called by a user application to make more efficient execution. 2. Remove latency involved with calling/creating a new library function running inside a container that's already cached in a data center. In serverless computing paradigm, a call library is one which encapsulates multiple related FaaS functions in a single unit. To avoid a centralized architecture, or, to avoid installing all the libraries on all the available machines (drawback of heavy maintenance, huge duplication, wastage of resources), the entire set of call libraries are distributed over individual machines in the cluster. This means we should have a mechanism to distribute the various libraries across the data center, instead of running them locally on the machine on which the user function is executed. An API gateway is responsible for routing each FaaS call to the respective library function. For example, if user application calls a function in the serverless paradigm, the request comes to the API gateway, which is responsible for serving the response back to the user.

In order to achieve low latency in response time for each function call, the API gateway, needs to maintain a state of the library functions and their respective locations. Each machine runs an agent and has a track of all the installed libraries on it. These agents are registered with the API gateway and hence, can communicate with it, two and fro. A...